소스 검색

Merge Status

gabriel 6 년 전
부모
커밋
335a9d493c

+ 13 - 5
.drone.yml

@@ -1,5 +1,5 @@
 services:
-  database:
+  mysql:
     image: mysql:5.5
     environment:
       - MYSQL_ROOT_PASSWORD=
@@ -17,22 +17,30 @@ pipeline:
       HOST_MAPAS: mapas.test.fd3.flowdat.com
       HOST_BASE: base.test.fd3.flowdat.com
       HOST_RADIUS: radius.test.fd3.flowdat.com
+      HOST_DHCP: dhcp.test.fd3.flowdat.com
+      HOST_CABLEMODEM: cablemodem.test.fd3.flowdat.com
+      HOST_GEOSERVER: geoserver.test.fd3.flowdat.com
+      HOST_DUMMY: dummy.test.fd3.flowdat.com
       OAUTH_CLIENT_ID: ""
       OAUTH_CLIENT_SECRET: ""
       AMQP_KEY: ""
       CLIENT: fd3
+      MYSQL_ROOT_PASSWORD: ""
+      DOMAIN: flowdat.com
+      
     commands:
       - command -v mysqladmin >/dev/null 2>&1 || { echo "I require mysqladmin but it's not installed.  Aborting." >&2; exit 1; }
-      - while ! mysqladmin ping -h 127.0.0.1 --silent; do :; done
+      - while ! mysqladmin ping -h mysql --silent; do :; done
 
-      - yes | mysqladmin -h 127.0.0.1 create fd3_radius
-      - yes | mysqladmin -h 127.0.0.1 create fd_session
+      - yes | mysqladmin -u root -h mysql create fd3_radius
+      - yes | mysqladmin -u root -h mysql create fd_session
 
       - echo 'client = Flowdat3-Radius-Drone-Test' | tee /etc/flowdat.conf
       - echo 'date.timezone="America/Argentina/Buenos_Aires"' >> /etc/php/7.0/cli/php.ini
 
       - chmod 0400 keys/bitbucket.id_rsa
       - eval $(ssh-agent); ssh-add keys/bitbucket.id_rsa
+      - cp app/config/parameters.yml.dist app/config/parameters.yml
       - cp app/config/bundles/ik/device-bundle/parameters.yml.drone app/config/bundles/ik/device-bundle/parameters.yml
       - cp app/config/bundles/ik/base-admin-bundle/parameters.yml.dist app/config/bundles/ik/base-admin-bundle/parameters.yml
       - composer install -n --no-progress
