Skip to content

Revisione del sistema di permessi #792

@Dasc3er

Description

@Dasc3er

Comportamento richiesto

Molto spesso è stato richiesta una qualche forma di estensione del sistema di permessi di OpenSTAManager, in relazione a strutture particolari o anche singoli record (tra i più recenti: #186, #677, #783).
E' quindi necessario prevedere una struttura più complessa di permessi, non limitata all'attuale sistema di nessun-permesso/lettura/lettura-scrittura. Il sistema di permessi è comunque indirizzato agli utenti, e secondo questa logica non gestisce interazioni tra elementi del gestionale.

Proposta di revisione del database:

  • zz_permissions: id | element_type (classe Eloquent) | element_id | name
  • zz_group_permission: group_id | permission_id
  • zz_user_permission: user_id | permission_id

La tabelle zz_permissions deve contenere i permessi registrati nel gestionale. Questi permessi possono essere predefiniti (per esempio, permessi globali come nessun-permesso/lettura/lettura-scrittura per componenti di base come moduli/plugin, oppure visibile/nascosto per widget/stampe) oppure variabili e gestiti da Components (per esempio, il modulo Gestione documentale può utilizzare questo sistema per gestire accesso e visualizzazione dei documenti).
La gerarchia dei permessi deve prevedere la priorità dei permessi utente rispetto ai permessi del gruppo. Da definire una classe ausiliare che permetta una gestione semplificata della lettura da zz_permissions di conseguenza.

Questo sistema permetterebbe inoltre di estendere i permessi su specifici componenti del gestionale, come Note interne e Checklists.
Note Interne:

  • Crea e vedi tutto
  • Crea e vedi solo dell'utente
  • Vedi solo dell'utente
  • Nascondi tutto
    Checklists: come per le Note interne, dove Nascondi tutto -> Nascondi non assegnate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    da definireModifiche da pianficare e approfondiremiglioriaProposte di miglioramenti

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions