# Sunshine Admin Bundle

## Documentation

This documentation is available with a lot of features on : \
<https://sunshine-team.gitbook.io/sunshineadminbundle/>

### Requierements

| PHP     | 7.0 or later                   |
| ------- | ------------------------------ |
| Symfony | 3.4 or later. SF4 recommended. |

The bundle provides two different level :

* **Entities management** : Very simple to setup, it makes possible to handle CRUD actions very easily.
* **Pages** and **widgets** management : Makes possible for user to go a step further and customize the backoffice application.

### Let's play

* [Setup in your project](https://sunshine-team.gitbook.io/sunshineadminbundle/setup)
* [Theme Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/theme-configuration)

### Entities Management

* [YAML Entity description](https://sunshine-team.gitbook.io/sunshineadminbundle/yaml-entity-configuration)
* [Field types and overrides](https://sunshine-team.gitbook.io/sunshineadminbundle/field-type-and-overrides)
* [Entity Relations](https://sunshine-team.gitbook.io/sunshineadminbundle/entity-relations)

### Pages, Widget and menu

* [Menu Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration)
  * [Type : section](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration#type-:-section)
  * [Type : submenu](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration#type-:-submenu)
  * [Type : list](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration#type-:-sunshine-list)
  * [Type : page](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration)
  * [Type : route](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration#type-:-route)
  * [Type : external page](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration#type-:-external-page)
  * [Roles & Permissions](https://sunshine-team.gitbook.io/sunshineadminbundle/menu-configuration#roles-and-permissions-configuration)
* [Theme configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/theme-configuration)
* [Page configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page)
  * [YAML Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page#yaml-definition)
  * [Conventions](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page#conventions)
  * [Title & Description ](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page#title-and-description)
  * [Using widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page#using-widgets)
* [Widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled)
  * [YAML Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#yaml-configuration)
  * [Service class creation](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#service-class-creation)
  * [The Twig view](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#view-creation)
  * [MessageBag Bus](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#messagebag-send-informations-to-widget)
  * [Using forms](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#forms-inside-a-widget)
  * [Redirect and Forward response](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#redirect-to-current-route)
* [Creation of a new Page with widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page)
  * [YAML Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page#yaml-definition)
  * [Using Widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/creating-a-page#using-widgets)
* [Creating Widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled)
  * [YAML Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#yaml-configuration)
  * [Service class creation](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#service-class-creation)
  * [The View](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#view-creation)
  * [The messageBag](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#messagebag-send-informations-to-widget)
  * [Using Forms in widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#forms-inside-a-widget)
  * [Redirect to current route](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#redirect-to-current-route)
  * [Using services in widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/untitled#how-to-inject-services-in-widget-service)

### Crud Widget

* [Generic Widget : List](https://sunshine-team.gitbook.io/sunshineadminbundle/generic-widgets)
  * [YAML Configuration](https://sunshine-team.gitbook.io/sunshineadminbundle/generic-widgets#yaml-configuration)
  * [Configuration Inheritance & Overrides](https://sunshine-team.gitbook.io/sunshineadminbundle/generic-widgets#configuration-inheritance)
  * [Preset values for Filters](https://sunshine-team.gitbook.io/sunshineadminbundle/generic-widgets#override-list-and-filters)
  * [Add/Remove columns or filters](https://sunshine-team.gitbook.io/sunshineadminbundle/generic-widgets#configuration-inheritance)
  * [Configure a datasource for a filter](https://sunshine-team.gitbook.io/sunshineadminbundle/filtering-custom-values-in-select2-lists)

### Security and Roles

* Enabling Authentication
* [Filtering by user role](https://sunshine-team.gitbook.io/sunshineadminbundle/roles-and-permissions)
  * [Widgets](https://sunshine-team.gitbook.io/sunshineadminbundle/roles-and-permissions#widget)
  * [Menu](https://sunshine-team.gitbook.io/sunshineadminbundle/roles-and-permissions#menu)
  * [Pages](https://sunshine-team.gitbook.io/sunshineadminbundle/roles-and-permissions#page)

### Filtering List

* [Default filter value](https://sunshine-team.gitbook.io/sunshineadminbundle/filtering-default-values)
* [Multiple filter values](https://sunshine-team.gitbook.io/sunshineadminbundle/filtering-options-multiple)

### Ordered list

* How to order lists
