Changes between Version 2 and Version 3 of UIApprofondimentiSuiBlocchi


Ignore:
Timestamp:
07/14/11 02:21:08 (3 years ago)
Author:
fero
Comment:

Azioni sui blocchi di tipo "lista di risorse"

Legend:

Unmodified
Added
Removed
Modified
  • UIApprofondimentiSuiBlocchi

    v2 v3  
    66* blocchi che includono liste di risorse 
    77 
    8 I blocchi descrivono alcune costanti nelle classi stesse. I blocchi che includono liste possono essere implementati semplicemente: 
     8=== Liste di risorse === 
     9 
     10I blocchi che includono liste possono essere implementati semplicemente: 
    911 
    1012{{{ 
     
    1921}}} 
    2022 
     23Ogni blocco può avere associate più azioni. In particolare una lista di risorsa ha sempre associata 
     24l'azione CREA. L'azione è permessa ovviamente solo se si hanno i diritti. 
    2125 
     26È molto semplice integrare le azioni in un blocco. La classe `rest.views.blocks.Action` è fatta appositamente. 
     27Nel nostro blocco non dovremo far altro che: 
     28 
     291. definire l'azione 
     302. restituirla su richiesta secondo il ruolo dell'utente implementando il metodo `_get_user_actions(request)` 
     31 
     32NOTA: queste azioni dovrebbero apparire in alto a destra di ogni blocco di riferimento,  
     33ma per ora non importa che appaiano sopra la lista di risorse in modo molto rudimentale. 
     34 
     35Questa la parte da implementare nel blocco 
     36 
     37{{{ 
     38 
     39    # Actions 
     40    ACTION_CREATE_GAS = Action( 
     41        name=CREATE,  
     42        verbose_name=_("Add GAS"),  
     43        url=urlresolvers.reverse('admin:gas_gas_add') 
     44    ) 
     45 
     46    def _get_user_actions(self, request): 
     47 
     48        user_actions = [] 
     49        if request.user.has_perm("di creare un GAS"): 
     50            user_actions.append(self.ACTION_CREATE_GAS) 
     51        return user_actions 
     52 
     53}}} 
     54 
     55'''IMPORTANTE''': le azioni possono specificare un url apposito come in questo caso, oppure 
     56assumere l'url predefinito che fa sì che ci si ritrovi il nome dell'azione (nell'esempio precedente `CREATE`), 
     57come valore del parametro `args` del metodo `get_response(request, resource_type, resource_id, args)` 
    2258 
    2359== Javascript == 
     
    2763* liste 
    2864 * in forma di elenco 
    29  * in forma di elenco dettagliato 
    30  * in forma di icone 
    31 * dettagli (TODO) 
    32 * form (TODO) 
     65 * in forma di elenco dettagliato (NOTA TODO: predisposto ma non implementato) 
     66 * in forma di icone (NOTA TODO: predisposto ma non implementato) 
     67* form 
    3368 
    3469A questo proposito è stato creato il file `static/nui/scripts/jquery.rees.js`