Procházet zdrojové kódy

FD3-495 FD3-511 fix cambio tenencia

Espinoza Guillermo před 7 roky
rodič
revize
892df233a6

+ 2 - 0
app/config/config.yml

@@ -110,3 +110,5 @@ sonata_admin:
         user_block: BaseOAuthClientBundle:Core:oauth_user_block.html.twig
         list: BaseAdminBundle::standard_list.html.twig
     persist_filters: true
+    security:
+        handler: sonata.admin.security.handler.role

+ 57 - 0
app/config/roles.yml

@@ -0,0 +1,57 @@
+security:
+
+    role_hierarchy:
+
+        # STATS_DEVICE_SERVER
+        ROLE_SONATA_STATS_DEVICE_SERVER_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_DEVICE_SERVER_LIST, ROLE_SONATA_ADMIN_STATS_DEVICE_SERVER_VIEW]
+        ROLE_SONATA_STATS_DEVICE_SERVER_EDITOR: [ROLE_SONATA_STATS_DEVICE_SERVER_READER, ROLE_SONATA_ADMIN_STATS_DEVICE_SERVER_CREATE, ROLE_SONATA_ADMIN_STATS_DEVICE_SERVER_EDIT]
+        ROLE_SONATA_STATS_DEVICE_SERVER_ADMIN: [ROLE_SONATA_STATS_DEVICE_SERVER_EDITOR, ROLE_SONATA_ADMIN_STATS_DEVICE_SERVER_DELETE, ROLE_SONATA_ADMIN_STATS_DEVICE_SERVER_EXPORT]
+
+        # STATS_DEVICE
+        ROLE_SONATA_STATS_DEVICE_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_DEVICE_LIST, ROLE_SONATA_ADMIN_STATS_DEVICE_VIEW]
+        ROLE_SONATA_STATS_DEVICE_EDITOR: [ROLE_SONATA_STATS_DEVICE_READER, ROLE_SONATA_ADMIN_STATS_DEVICE_CREATE, ROLE_SONATA_ADMIN_STATS_DEVICE_EDIT]
+        ROLE_SONATA_STATS_DEVICE_ADMIN: [ROLE_SONATA_STATS_DEVICE_EDITOR, ROLE_SONATA_ADMIN_STATS_DEVICE_DELETE, ROLE_SONATA_ADMIN_STATS_DEVICE_EXPORT]
+
+        # STATS_ONU
+        ROLE_SONATA_STATS_ONU_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_ONU_LIST, ROLE_SONATA_ADMIN_STATS_ONU_VIEW]
+        ROLE_SONATA_STATS_ONU_EDITOR: [ROLE_SONATA_STATS_ONU_READER, ROLE_SONATA_ADMIN_STATS_ONU_CREATE, ROLE_SONATA_ADMIN_STATS_ONU_EDIT]
+        ROLE_SONATA_STATS_ONU_ADMIN: [ROLE_SONATA_STATS_ONU_EDITOR, ROLE_SONATA_ADMIN_STATS_ONU_DELETE, ROLE_SONATA_ADMIN_STATS_ONU_EXPORT]
+
+        # STATS_PON_PORT
+        ROLE_SONATA_STATS_PON_PORT_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_PON_PORT_LIST, ROLE_SONATA_ADMIN_STATS_PON_PORT_VIEW]
+        ROLE_SONATA_STATS_PON_PORT_EDITOR: [ROLE_SONATA_STATS_PON_PORT_READER, ROLE_SONATA_ADMIN_STATS_PON_PORT_CREATE, ROLE_SONATA_ADMIN_STATS_PON_PORT_EDIT]
+        ROLE_SONATA_STATS_PON_PORT_ADMIN: [ROLE_SONATA_STATS_PON_PORT_EDITOR, ROLE_SONATA_ADMIN_STATS_PON_PORT_DELETE, ROLE_SONATA_ADMIN_STATS_PON_PORT_EXPORT]
+
+        # STATS_OLT
+        ROLE_SONATA_STATS_OLT_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_OLT_LIST, ROLE_SONATA_ADMIN_STATS_OLT_VIEW]
+        ROLE_SONATA_STATS_OLT_EDITOR: [ROLE_SONATA_STATS_OLT_READER, ROLE_SONATA_ADMIN_STATS_OLT_CREATE, ROLE_SONATA_ADMIN_STATS_OLT_EDIT]
+        ROLE_SONATA_STATS_OLT_ADMIN: [ROLE_SONATA_STATS_OLT_EDITOR, ROLE_SONATA_ADMIN_STATS_OLT_DELETE, ROLE_SONATA_ADMIN_STATS_OLT_EXPORT]
+
+        # STATS_CABLEMODEM
+        ROLE_SONATA_STATS_CABLEMODEM_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_CABLEMODEM_LIST, ROLE_SONATA_ADMIN_STATS_CABLEMODEM_VIEW]
+        ROLE_SONATA_STATS_CABLEMODEM_EDITOR: [ROLE_SONATA_STATS_CABLEMODEM_READER, ROLE_SONATA_ADMIN_STATS_CABLEMODEM_CREATE, ROLE_SONATA_ADMIN_STATS_CABLEMODEM_EDIT]
+        ROLE_SONATA_STATS_CABLEMODEM_ADMIN: [ROLE_SONATA_STATS_CABLEMODEM_EDITOR, ROLE_SONATA_ADMIN_STATS_CABLEMODEM_DELETE, ROLE_SONATA_ADMIN_STATS_CABLEMODEM_EXPORT]
+
+        # STATS_CMTS_INTERFACE
+        ROLE_SONATA_STATS_CMTS_INTERFACE_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_CMTS_INTERFACE_LIST, ROLE_SONATA_ADMIN_STATS_CMTS_INTERFACE_VIEW]
+        ROLE_SONATA_STATS_CMTS_INTERFACE_EDITOR: [ROLE_SONATA_STATS_CMTS_INTERFACE_READER, ROLE_SONATA_ADMIN_STATS_CMTS_INTERFACE_CREATE, ROLE_SONATA_ADMIN_STATS_CMTS_INTERFACE_EDIT]
+        ROLE_SONATA_STATS_CMTS_INTERFACE_ADMIN: [ROLE_SONATA_STATS_CMTS_INTERFACE_EDITOR, ROLE_SONATA_ADMIN_STATS_CMTS_INTERFACE_DELETE, ROLE_SONATA_ADMIN_STATS_CMTS_INTERFACE_EXPORT]
+
+        # STATS_CMTS
+        ROLE_SONATA_STATS_CMTS_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_STATS_CMTS_LIST, ROLE_SONATA_ADMIN_STATS_CMTS_VIEW]
+        ROLE_SONATA_STATS_CMTS_EDITOR: [ROLE_SONATA_STATS_CMTS_READER, ROLE_SONATA_ADMIN_STATS_CMTS_CREATE, ROLE_SONATA_ADMIN_STATS_CMTS_EDIT]
+        ROLE_SONATA_STATS_CMTS_ADMIN: [ROLE_SONATA_STATS_CMTS_EDITOR, ROLE_SONATA_ADMIN_STATS_CMTS_DELETE, ROLE_SONATA_ADMIN_STATS_CMTS_EXPORT]
+
+        # WORKFLOW
+        ROLE_SONATA_WORKFLOW_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_WORKFLOW_LIST, ROLE_SONATA_ADMIN_WORKFLOW_VIEW]
+        ROLE_SONATA_WORKFLOW_EDITOR: [ROLE_SONATA_WORKFLOW_READER, ROLE_SONATA_ADMIN_WORKFLOW_CREATE, ROLE_SONATA_ADMIN_WORKFLOW_EDIT]
+        ROLE_SONATA_WORKFLOW_ADMIN: [ROLE_SONATA_WORKFLOW_EDITOR, ROLE_SONATA_ADMIN_WORKFLOW_DELETE, ROLE_SONATA_ADMIN_WORKFLOW_EXPORT]
+
+        # ACTION
+        ROLE_SONATA_ACTION_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_ACTION_LIST, ROLE_SONATA_ADMIN_ACTION_VIEW]
+        ROLE_SONATA_ACTION_EDITOR: [ROLE_SONATA_ACTION_READER, ROLE_SONATA_ADMIN_ACTION_CREATE, ROLE_SONATA_ADMIN_ACTION_EDIT]
+        ROLE_SONATA_ACTION_ADMIN: [ROLE_SONATA_ACTION_EDITOR, ROLE_SONATA_ADMIN_ACTION_DELETE, ROLE_SONATA_ADMIN_ACTION_EXPORT]
+
+        ROLE_ADMIN_TENANCIES: ROLE_ADMIN_TENANCIES
+        ROLE_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN]
+        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_USER_CREATE, ROLE_ADMIN_TENANCIES, ROLE_ALLOWED_TO_SWITCH]

