# Bat overview page
bat.admin:
  path: '/admin/bat'
  defaults:
    _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
    _title: 'Bat'
  requirements:
    _permission: 'access administration pages'

bat.admin.config:
  path: '/admin/bat/config'
  defaults:
    _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage'
    _title: 'Configuration'
  requirements:
    _permission: 'access administration pages'

# Type Group routing definition
entity.bat_type_group.canonical:
  path: '/admin/bat/config/type-group/{bat_type_group}'
  defaults:
    _entity_view: 'bat_type_group'
    _title: 'Type Group'
  requirements:
    _entity_access: 'bat_type_group.view'

entity.bat_type_group.collection:
  path: '/admin/bat/config/type-group'
  defaults:
    _entity_list: 'bat_type_group'
    _title: 'Type Group list'
  requirements:
    _permission: 'view any bat_type_group entity'

entity.bat_type_group.add_page:
  path: '/admin/bat/config/type-group/add'
  defaults:
    _title: 'Add Type Group'
    _controller: '\Drupal\bat\Controller\TypeGroupController::addPage'
  requirements:
    _group_type_add_access: 'bat_type_group'
  options:
    _admin_route: TRUE

entity.bat_type_group.add_form:
  path: '/admin/bat/config/type-group/add/{type_group_bundle}'
  defaults:
    _controller: '\Drupal\bat\Controller\TypeGroupController::add'
    _title_callback: '\Drupal\bat\Controller\TypeGroupController::addPageTitle'
  requirements:
    _group_type_add_access: 'bat_type_group:{type_group_bundle}'
  options:
    _admin_route: TRUE
    parameters:
      type_group_bundle:
        type: entity:bat_type_group_bundle
        with_config_overrides: TRUE

entity.bat_type_group.edit_form:
  path: '/admin/bat/config/type-group/{bat_type_group}/edit'
  defaults:
    _entity_form: bat_type_group.edit
    _title: 'Edit Type Group'
  requirements:
    _entity_access: 'bat_type_group.update'

entity.bat_type_group.delete_form:
  path: '/admin/bat/config/type-group/{bat_type_group}/delete'
  defaults:
    _entity_form: bat_type_group.delete
    _title: 'Delete Type Group'
  requirements:
    _entity_access: 'bat_type_group.delete'

entity.bat_type_group_bundle.collection:
  path: '/admin/bat/config/group-types'
  defaults:
    _entity_list: 'bat_type_group_bundle'
    _title: 'Type Group Bundles list'
  requirements:
    _permission: 'administer bat_type_group_bundle entities'
  options:
    _admin_route: TRUE

entity.bat_type_group_bundle.type_add:
  path: '/admin/bat/config/group-types/add'
  defaults:
    _entity_form: 'bat_type_group_bundle.add'
    _title: 'Add type group bundle'
  requirements:
    _permission: 'administer bat_type_group_bundle entities'

entity.bat_type_group_bundle.edit_form:
  path: '/admin/bat/config/group-types/{bat_type_group_bundle}/edit'
  defaults:
    _entity_form: bat_type_group_bundle.edit
    _title: 'Edit type group bundle'
  requirements:
    _permission: 'administer bat_type_group_bundle entities'
  options:
    _admin_route: TRUE

entity.bat_type_group_bundle.delete_form:
  path: '/admin/bat/config/group-types/{bat_type_group_bundle}/delete'
  defaults:
    _entity_form: 'bat_type_group_bundle.delete'
    _title: 'Delete'
  requirements:
    _permission: 'administer bat_type_group_bundle entities'

bat.admin.date_format:
  path: '/admin/bat/config/date-format'
  defaults:
    _form: '\Drupal\bat\Form\DateFormatForm'
    _title: 'Date format'
  requirements:
    _permission: 'configure bat settings'
