2028239759e881f35eacd25a6cabc26761783721
Nuova voce sidebar 'Configurazione AR1' (icona pi pi-id-card, href /ar1-admin,
permesso MANAGE_TENDERS) accanto a 'Rendicontazione'. Pagina dedicata
Ar1AdminConfig.js (490 LOC) con TabView PrimeReact a 4 sezioni:
1. TEMPLATE — DataTable con 3 varianti (A1/A2/A3), status+version+quadri_count.
Bottone 'Edit layout L2' (Dialog con InputTextarea JSON layout_config,
chiama PUT /admin/ar1-templates/:id/layout-config).
Bottone 'Nuova versione' (Dialog con version semver + layout + toggle
activate_now, chiama POST /admin/ar1-templates/:variant/new-version).
2. POLICY — grid 2 colonne con editor singleton:
- validity_days (InputNumber 30-1825, default 365)
- popup_dismiss_hours (InputNumber 1-168, default 24)
- company_document_category_id (InputNumber, default 4 ANTIRICICLAGGIO)
- popup_force_on_expired (InputSwitch)
- auto_archive_on_company_document (InputSwitch)
- allow_bulk_recompilation_request (InputSwitch)
Save via PUT /admin/ar1-policy.
3. REGOLE REMINDER PEC — DataTable CRUD con Dialog edit:
kind (disabled se editing), offset_days, is_recurring+recurring_interval_days,
enabled, description. Chiamate POST/PUT/DELETE /admin/ar1-pec-schedule-config.
4. INVIO MASSIVO PEC — InputText company_ids virgola-separati, Checkbox
only_expired/only_missing. Bottoni:
- Dry-run (eye icon, severity info) → chiama con dry_run=true
- Invia PEC live (send icon, severity warning) → ConfirmDialog prima di
chiamare con dry_run=false
Result box con matched/marked counts.
SERVICE — src/modules/ar1/service/ar1Service.js esteso da 164 a 213 LOC:
+ listTemplates (con query params opzionali)
+ getTemplateDetail
+ updateTemplateLayout
+ createNewTemplateVersion
+ getPolicy / updatePolicy
+ listPecSchedule / createPecRule / updatePecRule / deletePecRule
+ bulkRequestRecompilation
INTEGRAZIONE:
src/layouts/DefaultLayout/components/AppSidebar/index.js
+ voce 'Configurazione AR1' id=23 (MANAGE_TENDERS) dopo 'Rendicontazione'
src/routes.js
+ import Ar1AdminConfig
+ route /ar1-admin (solo ROLE_SUPER_ADMIN, altri PageNotFound)
VALIDAZIONE: parse-check 9 file con @babel/parser + plugin JSX: 9 OK / 0 FAIL.
GEPAFIN-FE
Gepafin Front End
Commands
npm run start - start development server
npm run build:dev - make build based on 'dev' env variables
npm run build:prod - make build based on 'prod' env variables
HUB IDs
p4lk3bcx1RStqTaIVVbXs - gepafin
t7jh5wfg9QXylNaTZkPoE - sviluppumbria
Description
Languages
JavaScript
85.9%
SCSS
14.1%