Commit a153f859 authored by xiaohua guan's avatar xiaohua guan Committed by Yas Naoi
Browse files

Issue #3314252 by Xiaohua Guan, yas: Create entity type OpenStack Router

parent 156a0c55
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1576,3 +1576,10 @@ function openstack_update_8269() {

  drupal_flush_all_caches();
}

/**
 * Add entity type openstack_router.
 */
function openstack_update_8270() {
  openstack_add_entity_type('openstack_router');
}
+28 −0
Original line number Diff line number Diff line
@@ -349,3 +349,31 @@ edit own openstack port:
delete own openstack port:
  title: 'Delete own OpenStack port'
  description: 'Allow users to delete own port.'

####################
# Routers
####################
add openstack router:
  title: 'Add OpenStack router'
  description: 'Allow users to add router.'
list openstack router:
  title: 'List OpenStack router'
  description: 'Allow users to list router.'
view any openstack router:
  title: 'View any OpenStack router'
  description: 'Allow users to view any router.'
edit any openstack router:
  title: 'Edit any OpenStack router'
  description: 'Allow users to edit any router.'
delete any openstack router:
  title: 'Delete any OpenStack router'
  description: 'Allow users to delete any router.'
view own openstack router:
  title: 'View own OpenStack router'
  description: 'Allow users to view own router.'
edit own openstack router:
  title: 'Edit own OpenStack router'
  description: 'Allow users to edit own router.'
delete own openstack router:
  title: 'Delete own OpenStack router'
  description: 'Allow users to delete own router.'
+33 −0
Original line number Diff line number Diff line
@@ -1132,3 +1132,36 @@ entity.openstack_port.list_update.all:
    _custom_access: '\Drupal\cloud\Controller\CloudConfigController::checkAccessForUpdateAll'
  options:
    entity_type: 'openstack_port'

# OpenStack routers routes.
entity.openstack_router.add_form:
  path: '/clouds/openstack/{cloud_context}/router/add'
  defaults:
    _entity_form: 'openstack_router.add'
    _title: 'Add OpenStack router'
  requirements:
    # Use custom access that will check for cloud_context and the desired permission.
    # Desired permission is passed as an option in the "perm" variable
    _custom_access: '\Drupal\cloud\Controller\CloudConfigController::access'
  options:
    perm: 'add openstack router'

entity.openstack_router.list_update:
  path: '/clouds/openstack/{cloud_context}/router/update'
  defaults:
    _controller: '\Drupal\openstack\Controller\ApiController::updateRouterList'
  requirements:
    # Use custom access that will check for cloud_context and the desired permission.
    # Desired permission is passed as an option in the "perm" variable
    _custom_access: '\Drupal\cloud\Controller\CloudConfigController::access'
  options:
    perm: 'edit any openstack router+edit own openstack router'

entity.openstack_router.list_update.all:
  path: '/clouds/openstack/router/update'
  defaults:
    _controller: '\Drupal\openstack\Controller\ApiController::updateRouterList'
  requirements:
    _custom_access: '\Drupal\cloud\Controller\CloudConfigController::checkAccessForUpdateAll'
  options:
    entity_type: 'openstack_router'
+7 −0
Original line number Diff line number Diff line
@@ -282,6 +282,13 @@ class ApiController extends ControllerBase implements ApiControllerInterface {
    return $this->updateResourceList('openstack_port', $cloud_context);
  }

  /**
   * {@inheritdoc}
   */
  public function updateRouterList($cloud_context = ''): RedirectResponse {
    return $this->updateResourceList('openstack_router', $cloud_context);
  }

  /**
   * {@inheritdoc}
   */
+11 −0
Original line number Diff line number Diff line
@@ -121,6 +121,17 @@ interface ApiControllerInterface {
   */
  public function updatePortList($cloud_context): RedirectResponse;

  /**
   * Update all routers in particular cloud region.
   *
   * @param string $cloud_context
   *   Cloud context string.
   *
   * @return \Symfony\Component\HttpFoundation\RedirectResponse
   *   A redirect response object that may be returned by the controller.
   */
  public function updateRouterList($cloud_context): RedirectResponse;

  /**
   * Update all Floating IPs in particular cloud region.
   *
Loading