Topics
- OroUIBundle (adding placeholders)
- OroGridBundle (extending grid, using listeners)
- adding widgets
- Twig extensions
Changes
src/Acme/Bundle/TaskBundle
Controller
TaskController (updated, added assignedTasksAction, added assigneeId to createAction)
EventListener
Datagrid
AssignedTasksListener (created)
Resources
config
datagrid.yml (updated, added assigned tasks grid)
placeholders.yml (created)
services.yml (updated, added new services)
views
Task
widget
assignedTasks.html.twig (created)
assignedTasks.html.twig (created)
Twig
TaskExtension (created)
- Update Acme/Bundle/TaskBundle/Resources/config/datagrid.yml and add acme_task_assigned_tasks_grid
acme_task_assigned_tasks_grid:
extend: acme_task_grid
source:
query:
where:
and:
- task.assignee = :assigneeId
-
Add Acme\Bundle\TaskBundle\EventListener\Datagrid\AssignedTasksListener and update services.yml
-
Add placeholder in Acme/Bundle/TaskBundle/Resources/config/placeholders.yml
placeholders:
oro_user_view_additional_data:
items:
acme_task_assigned_tasks:
order: 50
items:
acme_task_assigned_tasks:
template: AcmeTaskBundle:Task:assignedTasks.html.twig
-
Add template Acme/Bundle/TaskBundle/Resources/views/Task/assignedTasks.html.twig with content of placeholder
-
Add controller action Acme/Bundle/TaskBundle/Controller/TaskController::assignedTasks
-
Add template Acme/Bundle/TaskBundle/Resources/views/Task/widget/assignedTasks.html.twig with content of widget
-
Run command cache:clear
-
Add Acme\Bundle\TaskBundle\Twig\TaskExtension and update services.yml
-
Update Acme/Bundle/TaskBundle/Resources/config/placeholders.yml with placeholder of create buttons
placeholders:
view_navButtons_after:
items:
acme_task_create_user_task_button:
order: 50
items:
acme_task_create_user_task_button:
template: AcmeTaskBundle:Task:createUserTaskButton.html.twig
-
Run command cache:clear
-
Add Acme/Bundle/TaskBundle/Resources/views/Task/createUserTaskButton.html.twig
-
Update action Acme/Bundle/TaskBundle/Controller/TaskController::createAction to use assigneeId
-
Go to user view page and check "Create task" button