Changeset 1711 for trunk


Ignore:
Timestamp:
02/05/16 17:24:25 (8 years ago)
Author:
nanardon
Message:

More feature on accage page

Location:
trunk/LATMOS-Accounts-Web
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Json/AccAge.pm

    r1541 r1711  
    3232    }; 
    3333 
     34    my $sortattr = $c->req->param('sort') || 'active';; 
     35    my $inactive = $c->req->param('inactive'); 
     36 
    3437    my %exists = map { $_ => 1 } $base->search_objects('user', 'active=1'); 
    3538    my %create = $base->attributes_summary_by_object('user', 'create'); 
     39    my %sort = $base->attributes_summary_by_object('user', $sortattr); 
     40 
     41    my %sortl; 
     42 
     43    foreach (keys %sort) { 
     44        my $s = $sortattr eq 'active' 
     45            ? ($exists{$_} ? 'active' : 'inactive') 
     46            : $sort{$_}[0]; 
     47        $sortl{$s} = 1; 
     48    } 
     49    $sort{'(none)'} = 1; 
    3650     
    3751    my %dates; 
    3852    foreach my $user (keys %create) { 
    39         foreach (@{ $create{$user} }) { 
    40             $_ or next; 
    41             if ($c->req->query_keywords eq 'month') { 
    42                 $_ =~ s/^(\d+-\d+).*/$1-15/; 
    43             } else { 
    44                 $_ =~ s/^(\d+).*/$1-06-30/; 
    45             } 
    46             my $status = $exists{$user} ? 'active' : 'inactive'; 
    47             $dates{active}{$_} ||= 0; 
    48             $dates{inactive}{$_} ||= 0; 
    49             $dates{$status}{$_} ++; 
     53        if (!$c->req->param('inactive')) { 
     54            $exists{$user} or next; 
     55        } 
     56        foreach my $date (@{ $create{$user} }) { 
     57            $date or next; 
     58            $date =~ s/-.*//; 
     59            my $status = $sortattr eq 'active' 
     60                ? ($exists{$user} ? 'active' : 'inactive') 
     61                : $sort{$user}[0]; 
     62 
     63            $status ||= '(none)'; 
     64 
     65            $dates{$_}{$date} ||= 0 foreach(keys %sortl); 
     66            $dates{$status}{$date} ++; 
     67 
     68            $sortl{$status} = 1; 
    5069        } 
    5170    } 
    5271 
    53     foreach my $status ('active', 'inactive') { 
     72    foreach my $status (sort keys %sortl) { 
    5473        push(@{ $graph->{data} }, [ map { [ $_, $dates{$status}{$_} +0 ] } sort { $a cmp $b } keys %{ $dates{$status} } ]); 
    5574        push(@{ $graph->{series} }, { label => $status }); 
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Summary/AccAge.pm

    r1541 r1711  
    2525    my ( $self, $c ) = @_; 
    2626 
    27     $c->stash->{jsonurl} ||= $c->uri_for('/json/accage') . '?' . $c->req->query_keywords; 
     27    $c->stash->{jsonurl} ||= $c->uri_for('/json/accage', $c->req->params); 
    2828} 
    2929 
  • trunk/LATMOS-Accounts-Web/root/html/summary/accage/index.tt

    r1543 r1711  
    1  
     1<form action="[% c.uri_for('/summary', 'accage' ) %]"> 
     2<label for=sort>Trier par</label> 
     3<select name="sort"> 
     4<option value=active 
     5    [% "selected" IF c.req.param('sort') == 'active' %]>[% l('Active/Non active') | html %]</option> 
     6<option value=department 
     7    [% "selected" IF c.req.param('sort') == 'department' %]>[% l('Department') | html %]</option> 
     8<option value=contratType 
     9    [% "selected" IF c.req.param('sort') == 'contratType' %]>[% l('Status') | html %]</option> 
     10</select> 
     11<br> 
     12<input name=inactive type=checkbox value=on [% 'checked' IF c.req.param('inactive') %]> 
     13<label for=inactive>[% l('Show inactive accounts') %]</label> 
     14<br> 
     15<input type=submit> 
     16</form> 
    217<script> 
    318$(document).ready(function(){ 
Note: See TracChangeset for help on using the changeset viewer.