diff --git a/.env.example b/.env.example index 99c709b..77d798d 100644 --- a/.env.example +++ b/.env.example @@ -4,7 +4,7 @@ APP_NAME="Chamados" APP_KEY= APP_ENV=local # valores possíveis: local ou production APP_DEBUG=true -APP_URL=http://127.0.0.1:8000 +APP_URL=http://chamados # ######################################## # ### Variáveis da aplicação ############# @@ -68,7 +68,7 @@ MAIL_FROM_NAME="Laravel" #USP_THEME_SISTEMAS_2='{"text":"LDAP","url":"http://localhost/ldap"}' # Escolha o skin a ser utilizado (default=uspdev) -USP_THEME_SKIN=fflch # ou uspdev +USP_THEME_SKIN=uspdev # ou uspdev # SENHAUNICA-SOCIALITE ###################################### # https://github.com/uspdev/senhaunica-socialite @@ -77,7 +77,7 @@ USP_THEME_SKIN=fflch # ou uspdev SENHAUNICA_KEY=faker SENHAUNICA_SECRET=faker SENHAUNICA_CALLBACK_ID=1 -SENHAUNICA_ADMINS=111111 +SENHAUNICA_ADMINS=10011 SENHAUNICA_DEV="http://auth.local:3141/wsusuario/oauth" # URL do servidor oauth no ambiente de dev (default=no) @@ -118,6 +118,8 @@ REPLICADO_DATABASE= REPLICADO_USERNAME= REPLICADO_PASSWORD= REPLICADO_FAKE=1 + + # Código da unidade REPLICADO_CODUNDCLG= # Todos os códigos de colegiados da unidade, separados por vírgula @@ -215,7 +217,6 @@ WSFOTO_PASS= # como a foto fake WS_FOTO_FAKE_PATH= -APP_URL=http://chamados DUSK_DRIVER_URL='http://selenium:4444/wd/hub' DUSK_START_MAXIMIZED=true DUSK_HEADLESS_DISABLED=true diff --git a/app/Models/User.php b/app/Models/User.php index 74dca18..7172078 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -13,6 +13,8 @@ class User extends Authenticatable use HasFactory, Notifiable; use \Uspdev\SenhaunicaSocialite\Traits\HasSenhaunica; + protected $guard_name = 'senhaunica'; + # desativado por enquanto por conta de conflito #use \Spatie\Permission\Traits\HasRoles; diff --git a/composer.json b/composer.json index c16f025..9902f33 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ "uspdev/laravel-tools": "^1.3", "uspdev/laravel-usp-theme": "^2.8", "uspdev/laravel-usp-validators": "^1.0", - "uspdev/senhaunica-socialite": "^4.3", + "uspdev/senhaunica-socialite": "^4.5", "uspdev/wsfoto": "^2.0" }, "require-dev": { diff --git a/composer.lock b/composer.lock index bcbcbcf..1966b9e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "88ff028a715ef223af5ba078b7b289e6", + "content-hash": "02b9d7ea8d13170b3eebc548f24f169a", "packages": [ { "name": "brick/math", diff --git a/config/permission.php b/config/permission.php new file mode 100644 index 0000000..f39f6b5 --- /dev/null +++ b/config/permission.php @@ -0,0 +1,202 @@ + [ + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * Eloquent model should be used to retrieve your permissions. Of course, it + * is often just the "Permission" model but you may use whatever you like. + * + * The model you want to use as a Permission model needs to implement the + * `Spatie\Permission\Contracts\Permission` contract. + */ + + 'permission' => Spatie\Permission\Models\Permission::class, + + /* + * When using the "HasRoles" trait from this package, we need to know which + * Eloquent model should be used to retrieve your roles. Of course, it + * is often just the "Role" model but you may use whatever you like. + * + * The model you want to use as a Role model needs to implement the + * `Spatie\Permission\Contracts\Role` contract. + */ + + 'role' => Spatie\Permission\Models\Role::class, + + ], + + 'table_names' => [ + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your roles. We have chosen a basic + * default value but you may easily change it to any table you like. + */ + + 'roles' => 'roles', + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * table should be used to retrieve your permissions. We have chosen a basic + * default value but you may easily change it to any table you like. + */ + + 'permissions' => 'permissions', + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * table should be used to retrieve your models permissions. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'model_has_permissions' => 'model_has_permissions', + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your models roles. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'model_has_roles' => 'model_has_roles', + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your roles permissions. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'role_has_permissions' => 'role_has_permissions', + ], + + 'column_names' => [ + /* + * Change this if you want to name the related pivots other than defaults + */ + 'role_pivot_key' => null, // default 'role_id', + 'permission_pivot_key' => null, // default 'permission_id', + + /* + * Change this if you want to name the related model primary key other than + * `model_id`. + * + * For example, this would be nice if your primary keys are all UUIDs. In + * that case, name this `model_uuid`. + */ + + 'model_morph_key' => 'model_id', + + /* + * Change this if you want to use the teams feature and your related model's + * foreign key is other than `team_id`. + */ + + 'team_foreign_key' => 'team_id', + ], + + /* + * When set to true, the method for checking permissions will be registered on the gate. + * Set this to false if you want to implement custom logic for checking permissions. + */ + + 'register_permission_check_method' => true, + + /* + * When set to true, Laravel\Octane\Events\OperationTerminated event listener will be registered + * this will refresh permissions on every TickTerminated, TaskTerminated and RequestTerminated + * NOTE: This should not be needed in most cases, but an Octane/Vapor combination benefited from it. + */ + 'register_octane_reset_listener' => false, + + /* + * Events will fire when a role or permission is assigned/unassigned: + * \Spatie\Permission\Events\RoleAttached + * \Spatie\Permission\Events\RoleDetached + * \Spatie\Permission\Events\PermissionAttached + * \Spatie\Permission\Events\PermissionDetached + * + * To enable, set to true, and then create listeners to watch these events. + */ + 'events_enabled' => false, + + /* + * Teams Feature. + * When set to true the package implements teams using the 'team_foreign_key'. + * If you want the migrations to register the 'team_foreign_key', you must + * set this to true before doing the migration. + * If you already did the migration then you must make a new migration to also + * add 'team_foreign_key' to 'roles', 'model_has_roles', and 'model_has_permissions' + * (view the latest version of this package's migration file) + */ + + 'teams' => false, + + /* + * The class to use to resolve the permissions team id + */ + 'team_resolver' => \Spatie\Permission\DefaultTeamResolver::class, + + /* + * Passport Client Credentials Grant + * When set to true the package will use Passports Client to check permissions + */ + + 'use_passport_client_credentials' => false, + + /* + * When set to true, the required permission names are added to exception messages. + * This could be considered an information leak in some contexts, so the default + * setting is false here for optimum safety. + */ + + 'display_permission_in_exception' => false, + + /* + * When set to true, the required role names are added to exception messages. + * This could be considered an information leak in some contexts, so the default + * setting is false here for optimum safety. + */ + + 'display_role_in_exception' => false, + + /* + * By default wildcard permission lookups are disabled. + * See documentation to understand supported syntax. + */ + + 'enable_wildcard_permission' => false, + + /* + * The class to use for interpreting wildcard permissions. + * If you need to modify delimiters, override the class and specify its name here. + */ + // 'wildcard_permission' => Spatie\Permission\WildcardPermission::class, + + /* Cache-specific settings */ + + 'cache' => [ + + /* + * By default all permissions are cached for 24 hours to speed up performance. + * When permissions or roles are updated the cache is flushed automatically. + */ + + 'expiration_time' => \DateInterval::createFromDateString('24 hours'), + + /* + * The cache key used to store all permissions. + */ + + 'key' => 'spatie.permission.cache', + + /* + * You may optionally indicate a specific cache driver to use for permission and + * role caching using any of the `store` drivers listed in the cache.php config + * file. Using 'default' here means to use the `default` set in cache.php. + */ + + 'store' => 'default', + ], +]; diff --git a/docker-compose.yml b/docker-compose.yml index 934d9ac..a12f344 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -54,8 +54,6 @@ services: - chamados-network shm_size: 2gb - # No /etc/hosts do seu computador colocar a linha `127.0.0.1 auth.local` - # particularidades do protocolo oAuth1 usado na USP senhaunica-faker: image: uspdev/senhaunica-faker container_name: chamados_senhaunica-faker @@ -68,15 +66,6 @@ services: aliases: - auth.local - mailpit: - image: axllent/mailpit:latest - container_name: chamados_mailpit - ports: - - "1025:1025" # SMTP - - "8025:8025" # Interface Web - networks: - - chamados-network - networks: chamados-network: diff --git a/tests/Browser/IndexTest.php b/tests/Browser/IndexTest.php index 32189c1..75f3d3f 100644 --- a/tests/Browser/IndexTest.php +++ b/tests/Browser/IndexTest.php @@ -11,7 +11,7 @@ class IndexTest extends DuskTestCase /** * A Dusk test example. */ - public function test_example(): void + public function test_index(): void { $this->browse(function (Browser $browser) { $browser->visit('/')