@@ -41,7 +49,7 @@ pipeline:
       - php bin/console doctrine:schema:update --force -vvv --env=test
       - touch var/logs/test.log
       - tail -f var/logs/*.log &
-#      - bin/console server:run --help --end=prod
+      - bin/console server:run --env=test &
       - vendor/phpunit/phpunit/phpunit -c phpunit.xml.dist
 
  docker:

+ 6 - 20
Dockerfile

@@ -10,12 +10,6 @@ RUN rm -f app/config/parameters.yml
 RUN rm -f app/config/url_webservice.yml
 RUN rm -f app/config/hwioauthbundle/parameters.yml
 
-RUN cp app/config/parameters.yml.docker app/config/parameters.yml
-RUN cp app/config/url_webservice.yml.docker app/config/url_webservice.yml
-RUN cp app/config/hwioauthbundle/parameters.yml.docker app/config/hwioauthbundle/parameters.yml
-
-RUN cp app/config/bundles/ik/device-bundle/parameters.yml.docker app/config/bundles/ik/device-bundle/parameters.yml
-
 RUN rm -rf /opt/radius/app/config/parameters.yml /opt/radius/app/config/url_webservice.yml
 
 RUN chmod 0600 /opt/keys/*
@@ -26,21 +20,13 @@ RUN apt-get install -yq php-soap
 
 RUN eval $(ssh-agent) ; ssh-add /opt/keys/bitbucket.id_rsa ; git clone git@bitbucket.org:ikflowdat/json-wsdl.git /opt/json-wsdl ;  cd /opt/json-wsdl ; composer install --no-scripts --no-interaction --no-progress
 
-RUN cp app/config/parameters.yml.docker app/config/parameters.yml ;\
-	cp app/config/bundles/ik/device-bundle/parameters.yml.docker app/config/bundles/ik/device-bundle/parameters.yml ;\
- 	cp app/config/url_webservice.yml.docker app/config/url_webservice.yml ;\
- 	cp app/config/hwioauthbundle/parameters.yml.docker app/config/hwioauthbundle/parameters.yml ;\
-	cp app/config/bundles/ik/device-bundle/parameters.yml.docker app/config/bundles/ik/device-bundle/parameters.yml ;\
-	cp app/config/bundles/ik/base-admin-bundle/parameters.yml.dist app/config/bundles/ik/base-admin-bundle/parameters.yml
+RUN apt-get update && apt-get install -yq php-fpm
+RUN sed -i 's#listen = /run/php/php7.0-fpm.sock#listen = 0.0.0.0:9000#g' /etc/php/7.0/fpm/pool.d/www.conf
+RUN sed -i 's#;clear_env = no#clear_env = no#g' /etc/php/7.0/fpm/pool.d/www.conf
+RUN mkdir -p /run/php
 
 CMD eval $(ssh-agent) ; ssh-add /opt/keys/bitbucket.id_rsa ; composer install --no-scripts --no-interaction --no-progress;\
 	rm var/cache/* -rf ;\
- 	cp app/config/parameters.yml.docker app/config/parameters.yml ;\
-	cp app/config/bundles/ik/device-bundle/parameters.yml.docker app/config/bundles/ik/device-bundle/parameters.yml ;\
- 	cp app/config/url_webservice.yml.docker app/config/url_webservice.yml ;\
- 	cp app/config/hwioauthbundle/parameters.yml.docker app/config/hwioauthbundle/parameters.yml ;\
-	cp app/config/bundles/ik/device-bundle/parameters.yml.docker app/config/bundles/ik/device-bundle/parameters.yml ;\
-	cp app/config/bundles/ik/base-admin-bundle/parameters.yml.dist app/config/bundles/ik/base-admin-bundle/parameters.yml ;\
 	composer run-script post-install-cmd --no-interaction ;\
- 	cat app/config/hwioauthbundle/parameters.yml ;\
- 	php bin/console server:run 0.0.0.0 --env=dev
+	chmod 777 -R var/cache/ var/logs/ var/sessions/ ;\
+ 	php-fpm7.0 -F -R -O

+ 8 - 4
app/config/bundles/ik/device-bundle/parameters.yml.dist

@@ -1,5 +1,9 @@
 parameters:
-    device_check_url: 'http://127.0.0.1/base/app_dev.php/api/devices/check.json'
-    device_post_url: 'http://127.0.0.1/base/app_dev.php/api/devices.json'
-    device_delete_post_url: 'http://127.0.0.1/base/app_dev.php/api/devices/'
-    device_put_url: 'http://127.0.0.1/base/app_dev.php/api/devices/'
+    device_check_url: 'https://%env(HOST_BASE)%/api/devices/check.json'
+    device_post_url: 'https://%env(HOST_BASE)%/api/devices.json'
+    device_delete_post_url: 'https://%env(HOST_BASE)%/api/devices/'
+    device_put_url: 'https://%env(HOST_BASE)%/api/devices/'
+    api_device_check_url: 'https://%env(HOST_BASE)%/api/devices/check.json'
+    api_device_post_url: 'https://%env(HOST_BASE)%/api/devices.json'
+    api_device_delete_post_url: 'https://%env(HOST_BASE)%/api/devices/'
+    api_device_put_url: 'https://%env(HOST_BASE)%/api/devices/'

+ 8 - 5
app/config/bundles/ik/device-bundle/parameters.yml.docker

@@ -1,6 +1,9 @@
-# This file is auto-generated during the composer install
 parameters:
-    device_check_url: 'http://%env(HOST_BASE)%/api/devices/check.json'
-    device_post_url: 'http://%env(HOST_BASE)%/api/devices.json'
-    device_delete_post_url: 'http://%env(HOST_BASE)%/api/devices/'
-    device_put_url: 'http://%env(HOST_BASE)%/api/devices/'
+    device_check_url: 'https://%env(HOST_BASE)%/api/devices/check.json'
+    device_post_url: 'https://%env(HOST_BASE)%/api/devices.json'
+    device_delete_post_url: 'https://%env(HOST_BASE)%/api/devices/'
+    device_put_url: 'https://%env(HOST_BASE)%/api/devices/'
+    api_device_check_url: 'https://%env(HOST_BASE)%/api/devices/check.json'
+    api_device_post_url: 'https://%env(HOST_BASE)%/api/devices.json'
+    api_device_delete_post_url: 'https://%env(HOST_BASE)%/api/devices/'
+    api_device_put_url: 'https://%env(HOST_BASE)%/api/devices/'

+ 8 - 4
app/config/bundles/ik/device-bundle/parameters.yml.drone

@@ -1,6 +1,10 @@
 parameters:
-   device_check_url: 'http://device.check.url/base/app_dev.php/api/devices/check.json'
-   device_post_url: 'http://device.post.url/base/app_dev.php/api/devices.json'
-   device_delete_post_url: 'http://device.delete.post.url/base/app_dev.php/api/devices/'
-   device_put_url: 'http://device.put.url/base/app_dev.php/api/devices/'
+    device_check_url: 'https://device.check.url/base/app_dev.php/api/devices/check.json'
+    device_post_url: 'https://device.post.url/base/app_dev.php/api/devices.json'
+    device_delete_post_url: 'https://device.delete.post.url/base/app_dev.php/api/devices/'
+    device_put_url: 'https://device.put.url/base/app_dev.php/api/devices/'
+    api_device_check_url: 'https://base:80/api/devices/check.json'
+    api_device_post_url: 'https://base:80/api/devices.json'
+    api_device_delete_post_url: 'https://base:80/api/devices/'
+    api_device_put_url: 'https://base:80/api/devices/'
  

+ 7 - 0
app/config/config.yml

@@ -112,3 +112,10 @@ sonata_admin:
         layout: BaseAdminBundle::standard_layout.html.twig
         user_block: BaseOAuthClientBundle:Core:oauth_user_block.html.twig
     persist_filters: true
+    security:
+        handler: sonata.admin.security.handler.role
+
+# Accept self-signed certificates
+hwi_oauth:
+    http_client:
+        verify_peer: false

+ 5 - 5
app/config/hwioauthbundle/parameters.yml.dist

@@ -1,6 +1,6 @@
 parameters:
-    client_id:           "1_4201udjx8vsw0go8g84wsksg4o8ogoow0sosc8k44c8cscwssw"
-    client_secret:       "42ymihqa8js408ggk4c0cccswcw8okcogww80co8cogsgc4woo"
-    access_token_url:    "http://127.0.0.1/base/app_dev.php/oauth/v2/token"
-    authorization_url:   "http://127.0.0.1/base/app_dev.php/oauth/v2/auth"
-    infos_url:           "http://127.0.0.1/base/app_dev.php/api/user/me"
+    client_id: '%env(OAUTH_CLIENT_ID)%'
+    client_secret: '%env(OAUTH_CLIENT_SECRET)%'
+    access_token_url: 'https://%env(HOST_BASE)%/oauth/v2/token'
+    authorization_url: 'https://%env(HOST_BASE)%/oauth/v2/auth'
+    infos_url: 'https://%env(HOST_BASE)%/api/user/me'

+ 3 - 3
app/config/hwioauthbundle/parameters.yml.docker

@@ -1,6 +1,6 @@
 parameters:
     client_id: %env(OAUTH_CLIENT_ID)%
     client_secret: %env(OAUTH_CLIENT_SECRET)%
-    access_token_url:    "http://%env(HOST_BASE)%/oauth/v2/token"
-    authorization_url:   "http://%env(HOST_BASE)%/oauth/v2/auth"
-    infos_url:           "http://%env(HOST_BASE)%/api/user/me"
+    access_token_url:    "https://%env(HOST_BASE)%/oauth/v2/token"
+    authorization_url:   "https://%env(HOST_BASE)%/oauth/v2/auth"
+    infos_url:           "https://%env(HOST_BASE)%/api/user/me"

+ 10 - 6
app/config/parameters.yml.dist

@@ -2,11 +2,11 @@
 # Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production.
 # http://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
 parameters:
-    database_host:     127.0.0.1
+    database_host:     mysql
     database_port:     ~
     database_name:     fd3_radius
     database_user:     root
-    database_password: ~
+    database_password: %env(MYSQL_ROOT_PASSWORD)%
     # You should uncomment this if you want use pdo_sqlite
     # database_path: "%kernel.root_dir%/data.db3"
 
@@ -23,21 +23,25 @@ parameters:
     url_logout: 'http://%env(HOST_MAPAS)%/logout'
 
     # RabbitMQ parameters
-    rabbit_mq.host:     127.0.0.1
+    rabbit_mq.host:     'amqp'
     rabbit_mq.port:     5672
     rabbit_mq.user:     'guest'
     rabbit_mq.password: 'guest'
     rabbit_mq.vhost:    '/'
 
-    db_session_host: 127.0.0.1
+    db_session_host: mysql
     db_session_port: null
     db_session_name: fd_session
     db_session_user: root
-    db_session_password: null
+    db_session_password: '%env(MYSQL_ROOT_PASSWORD)%'
 
     # RabbitMQ routing key
     env(AMQP_KEY) : ""
 
     cookie_domain_client: '%env(CLIENT)%'
-    cookie_domain: '%cookie_domain_client%.fd3.flowdat.com'
+    cookie_domain: '%cookie_domain_client%.%env(DOMAIN)%'
     session_names: [flowdat_base_session, flowdat_ftth_session, flowdat_mapas_session, flowdat_stats_session, flowdat_radius_session, flowdat_cablemodem_session]
+    
+    # App Dummy URL
+    env(HOST_DUMMY): http://www.flowdat.com/
+ 

+ 3 - 3
app/config/parameters.yml.docker

@@ -31,12 +31,12 @@ parameters:
     rabbit_mq.vhost:    '/'
 
     db_session_host: mysql
-    db_session_port: ~
+    db_session_port: null
     db_session_name: fd_session
     db_session_user: root
-    db_session_password: 235r2342gtfsw
+    db_session_password: '%env(MYSQL_ROOT_PASSWORD)%'
     env(AMQP_KEY) : ""
 
     cookie_domain_client: '%env(CLIENT)%'
-    cookie_domain: '%cookie_domain_client%.flowdat.com'
+    cookie_domain: '%cookie_domain_client%.%env(DOMAIN)%'
     session_names: [flowdat_base_session, flowdat_ftth_session, flowdat_mapas_session, flowdat_stats_session, flowdat_radius_session, flowdat_cablemodem_session]

+ 42 - 0
app/config/roles.yml

@@ -0,0 +1,42 @@
+security:
+
+    role_hierarchy:
+
+        # RADIUS_PROFILE
+        ROLE_SONATA_RADIUS_PROFILE_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_RADIUS_PROFILE_LIST, ROLE_SONATA_ADMIN_RADIUS_PROFILE_VIEW]
+        ROLE_SONATA_RADIUS_PROFILE_EDITOR: [ROLE_SONATA_RADIUS_PROFILE_READER, ROLE_SONATA_ADMIN_RADIUS_PROFILE_CREATE, ROLE_SONATA_ADMIN_RADIUS_PROFILE_EDIT]
+        ROLE_SONATA_RADIUS_PROFILE_ADMIN: [ROLE_SONATA_RADIUS_PROFILE_EDITOR, ROLE_SONATA_ADMIN_RADIUS_PROFILE_DELETE, ROLE_SONATA_ADMIN_RADIUS_PROFILE_EXPORT]
+
+        # ACCESS
+        ROLE_SONATA_ACCESS_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_ACCESS_LIST, ROLE_SONATA_ADMIN_ACCESS_VIEW]
+        ROLE_SONATA_ACCESS_EDITOR: [ROLE_SONATA_ACCESS_READER, ROLE_SONATA_ADMIN_ACCESS_CREATE, ROLE_SONATA_ADMIN_ACCESS_EDIT]
+        ROLE_SONATA_ACCESS_ADMIN: [ROLE_SONATA_ACCESS_EDITOR, ROLE_SONATA_ADMIN_ACCESS_DELETE, ROLE_SONATA_ADMIN_ACCESS_EXPORT]
+
+        # NAS_MODEL
+        ROLE_SONATA_NAS_MODEL_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_NAS_MODEL_LIST, ROLE_SONATA_ADMIN_NAS_MODEL_VIEW]
+        ROLE_SONATA_NAS_MODEL_EDITOR: [ROLE_SONATA_NAS_MODEL_READER, ROLE_SONATA_ADMIN_NAS_MODEL_CREATE, ROLE_SONATA_ADMIN_NAS_MODEL_EDIT]
+        ROLE_SONATA_NAS_MODEL_ADMIN: [ROLE_SONATA_NAS_MODEL_EDITOR, ROLE_SONATA_ADMIN_NAS_MODEL_DELETE, ROLE_SONATA_ADMIN_NAS_MODEL_EXPORT]
+
+        # NAS
+        ROLE_SONATA_NAS_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_NAS_LIST, ROLE_SONATA_ADMIN_NAS_VIEW]
+        ROLE_SONATA_NAS_EDITOR: [ROLE_SONATA_NAS_READER, ROLE_SONATA_ADMIN_NAS_CREATE, ROLE_SONATA_ADMIN_NAS_EDIT]
+        ROLE_SONATA_NAS_ADMIN: [ROLE_SONATA_NAS_EDITOR, ROLE_SONATA_ADMIN_NAS_DELETE, ROLE_SONATA_ADMIN_NAS_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]
+
+        # TEMPLATE
+        ROLE_SONATA_TEMPLATE_READER: [ROLE_ADMIN, ROLE_SONATA_ADMIN_TEMPLATE_LIST, ROLE_SONATA_ADMIN_TEMPLATE_VIEW]
+        ROLE_SONATA_TEMPLATE_EDITOR: [ROLE_SONATA_TEMPLATE_READER, ROLE_SONATA_ADMIN_TEMPLATE_CREATE, ROLE_SONATA_ADMIN_TEMPLATE_EDIT]
+        ROLE_SONATA_TEMPLATE_ADMIN: [ROLE_SONATA_TEMPLATE_EDITOR, ROLE_SONATA_ADMIN_TEMPLATE_DELETE, ROLE_SONATA_ADMIN_TEMPLATE_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]

+ 8 - 9
app/config/security.yml

@@ -1,18 +1,17 @@
+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:       
-                                
+
+    firewalls:
+
         dev:
             pattern: ^/(_(profiler|wdt)|css|images|js)/
             security: false
-            
+
         api:
           pattern: ^/api
           stateless: true
@@ -34,7 +33,7 @@ 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 }

+ 13 - 10
app/config/url_webservice.yml.dist

@@ -1,17 +1,20 @@
 parameters:
-    url_base: 'http://127.0.0.1/base/app_dev.php' # url app Base
-    url_mapas: 'http://127.0.0.1/mapas/app_dev.php' # url app Mapas
-    url_stats: 'http://127.0.0.1/stats/app_dev.php' # url app Stats
-    url_ftth: 'http://127.0.0.1/ftth/app_dev.php' # url app Stats
-
-    client: '%url_base%/api/clients.json'
-
-    sidebar_menu: # urls para el sidebar menu
+    url_base: 'https://%env(HOST_BASE)%'
+    url_ftth: 'https://%env(HOST_FTTH)%'
+    url_mapas: 'https://%env(HOST_MAPAS)%'
+    url_stats: 'https://%env(HOST_STATS)%'
+    url_dhcp: 'https://%env(HOST_DHCP)%'
+    url_cablemodem: 'https://%env(HOST_CABLEMODEM)%'
+    url_geoserver: 'https://%env(HOST_GEOSERVER)%'
+    url_dummy: 'https://%env(HOST_DUMMY)%'
+    sidebar_menu:
         Base: '%url_base%'
+        Cablemodems: '%url_cablemodem%'
+        FTTH: '%url_ftth%'
         Mapas: '%url_mapas%'
         Stats: '%url_stats%'
-        FTTH: '%url_ftth%'
-    # Url base create client
+        DHCP: '%url_dhcp%'
+    client: '%url_base%/api/clients.json'
     remote_client_create_url: '%url_base%/admin/client/client/create'
     remote_device_url: '%url_base%/api/devices.json'
     remote_device_log_url: '%url_base%/api/devicelogs.json'

+ 17 - 11
app/config/url_webservice.yml.docker

@@ -1,17 +1,23 @@
 parameters:
-    url_base: 'http://%env(HOST_BASE)%'
-    url_mapas: 'http://%env(HOST_MAPAS)%'
-    url_stats: 'http://%env(HOST_STATS)%'
-    url_ftth: 'http://%env(HOST_FTTH)%'
-
+    url_base: 'https://%env(HOST_BASE)%'
+    url_ftth: 'https://%env(HOST_FTTH)%'
+    url_mapas: 'https://%env(HOST_MAPAS)%'
+    url_stats: 'https://%env(HOST_STATS)%'
+    url_dhcp: 'https://%env(HOST_DHCP)%'
+    url_cablemodem: 'https://%env(HOST_CABLEMODEM)%'
+    url_geoserver: 'https://%env(HOST_GEOSERVER)%'
+    url_dummy: 'https://%env(HOST_DUMMY)%'
+    sidebar_menu:
+        Base: '%url_base%'
+        Cablemodems: '%url_cablemodem%'
+        FTTH: '%url_ftth%'
+        Mapas: '%url_mapas%'
+        Stats: '%url_stats%'
+        DHCP: '%url_dhcp%'
     client: '%url_base%/api/clients.json'
-
+    # Url base create client
     remote_client_create_url: '%url_base%/admin/client/client/create'
     remote_device_url: '%url_base%/api/devices.json'
     remote_device_log_url: '%url_base%/api/devicelogs.json'
     remote_get_map_url: '%url_mapas%/api/maps.json'
-    sidebar_menu:
-        Base: '%url_base%'
-        Mapas: '%url_mapas%'
-        Stats: '%url_stats%'
-        FTTH: '%url_ftth%'
+    remote_get_object_type_url: '%url_mapas%/api/objecttypes.json'

+ 8 - 0
bin/composer-install.sh

@@ -0,0 +1,8 @@
+#!/bin/bash
+chmod 0400 keys/*
+eval $(ssh-agent)
+ssh-add keys/bitbucket.id_rsa
+composer install --no-progress -n
+
+kill $SSH_AGENT_PID
+unset SSH_AGENT_PID

+ 8 - 0
bin/composer-update.sh

@@ -0,0 +1,8 @@
+#!/bin/bash
+chmod 0400 keys/*
+eval $(ssh-agent)
+ssh-add keys/bitbucket.id_rsa
+composer update --prefer-dist --no-plugins --no-autoloader --no-scripts --no-progress --no-suggest --with-dependencies --ignore-platform-reqs --prefer-lowest -n
+
+kill $SSH_AGENT_PID
+unset SSH_AGENT_PID

+ 4 - 3
composer.json

@@ -125,6 +125,8 @@
         "doctrine/doctrine-migrations-bundle": "^1.2",
         "doctrine/instantiator": "^1.0.5",
         "doctrine/orm": "^2.5",
+        "dwoo/dwoo": "dev-master",
+        "hwi/oauth-bundle": "^0.5.3",
         "ik/audit-bundle": "dev-master",
         "ik/auth-bundle": "dev-master",
         "ik/base-admin-bundle": "dev-master",
@@ -134,15 +136,14 @@
         "ik/map-bundle": "dev-master",
         "ik/migrations-bundle": "dev-master",
         "ik/oauthclient-bundle": "dev-master",
-        "ik/webservice-bundle": "dev-FD3-257",
-        "hwi/oauth-bundle": "^0.5.3",
         "ik/owner-voter-bundle": "dev-master",
         "ik/template-bundle": "dev-master",
+        "ik/webservice-bundle": "dev-master",
         "ik/workflow-bundle": "dev-master",
         "incenteev/composer-parameter-handler": "^2.0",
+        "jdorn/sql-formatter": "^1.2.17",
         "jms/serializer": "^1.9.0",
         "jms/serializer-bundle": "^1.5.0",
-        "jdorn/sql-formatter": "^1.2.17",
         "php-amqplib/rabbitmq-bundle": "^1.12",
         "samsonasik/package-versions": "1.1.0",
         "sensio/distribution-bundle": "^5.0.21",

+ 137 - 8
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": "1239b04e715448f48863a01c573197e0",
+    "content-hash": "3050c216fa3cc97aa72883791a068ce1",
     "packages": [
         {
             "name": "behat/transliterator",
@@ -997,6 +997,45 @@
             ],
             "time": "2015-11-23T12:44:25+00:00"
         },
+        {
+            "name": "dwoo/dwoo",
+            "version": "dev-master",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dwoo-project/dwoo.git",
+                "reference": "e82821854a2a4a56417015b897382e7995463118"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://satis.infra.flowdat.com/dist/dwoo/dwoo/dwoo-dwoo-e82821854a2a4a56417015b897382e7995463118-zip-8070b8.zip",
+                "reference": "e82821854a2a4a56417015b897382e7995463118",
+                "shasum": "761f80329ce3476c3d9ec92c1ed29f283527c584"
+            },
+            "require": {
+                "php": "^5.3|^7.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "4.8.27"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Dwoo\\": "lib/Dwoo/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "LGPL-3.0-only"
+            ],
+            "authors": [
+                {
+                    "name": "David Sanchez",
+                    "email": "david38sanchez@gmail.com"
+                }
+            ],
+            "description": "Dwoo is a PHP5/PHP7 template engine which is (almost) fully compatible with Smarty templates and plugins, but is written from scratch for PHP5, and adds many features.",
+            "time": "2018-07-25T13:24:51+00:00"
+        },
         {
             "name": "fig/link-util",
             "version": "1.0.0",
@@ -1371,7 +1410,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/AuditBundle.git",
+<<<<<<< HEAD
                 "reference": "b202b7ac2ba770a72d323bb1fea8291249c09096"
+=======
+                "reference": "cb662a84bc7e36c29d88504f13f449123588e293"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "require": {
                 "simplethings/entity-audit-bundle": "^1.0"
@@ -1387,7 +1430,11 @@
                 "audit",
                 "bundle"
             ],
+<<<<<<< HEAD
             "time": "2017-11-24T15:24:36+00:00"
+=======
+            "time": "2018-06-22T11:38:27+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/auth-bundle",
@@ -1395,7 +1442,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/AuthBundle.git",
+<<<<<<< HEAD
                 "reference": "3dfe0b95b0a2d3003065b2507a9bf581d3b7c214"
+=======
+                "reference": "67612309a0afd5d2935dfb8a4bfb9da479a61361"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "type": "library",
             "autoload": {
@@ -1410,7 +1461,11 @@
                 "auth",
                 "bundle"
             ],
+<<<<<<< HEAD
             "time": "2017-12-05T15:22:24+00:00"
+=======
+            "time": "2018-05-15T18:25:14+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/base-admin-bundle",
@@ -1418,7 +1473,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/BaseAdmin.git",
+<<<<<<< HEAD
                 "reference": "5559a9a344140cdc43089256c2cfca2ff2ccce5b"
+=======
+                "reference": "aa9e5432f4fc70ae78b4912a68479afcf3f9137b"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "type": "library",
             "autoload": {
@@ -1433,7 +1492,11 @@
                 "bootstrap",
                 "sonata"
             ],
+<<<<<<< HEAD
             "time": "2017-12-19T11:28:24+00:00"
+=======
+            "time": "2018-08-08T13:50:30+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/device-bundle",
@@ -1441,7 +1504,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/DeviceBundle.git",
+<<<<<<< HEAD
                 "reference": "549e289e09ef991900025be4994e0641efa955ef"
+=======
+                "reference": "92e389263fa941ed35eeb54e7520bc1ccccc4ce7"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "type": "library",
             "autoload": {
@@ -1456,7 +1523,11 @@
                 "bundle",
                 "validators"
             ],
+<<<<<<< HEAD
             "time": "2017-12-13T13:30:22+00:00"
+=======
+            "time": "2018-05-11T17:07:59+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/extra-data-bundle",
@@ -1464,7 +1535,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/ExtraDataBundle.git",
+<<<<<<< HEAD
                 "reference": "285c7a279256fc613a0a8e65c6163d5b60361365"
+=======
+                "reference": "47473cde04aa24d659598a1661a89015376cfe16"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "type": "library",
             "autoload": {
@@ -1479,7 +1554,11 @@
                 "bundle",
                 "extra-data"
             ],
+<<<<<<< HEAD
             "time": "2017-12-11T15:48:57+00:00"
+=======
+            "time": "2018-04-03T12:13:19+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/leaflet-bundle",
@@ -1487,7 +1566,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/LeafletBundle.git",
+<<<<<<< HEAD
                 "reference": "84174321550f3b566f525fb97b66f9e28396363a"
+=======
+                "reference": "db4aba82a00ac8af06d5445c4473648959798127"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "require": {
                 "ext-curl": "*",
@@ -1500,7 +1583,11 @@
                 }
             },
             "description": "The Flowdat3 Leaflet Resource",
+<<<<<<< HEAD
             "time": "2017-12-12T17:52:51+00:00"
+=======
+            "time": "2018-03-06T18:03:24+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/map-bundle",
@@ -1508,7 +1595,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/MapBundle.git",
+<<<<<<< HEAD
                 "reference": "9f244d40a1d7365b60f69f72a45a9e748ec8da16"
+=======
+                "reference": "6bfead82caa4fefdc56bf8060b275a56347feb70"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "type": "library",
             "autoload": {
@@ -1523,7 +1614,11 @@
                 "bootstrap",
                 "sonata"
             ],
+<<<<<<< HEAD
             "time": "2017-11-16T14:10:01+00:00"
+=======
+            "time": "2018-08-08T13:51:34+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/migrations-bundle",
@@ -1531,7 +1626,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@bitbucket.org/ikflowdat/migrations.git",
+<<<<<<< HEAD
                 "reference": "db2d82800bca471cff76677b53aef5ec0ce6f374"
+=======
+                "reference": "3ffe7909ada89084c95b528a2eb3fb58dbbfe5bd"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "type": "library",
             "autoload": {
@@ -1546,7 +1645,11 @@
                 "bundle",
                 "migrations"
             ],
+<<<<<<< HEAD
             "time": "2017-12-21T12:10:32+00:00"
+=======
+            "time": "2018-01-25T14:06:01+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/oauthclient-bundle",
@@ -1554,7 +1657,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/BaseOAuthClientBundle.git",
-                "reference": "7f9343ed5988f10b7be0c7bb2d2cd1cc75275553"
+                "reference": "2373f6de17349f1c99a768c4c3a0803df2cc08ca"
             },
             "require": {
                 "ext-curl": "*",
@@ -1573,7 +1676,11 @@
                 "bundle",
                 "oauth"
             ],
+<<<<<<< HEAD
             "time": "2017-10-11T14:15:38+00:00"
+=======
+            "time": "2018-07-03T12:02:21+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/owner-voter-bundle",
@@ -1581,7 +1688,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/OwnerVoter.git",
-                "reference": "9ae7b65c59f9cb2216b422744a5e1ffbe429ef29"
+                "reference": "9171fd2335cc3d164a97a27f0531e436ef924701"
             },
             "type": "library",
             "autoload": {
@@ -1596,7 +1703,11 @@
                 "bundle",
                 "owner-voter"
             ],
+<<<<<<< HEAD
             "time": "2017-06-12T15:49:24+00:00"
+=======
+            "time": "2018-02-19T13:34:58+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/template-bundle",
@@ -1604,7 +1715,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/TemplateBundle.git",
-                "reference": "63deb64e5ccb88acede62b5aae7c1231353b99df"
+                "reference": "7e50327475180f03fa24a2fa5ee1dc01dadd2bfa"
             },
             "require": {
                 "ik/base-admin-bundle": "*"
@@ -1622,15 +1733,19 @@
                 "bundle",
                 "template"
             ],
+<<<<<<< HEAD
             "time": "2017-08-02T18:42:10+00:00"
+=======
+            "time": "2018-07-04T14:44:27+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/webservice-bundle",
-            "version": "dev-FD3-257",
+            "version": "dev-master",
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/Webservice.git",
-                "reference": "9bf7cb7e643e4d4a2c42d16e08ff1b319c0110c4"
+                "reference": "c17a870fa8f24a00b0660b62c20704443c0b032f"
             },
             "require": {
                 "ext-curl": "*",
@@ -1643,7 +1758,11 @@
                 }
             },
             "description": "The Flowdat3 Webservice Rest",
+<<<<<<< HEAD
             "time": "2017-10-23T15:02:50+00:00"
+=======
+            "time": "2018-07-31T18:33:39+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "ik/workflow-bundle",
@@ -1651,7 +1770,11 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/WorkflowBundle.git",
+<<<<<<< HEAD
                 "reference": "360f6a217c6ebdbc7d39b608d5cc63f28dbde47e"
+=======
+                "reference": "fcac5fb3107129034dc231d900701c0df65d8a7c"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
             },
             "require": {
                 "php-amqplib/rabbitmq-bundle": "^1.12"
@@ -1681,7 +1804,11 @@
                 "bundle",
                 "workflow"
             ],
+<<<<<<< HEAD
             "time": "2017-12-21T16:04:13+00:00"
+=======
+            "time": "2018-08-07T12:54:41+00:00"
+>>>>>>> a2c95713d0c15d2a926ef3eeed6408509a53059f
         },
         {
             "name": "incenteev/composer-parameter-handler",
@@ -3888,6 +4015,7 @@
                 "compression",
                 "minification"
             ],
+            "abandoned": "symfony/webpack-encore-pack",
             "time": "2017-07-14T07:26:46+00:00"
         },
         {
@@ -6270,6 +6398,7 @@
     "aliases": [],
     "minimum-stability": "stable",
     "stability-flags": {
+        "dwoo/dwoo": 20,
         "ik/audit-bundle": 20,
         "ik/auth-bundle": 20,
         "ik/base-admin-bundle": 20,
@@ -6279,15 +6408,15 @@
         "ik/map-bundle": 20,
         "ik/migrations-bundle": 20,
         "ik/oauthclient-bundle": 20,
-        "ik/webservice-bundle": 20,
         "ik/owner-voter-bundle": 20,
         "ik/template-bundle": 20,
+        "ik/webservice-bundle": 20,
         "ik/workflow-bundle": 20,
         "sonata-project/admin-bundle": 20,
         "voryx/restgeneratorbundle": 20
     },
     "prefer-stable": false,
-    "prefer-lowest": false,
+    "prefer-lowest": true,
     "platform": {
         "php": ">=5.5.9"
     },

+ 5 - 5
src/RadiusBundle/Resources/config/services.yml

@@ -1,13 +1,13 @@
 services:
-    radius.admin.profile:
+    sonata.admin.radius_profile:
         class: RadiusBundle\Admin\ProfileAdmin
         arguments: [~, RadiusBundle\Entity\Profile, BaseAdminBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: Radius, label: Profile, label_catalogue: RadiusBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [RadiusBundle]]
 
-    radius.admin.access:
+    sonata.admin.access:
         class: RadiusBundle\Admin\AccessAdmin
         arguments: [~, RadiusBundle\Entity\Access, BaseAdminBundle:CRUD]
         tags:
@@ -15,7 +15,7 @@ services:
         calls:
             - [setTranslationDomain, [RadiusBundle]]
 
-    radius.admin.nas.model:
+    sonata.admin.nas_model:
         class: RadiusBundle\Admin\NASModelAdmin
         arguments: [~, RadiusBundle\Entity\NASModel, BaseAdminBundle:CRUD]
         tags:
@@ -23,7 +23,7 @@ services:
         calls:
             - [setTranslationDomain, [RadiusBundle]]
 
-    radius.admin.nas:
+    sonata.admin.nas:
         class: RadiusBundle\Admin\NASAdmin
         arguments: [~, RadiusBundle\Entity\NAS, BaseAdminBundle:CRUD]
         tags: