We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • Ciao a tutti!

    Ieri ho provato a filtrare l'accesso di alcune TV ad un gruppo di utenti del manager. Dopo 1 ora di tentativi vari ci ho rinunciato, forse a causa di un bug poiché penso di aver fatto tutto il necessario ( o forse sono io il pollo, molto più probabile).

    Vi spiego la mia situazione:
    Ci sono 2 gruppi di utenze:

    • Admin (io)
    • Content Editor (i gestori del sito)


    Cosa voglio fare?
    Vorrei che il gruppo Content Editor acceda alla visualizzazione/modifica di una TV SOLO se la risorsa appartiene ad un determinato ResourceGroup.

    Premessa
    - La TV è accessibile al template utilizzato, ed è spuntata l'opzione nel tab "Access Permission" che, come dice il tab stesso:
    Select the Resource Groups that this Template Variable belongs to. Only users with access to the Groups selected will be able to modify this TV. If no Groups are selected, all users with access to the Manager will be able to modify the TV.
    - Il gruppo di utenti ha i permessi per accedere e modificare risorse appartenenti al gruppo di risorse in questione.

    Il mio procedimento
    Premetto che queste risorse sono CRC che estendono modResource, quindi ho il mio controller (sia per il create che per l'update). Ho inserito quindi una piccola funzione nella classe Update del controllore che verifica (ad ogni accesso a tale risorsa) e, nel caso, aggiunge la risorsa stessa al gruppo di risorse al qual'è si rende accessibile la modifica di tale TV. E fin qui, tutto a meraviglia. La risorsa viene correttamente inserita in quel gruppo di risorse.
    (ho inserito il controllo qui per motivi che non sto ad elencare)

    A questo punto dovrei avere le carte in regola:
    - La tv è accessibile solo a quel gruppo di risorse (e chiaramente al Template che utilizzano)
    - Il gruppo di risorse è accessibile al gruppo di utenti selezionato

    Risultato:
    - Qualsiasi policy di accesso metto nel gruppo di risorse non mostra la TV nella risorsa in questione. L'unica policy che mi mostra la TV è quella di Tipo "context" che però rende accessibile tale TV anche alle risorse che NON appartengono a tale gruppo di risorse.

    Dove sbaglio??
      Francesco Mussoni | MODX Ambassador | Skype: solidusite2 | Email: [email protected]
      • 20215
      • 144 Posts
      Ho quasi il dubbio che tu abusi delle CRC wink

      Puoi filtrare la visualizzazione delle TV attraverso dei profili di Form Customization
      assegni poi il profilo creato al Gruppo utente.

      Un tutorial ben fatto http://www.cmstricks.com/blog/2012/08/27/integrating-a-template-into-modx-part-5/

      Ciao

        ----------------------------------
        canale irc Italiano #modx server: tophost.azzurra.org
      • Bellissimo tutorial, ti ringrazio per questa perla. Effettivamente non avevo considerato del tutto il Form Customization, eppure nei miei casi di studio non sono uno strumento definitivo, ma certo è che mi aiuteranno moltissimo smiley grazie!
          Francesco Mussoni | MODX Ambassador | Skype: solidusite2 | Email: [email protected]