+ 9 - 10
app/config/security.yml

@@ -1,13 +1,12 @@
+imports:
+    - { resource: roles.yml }
+
 security:
-    
+
     providers:
         oauth:
             id: base_oauth_bundle.oauth_user_provider
     
-    role_hierarchy:
-        ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH]
-        ROLE_SUPER_ADMIN: ROLE_ADMIN
-            
     firewalls:
         dev:
             # es una llave que se utiliza para guardar y traer los datos de la session. Los firewalls que posean
@@ -16,7 +15,7 @@ security:
             stateless: false
             pattern: ^/(_(profiler|wdt)|css|images|js)/
             security: false
-        
+
         api:
             # es una llave que se utiliza para guardar y traer los datos de la session. Los firewalls que posean
             # el mismo context, van a compartir la informacion. PARA QUE FUNCION "stateless" debe estar en FALSE
@@ -25,7 +24,7 @@ security:
             pattern: ^/api
             stateless: true
             oauth_proxy: true
-            
+
         secured_area:
             # es una llave que se utiliza para guardar y traer los datos de la session. Los firewalls que posean
             # el mismo context, van a compartir la informacion. PARA QUE FUNCION "stateless" debe estar en FALSE
@@ -37,7 +36,7 @@ security:
                 target: /
                 success_handler: base_admin.security.logout.handler
             anonymous: true
