Changeset 1334 for trunk


Ignore:
Timestamp:
05/04/15 18:23:58 (9 years ago)
Author:
nanardon
Message:

Add jquery ui menu instead flat list

Location:
trunk/LATMOS-Accounts-Web
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model/Accounts.pm

    r1049 r1334  
    2424=cut 
    2525 
     26=head1 FUNCTIONS 
     27 
     28=cut 
     29 
    2630sub new { 
    2731    my ($class) = @_; 
     
    2933        ->new(LATMOS::Accounts::Web->config->{config}), 
    3034        $class); 
     35} 
     36 
     37sub ACCEPT_CONTEXT { 
     38    my ($self, $c, $form, $object, $base) = @_; 
     39    $self->{c} = $c; 
     40    $self; 
    3141} 
    3242 
     
    4353    $self->{_default_base}->wexported(1); 
    4454    $self->{_default_base} 
     55} 
     56 
     57=head2 obj_to_label($ref) 
     58 
     59Return a proper label to display for each object 
     60 
     61=cut 
     62 
     63sub obj_to_label { 
     64    my ($self, $ref) = @_; 
     65    my $uri_part = { 
     66        user => 'Utilisateurs', 
     67        group => 'Groupes', 
     68        nethost => 'HÃŽtes réseaux', 
     69        netzone => 'Zones réseau', 
     70        site => 'Sites', 
     71        aliases => 'Alias', 
     72        service => 'Services', 
     73    }->{$ref}; 
     74} 
     75 
     76sub obj_to_uri { 
     77    my ($self, $ref, $id) = @_; 
     78    my $uri_part = { 
     79        user => 'users', 
     80        group => 'groups', 
     81        nethost => 'nethosts', 
     82        netzone => 'netzones', 
     83        site => 'sites', 
     84        aliases => 'aliases', 
     85        service => 'services', 
     86    }->{$ref} || $ref; 
     87 
     88    return $self->{c}->uri_for('/', $uri_part, ($id ? $id : ())); 
    4589} 
    4690 
  • trunk/LATMOS-Accounts-Web/root/html/includes/sidebar.tt

    r1273 r1334  
    44</form> 
    55[% IF c.user.username %] 
    6 <ul> 
    7 <li> 
    8 <a href="[% c.uri_for('/users', c.user.username) %]">Ma page</a> 
     6<ul id="menu"> 
     7 
     8<li>Mon compte: 
     9    <ul> 
     10 
     11    <li> <a href="[% c.uri_for('/users', c.user.username) %]">Ma page</a></li> 
     12 
     13    [% IF c.model('Accounts').db.check_acl('user', 'userPassword', 'w') %] 
     14    <li><a href="[% c.uri_for('/users', c.user.username, 'passwd') %]">Changer mon mot de passe</a></li> 
     15    [% END %] 
     16 
     17    <li><a href="[% c.uri_for('/logout') %]">Se déconnecter</a></li> 
     18    </ul> 
    919</li> 
    10 [% IF c.model('Accounts').db.check_acl('user', 'userPassword', 'w') %] 
    11 <li><a href="[% c.uri_for('/users', c.user.username, 'passwd') %]">Changer mon mot 
    12 de passe</a></li> 
    13 [% END %] 
    14 <li><a href="[% c.uri_for('/logout') %]">Se déconnecter</a></li> 
    15 <li> 
    16 </ul> 
    1720[% END %] 
    1821 
    19 <ul> 
    2022<li><a href="[% c.uri_for('/search', 'adv') %]">Recherche avancée</a></li> 
    21 </ul> 
    2223 
    23 <ul> 
    24 [% IF c.config.features.offices_list %] 
    25 <li><a href="[% c.uri_for('/summary', 'offices') %]">Annuaire par bureaux</a></li> 
    26 [% END %] 
    27 <li><a href="[% c.uri_for('/summary', 'departments') %]">Liste des départements</a></li> 
    28 [% IF c.config.features.mailing %] 
    29 <li><a href="[% c.uri_for('/services', 'mailing') %]">Mail séléctif</a></li> 
    30 [% END %] 
    31 </ul> 
     24<li>Outils: 
     25    <ul> 
     26    [% IF c.config.features.offices_list %] 
     27    <li><a href="[% c.uri_for('/summary', 'offices') %]">Annuaire par bureaux</a></li> 
     28    [% END %] 
    3229 
    33 [% FOREACH h = c.model('Accounts').db.search_objects('accreq', 'exported=*') %] 
    34 [% o = c.model('Accounts').db.get_object('accreq', h) %] 
    35 [% IF loop.first %] 
    36 <ul> 
    37 [% END %] 
    38 [% IF NOT o.get_attributes('hidden') %] 
    39 <li> 
    40 <a href="[% c.uri_for('/request', h) %]"> 
    41 [% o.get_attributes('description') || o.id | html %] 
    42 </a> 
     30    <li><a href="[% c.uri_for('/summary', 'departments') %]">Liste des départements</a></li> 
     31    </ul> 
    4332</li> 
    44 [% END %] 
    45 [% IF loop.last %] 
    46 </ul> 
    47 [% END %] 
    48 [% END %] 
    4933 
    50 [% reqlist = \c.model('Accounts').db.list_requests %] 
    51 [% reqlistdue = \c.model('Accounts').db.list_requests(1) %] 
    52 [% IF reqlist.size %] 
    53 <ul> 
    54 [% IF reqlistdue.size %] 
    55 <li> 
    56 <a href="[% c.uri_for('/admin', 'requests') %]">[% reqlist.size %] requêtes à 
    57 valider</a> 
     34[% FOREACH obj = c.model('Accounts').db.list_supported_objects.sort %] 
     35[% label = c.model('Accounts').obj_to_label(obj) %] 
     36[% NEXT IF NOT label %] 
     37<li>[% label | html %] 
     38    <ul> 
     39    <li><a href="[% c.model('Accounts').obj_to_uri(obj) %]">Listes</a></li> 
     40    <li><a href="[% c.uri_for('/create', obj) %]">Créer...</a></li> 
     41    <li><a href="[% c.uri_for('/search/adv', { 'otype' => obj }) %]">Rechercher...</a></li> 
     42    </ul> 
    5843</li> 
    59 [% END %] 
    60 <li> 
    61 <a href="[% c.uri_for('/admin', 'requests') %]">[% reqlist.size %] requêtes...</a> 
    62 </li> 
    63 </ul> 
    6444[% END %] 
    6545 
     
    6949</ul> 
    7050 
     51<script> 
     52$(function() { 
     53    $('#menu').menu(); 
     54}); 
     55</script> 
Note: See TracChangeset for help on using the changeset viewer.