diff --git a/README.md b/README.md
index 5ba89c0..1bfa1ad 100644
--- a/README.md
+++ b/README.md
@@ -57,3 +57,18 @@ Angular CLI does not come with an end-to-end testing framework by default. You c
## Additional Resources
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
+
+## Planilha Modelo (GERAL) - Lote de Linhas
+
+- Local do botão:
+ - Página `Geral`
+ - Modal `Adicionar linha` ou `Novo cliente`
+ - Modo `Lote de Linhas`
+ - Bloco de importação por Excel
+ - Botão: `Baixar Modelo (GERAL)`
+
+- Endpoint chamado pelo front-end:
+ - `GET /api/templates/planilha-geral`
+
+- Arquivo baixado:
+ - `MODELO_GERAL_LINEGESTAO.xlsx`
diff --git a/package-lock.json b/package-lock.json
index bb6e153..bcb1605 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,6 +29,7 @@
"@types/bootstrap": "^5.2.10",
"@types/jasmine": "~5.1.0",
"@types/node": "^20.17.19",
+ "baseline-browser-mapping": "^2.10.0",
"jasmine-core": "~5.9.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
@@ -3732,13 +3733,16 @@
}
},
"node_modules/baseline-browser-mapping": {
- "version": "2.8.32",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.32.tgz",
- "integrity": "sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz",
+ "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
- "baseline-browser-mapping": "dist/cli.js"
+ "baseline-browser-mapping": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
"node_modules/beasties": {
diff --git a/package.json b/package.json
index f3f70f1..46bb015 100644
--- a/package.json
+++ b/package.json
@@ -43,6 +43,7 @@
"@types/bootstrap": "^5.2.10",
"@types/jasmine": "~5.1.0",
"@types/node": "^20.17.19",
+ "baseline-browser-mapping": "^2.10.0",
"jasmine-core": "~5.9.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index ff379d1..51c630c 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -8,8 +8,8 @@ import { Mureg } from './pages/mureg/mureg';
import { Faturamento } from './pages/faturamento/faturamento';
import { authGuard } from './guards/auth.guard';
-import { adminGuard } from './guards/admin.guard';
-import { systemAdminGuard } from './guards/system-admin.guard';
+import { sysadminOrGestorGuard } from './guards/sysadmin-or-gestor.guard';
+import { sysadminOnlyGuard } from './guards/sysadmin-only.guard';
import { DadosUsuarios } from './pages/dados-usuarios/dados-usuarios';
import { VigenciaComponent } from './pages/vigencia/vigencia';
import { TrocaNumero } from './pages/troca-numero/troca-numero';
@@ -29,20 +29,20 @@ export const routes: Routes = [
{ path: 'geral', component: Geral, canActivate: [authGuard], title: 'Geral' },
{ path: 'mureg', component: Mureg, canActivate: [authGuard], title: 'Mureg' },
- { path: 'faturamento', component: Faturamento, canActivate: [authGuard, adminGuard], title: 'Faturamento' },
+ { path: 'faturamento', component: Faturamento, canActivate: [authGuard, sysadminOrGestorGuard], title: 'Faturamento' },
{ path: 'dadosusuarios', component: DadosUsuarios, canActivate: [authGuard], title: 'Dados dos Usuários' },
{ path: 'vigencia', component: VigenciaComponent, canActivate: [authGuard], title: 'Vigência' },
{ path: 'trocanumero', component: TrocaNumero, canActivate: [authGuard], title: 'Troca de Número' },
{ path: 'notificacoes', component: Notificacoes, canActivate: [authGuard], title: 'Notificações' },
- { path: 'chips-controle-recebidos', component: ChipsControleRecebidos, canActivate: [authGuard, adminGuard], title: 'Chips Controle Recebidos' },
+ { path: 'chips-controle-recebidos', component: ChipsControleRecebidos, canActivate: [authGuard, sysadminOrGestorGuard], title: 'Chips Controle Recebidos' },
{ path: 'resumo', component: Resumo, canActivate: [authGuard], title: 'Resumo' },
- { path: 'parcelamentos', component: Parcelamentos, canActivate: [authGuard, adminGuard], title: 'Parcelamentos' },
- { path: 'historico', component: Historico, canActivate: [authGuard, adminGuard], title: 'Histórico' },
+ { path: 'parcelamentos', component: Parcelamentos, canActivate: [authGuard, sysadminOrGestorGuard], title: 'Parcelamentos' },
+ { path: 'historico', component: Historico, canActivate: [authGuard, sysadminOrGestorGuard], title: 'Histórico' },
{ path: 'perfil', component: Perfil, canActivate: [authGuard], title: 'Perfil' },
{
path: 'system/fornecer-usuario',
component: SystemProvisionUserPage,
- canActivate: [authGuard, systemAdminGuard],
+ canActivate: [authGuard, sysadminOnlyGuard],
title: 'Fornecer Usuário',
},
diff --git a/src/app/components/header/header.html b/src/app/components/header/header.html
index 24a3875..4e0f288 100644
--- a/src/app/components/header/header.html
+++ b/src/app/components/header/header.html
@@ -185,13 +185,13 @@
Perfil
-