You are here

course.routing.yml in Course 3.x

Same filename and directory in other branches
  1. 8.3 course.routing.yml
  2. 8.2 course.routing.yml

File

course.routing.yml
View source
  1. # Landing page for course outline.
  2. course.outline:
  3. path: 'course/{course}/outline'
  4. defaults:
  5. _form: '\Drupal\course\Form\CourseOutlineForm'
  6. _title: 'Course outline'
  7. requirements:
  8. _entity_access: 'course.update'
  9. options:
  10. _admin_route: TRUE
  11. parameters:
  12. course:
  13. type: 'entity:course'
  14. # Landing page for course completion.
  15. course.complete:
  16. path: 'course/{course}/complete'
  17. defaults:
  18. _controller: '\Drupal\course\Controller\CourseController::renderComplete'
  19. _title: 'Course complete'
  20. options:
  21. parameters:
  22. course:
  23. type: 'entity:course'
  24. requirements:
  25. _custom_access: '\Drupal\course\Controller\CourseController::completionAccess'
  26. # Take course tab.
  27. course.take:
  28. path: 'course/{course}/take'
  29. defaults:
  30. _controller: '\Drupal\course\Controller\CourseController::rendertake'
  31. _title: 'Take course'
  32. requirements:
  33. # Access is handled in the controller.
  34. _access: 'TRUE'
  35. options:
  36. parameters:
  37. course:
  38. type: 'entity:course'
  39. # Reports page listing each course object.
  40. course.reports.objects:
  41. path: 'course/{course}/enrollments/objects'
  42. defaults:
  43. _controller: '\Drupal\course\Controller\CourseReportController::objectReports'
  44. _title: 'Course object reports'
  45. requirements:
  46. _entity_access: 'course.report'
  47. options:
  48. _admin_route: TRUE
  49. parameters:
  50. course:
  51. type: 'entity:course'
  52. # Reports page, single report
  53. course.reports.objects.report:
  54. path: 'course/{course}/enrollments/objects/{course_object}/{report}'
  55. defaults:
  56. _controller: '\Drupal\course\Controller\CourseReportController::objectReport'
  57. _title: 'Course object reports'
  58. requirements:
  59. _entity_access: 'course.report'
  60. options:
  61. _admin_route: TRUE
  62. parameters:
  63. course:
  64. type: 'entity:course'
  65. course_object:
  66. type: 'entity:course_object'
  67. report:
  68. type: 'string'
  69. # Global report area.
  70. course.admin.reports:
  71. path: 'admin/reports/course'
  72. defaults:
  73. _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
  74. _title: 'Course reports'
  75. requirements:
  76. _permission: 'access all course reports'
  77. # Course object take.
  78. course.object:
  79. path: 'course/{course}/object/{course_object}'
  80. defaults:
  81. _controller: '\Drupal\course\Controller\CourseObjectController::render'
  82. _title_callback: '\Drupal\course\Controller\CourseObjectController::getTitle'
  83. requirements:
  84. _entity_access: 'course_object.take'
  85. options:
  86. parameters:
  87. course:
  88. type: 'entity:course'
  89. course_object:
  90. type: 'entity:course_object'
  91. # Course object edit.
  92. course.object.options:
  93. path: 'course/{course}/object/{course_object}/options'
  94. defaults:
  95. _form: '\Drupal\course\Form\CourseObjectForm'
  96. _title: 'Course object settings'
  97. requirements:
  98. _entity_access: 'course.update'
  99. options:
  100. _admin_route: TRUE
  101. parameters:
  102. course:
  103. type: 'entity:course'
  104. course_object:
  105. # This is not an entity because it may be a temporary ID.
  106. type: 'course_object'
  107. # Course object restore.
  108. course.object.restore:
  109. path: 'course/{course}/object/{course_object}/restore'
  110. defaults:
  111. _controller: '\Drupal\course\Controller\CourseObjectController::restoreObject'
  112. _title: 'Restore object'
  113. requirements:
  114. _entity_access: 'course.update'
  115. options:
  116. parameters:
  117. course:
  118. type: 'entity:course'
  119. course_object:
  120. # This is not an entity because it may be a temporary ID.
  121. type: 'course_object'
  122. course.admin:
  123. path: '/admin/course'
  124. defaults:
  125. _controller: '\Drupal\course\Controller\CourseAdminController::overview'
  126. _title: 'Course'
  127. requirements:
  128. _permission: 'access course administration area'
  129. # Admin block routes
  130. course.admin.config:
  131. path: '/admin/course/config'
  132. defaults:
  133. _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
  134. _title: 'Configuration'
  135. requirements:
  136. _permission: 'administer course'
  137. course.admin.manage:
  138. path: '/admin/course/manage'
  139. defaults:
  140. _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
  141. _title: 'Courses'
  142. requirements:
  143. _permission: 'administer courses'
  144. course.admin.structure:
  145. path: '/admin/course/config/structure'
  146. defaults:
  147. _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
  148. _title: 'Structure'
  149. requirements:
  150. _permission: 'administer course'
  151. course.appearance_settings_form:
  152. path: '/admin/course/appearance'
  153. defaults:
  154. _form: '\Drupal\course\Form\CourseAppearanceSettingsForm'
  155. _title: 'Course appearance settings'
  156. requirements:
  157. _permission: 'administer course'
  158. course.object_settings_form:
  159. path: '/admin/course/object'
  160. defaults:
  161. _form: '\Drupal\course\Form\CourseObjectSettingsForm'
  162. _title: 'Course object settings'
  163. requirements:
  164. _permission: 'administer course'
  165. course.enrollment_settings_form:
  166. path: '/admin/course/enrollment'
  167. defaults:
  168. _form: '\Drupal\course\Form\CourseEnrollmentSettingsForm'
  169. _title: 'Course enrollment settings'
  170. requirements:
  171. _permission: 'administer course'
  172. course.manage:
  173. path: '/course/{course}/settings'
  174. defaults:
  175. _form: '\Drupal\course\Form\CourseManageForm'
  176. requirements:
  177. _entity_access: 'course.update'
  178. options:
  179. _admin_route: TRUE
  180. parameters:
  181. course:
  182. type: 'entity:course'