-            
+
             # HWIOAuthBundle + BaseOAuthBundle Configuration
             oauth:
                 login_path: /login
@@ -47,8 +46,8 @@ security:
                     login: /login_check
                 oauth_user_provider:
                     service: base_oauth_bundle.oauth_user_provider
-                    
+
     access_control:
         - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
         - { path: ^/admin/, role: ROLE_ADMIN }
-        - { path: ^/api, role: ROLE_USER }
+        - { path: ^/api, role: ROLE_USER }

+ 1 - 1
composer.json

@@ -186,7 +186,7 @@
         "jdorn/sql-formatter": "~1.2.17",
         "ik/audit-bundle": "v0.2.4",
         "ik/auth-bundle": "v0.2.4",
-        "ik/base-admin-bundle": "v0.2.4",
+        "ik/base-admin-bundle": "dev-master",
         "ik/device-bundle": "v0.2.4",
         "ik/extra-data-bundle": "v0.2.4",
         "ik/leaflet-bundle": "v0.2.4",

+ 5 - 4
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "8af21dbf77a8b0a9cf9d705db1d421e7",
+    "content-hash": "fe4d98fda09cf883a6cf3ba83926a1e2",
     "packages": [
         {
             "name": "behat/transliterator",
@@ -1413,11 +1413,11 @@
         },
         {
             "name": "ik/base-admin-bundle",
-            "version": "v0.2.4",
+            "version": "dev-master",
             "source": {
                 "type": "git",
                 "url": "ssh://git@infra.flowdat.com:222/VendorSoftwareFlowdat3/BaseAdmin.git",
-                "reference": "807fa103f9a0e7d0e22f490de61e1d96645822bc"
+                "reference": "0456c67f0aca5150d7e3d0cdf6979044efd90781"
             },
             "type": "library",
             "autoload": {
@@ -1432,7 +1432,7 @@
                 "bootstrap",
                 "sonata"
             ],
-            "time": "2018-02-26T17:55:49+00:00"
+            "time": "2018-04-10T11:47:25+00:00"
         },
         {
             "name": "ik/device-bundle",
@@ -6480,6 +6480,7 @@
     ],
     "minimum-stability": "stable",
     "stability-flags": {
+        "ik/base-admin-bundle": 20,
         "opensolutions/oss-snmp": 20,
         "sonata-project/admin-bundle": 20,
         "voryx/restgeneratorbundle": 20

+ 23 - 23
src/StatsBundle/Resources/config/services.yml

@@ -1,81 +1,81 @@
 services:
-    
-    stats.admin.device_server:
+
+    sonata.admin.stats.device_server:
         class: StatsBundle\Admin\DeviceServerAdmin
         arguments: [~, StatsBundle\Entity\DeviceServer, SonataAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: Stats, label: DeviceServer, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
 
-    stats.admin.device:
+    sonata.admin.stats.device:
         class: StatsBundle\Admin\DeviceAdmin
         arguments: [~, StatsBundle\Entity\Device, SonataAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: Stats, label: Device, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
             - [setTemplate, ['show','StatsBundle:Device:show.html.twig']]
 
     stats.device.manager:
         class: StatsBundle\Services\DeviceManager
         arguments: ['@doctrine.orm.entity_manager','@validator','@webservice']
-    
-    stats.admin.onu:
+
+    sonata.admin.stats.onu:
         class: StatsBundle\Admin\OnuAdmin
         arguments: [~, StatsBundle\Entity\Onu, StatsBundle:OnuCRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: List, label: ONU, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
             - [setTemplate, ['show','StatsBundle:Onu:base_show.html.twig']]
             - [setTemplate, ['outer_list_rows_list','StatsBundle:Templates:list_outer_rows_list.html.twig']]
-    
-    stats.admin.pon_port:
+
+    sonata.admin.stats.pon_port:
         class: StatsBundle\Admin\PonPortAdmin
         arguments: [~, StatsBundle\Entity\PonPort, SonataAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: List, label: PonPort, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
             - [setTemplate, ['show','StatsBundle:PonPort:base_show.html.twig']]
             - [setTemplate, ['list','StatsBundle:PonPort:base_list.html.twig']]
-    
+
     stats.report.manager:
         class: StatsBundle\Services\ReportManager
         arguments: ['@doctrine.orm.entity_manager','@validator','@webservice']
 
-    stats.admin.olt:
+    sonata.admin.stats.olt:
         class: StatsBundle\Admin\OltAdmin
         arguments: [~, StatsBundle\Entity\Device, SonataAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: List, label: OLT, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
-            
-    stats.admin.cablemodem:
+
+    sonata.admin.stats.cablemodem:
         class: StatsBundle\Admin\CablemodemAdmin
         arguments: [~, StatsBundle\Entity\Cablemodem, StatsBundle:CablemodemCRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: List, label: Cablemodem, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
             - [setTemplate, ['outer_list_rows_list','StatsBundle:Templates:list_outer_rows_list.html.twig']]
             - [setTemplate, ['show','StatsBundle:Cablemodem:base_show.html.twig']]
 
-    stats.admin.cmts_interface:
+    sonata.admin.stats.cmts_interface:
         class: StatsBundle\Admin\CmtsInterfaceAdmin
         arguments: [~, StatsBundle\Entity\CmtsInterface, SonataAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: List, label: Interface, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [StatsBundle]]
             - [setTemplate, ['show','StatsBundle:CmtsInterface:base_show.html.twig']]
-    
-    stats.admin.cmts:
+
+    sonata.admin.stats.cmts:
         class: StatsBundle\Admin\CmtsAdmin
         arguments: [~, StatsBundle\Entity\Device, SonataAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: List, label: CMTS, label_catalogue: StatsBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
-            - [setTranslationDomain, [StatsBundle]]
+        calls:
+            - [setTranslationDomain, [StatsBundle]]