/[transports]/trunk/web/templates/transports/table
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/web/templates/transports/table

Parent Directory Parent Directory | Revision Log Revision Log


Revision 98 - (hide annotations)
Fri Jun 23 21:45:37 2006 UTC (17 years, 11 months ago) by dpavlin
File size: 3806 byte(s)
better reporting of number of hits, own line for columns
1 dpavlin 37 <%args>
2     $page => 1
3 dpavlin 69 $show_description => 0
4     $show_comment => 0
5 dpavlin 96 $show_imported => 0
6 dpavlin 74 $order => 'date'
7 dpavlin 37 </%args>
8     <%init>
9 dpavlin 72
10     my $u = Jifty->web->current_user;
11    
12 dpavlin 97 # warn "user->id: ", $u->id, " ", $u->admin ? 'admin' : '', "\n";
13 dpavlin 72
14 dpavlin 37 my $transports = Transports::Model::TransportCollection->new();
15 dpavlin 96 if (Jifty->web->current_user->admin || Jifty->web->current_user->can_import) {
16     if ($show_imported) {
17     $transports->unlimit();
18     } else {
19     $transports->limit(
20     column => 'return_code',
21     operator => 'is',
22     value => 'null',
23     );
24     }
25 dpavlin 43 } else {
26     $transports->limit(
27     column => 'created_by',
28     value => Jifty->web->current_user->id,
29 dpavlin 46 );
30 dpavlin 43 }
31 dpavlin 74 $transports->order_by({ column => $order });
32 dpavlin 37 $transports->set_page_info(
33     current_page => $page,
34 dpavlin 69 per_page => 10,
35 dpavlin 37 );
36 dpavlin 46 if (my $nr = $transports->pager->total_entries) {
37 dpavlin 98 $m->out("Found $nr transports, showing ",
38     $transports->pager->first,
39     "-",
40     $transports->pager->last,
41     )
42 dpavlin 69
43 dpavlin 48 } elsif ( Jifty->web->current_user->can_import ) {
44     $m->out("No transports waiting for import.");
45 dpavlin 46 } else {
46     $m->out("No transports found.")
47     }
48 dpavlin 74
49 dpavlin 96 sub filter_table {
50     my ($name, $val, $label, $url) = @_;
51    
52     Jifty->web->link(
53 dpavlin 98 label => ( $val ? '[-]' : '[+]' ) . $label,
54 dpavlin 96 onclick => {
55     replace_with => '/transports/table',
56     args => { $name => $val ? 0 : 1 },
57     }
58     );
59 dpavlin 98
60 dpavlin 96 }
61    
62 dpavlin 37 </%init>
63    
64 dpavlin 98 <div class="cl">
65     Columns:
66 dpavlin 96 <% filter_table('show_description', $show_description, 'description') %>
67     <% filter_table('show_comment', $show_comment, 'import comment') %>
68     % if (Jifty->web->current_user->can_import) {
69     <% filter_table('show_imported', $show_imported, 'imported transports') %>
70     % }
71 dpavlin 98 </div>
72 dpavlin 69
73 dpavlin 72 <%perl>
74 dpavlin 74
75     sub th {
76     my ($label, $this_order, $order) = @_;
77 dpavlin 97 # warn "order: $order this_order: $this_order\n";
78 dpavlin 74 if ($order eq $this_order) {
79     return $label;
80     } else {
81     return Jifty->web->link(
82     label => $label,
83     onclick => {
84     args => { order => $this_order },
85     }
86     );
87     }
88     }
89    
90 dpavlin 72 </%perl>
91    
92 dpavlin 37 <table>
93     <tr>
94 dpavlin 74 <th><% th('src','source',$order) %></th>
95     <th><% th('dest','destination',$order) %></th>
96     <th><% th('class','class',$order) %></th>
97     <th><% th('req.nr','request_nr',$order) %></th>
98     <th><% th('dep','client_dependent',$order) %></th>
99     <th><% th('created by','created_by',$order) %></th>
100 dpavlin 69 % if ($show_description) {
101 dpavlin 45 <th>description</th>
102 dpavlin 69 % }
103 dpavlin 74 <th><% th('import','return_code',$order) %></th>
104 dpavlin 69 % if ($show_comment) {
105     <th>comment</th>
106     % }
107     </th>
108 dpavlin 43 % if (Jifty->web->current_user->admin) {
109 dpavlin 37 <th>&nbsp;</th>
110 dpavlin 43 % }
111 dpavlin 37 </tr>
112    
113 dpavlin 72 % my $i = 0; $transports->goto_first_item;
114 dpavlin 37 % while (my $t = $transports->next) {
115 dpavlin 69
116 dpavlin 37 <tr class="<% ++$i % 2 == 0 ? 'alt' : '' %>">
117     <td><% $t->source->name %></td>
118     <td><% $t->destination->name %></td>
119 dpavlin 45 <td><% $t->class->name %></td>
120 dpavlin 37 <td><tt><% $t->request_nr %></tt></td>
121     <td>
122     <% $t->client_dependent ? 'client' : 'none' %>
123     </td>
124 dpavlin 59 <td><em><% $t->created_by->name %></em></td>
125 dpavlin 69 % if ($show_description) {
126 dpavlin 72 <td><% $t->description || '' %></td>
127 dpavlin 69 % }
128 dpavlin 46 <td>
129 dpavlin 69 % if ($t->return_code && $t->return_code->name) {
130 dpavlin 46 <% $t->return_code->name %>
131     % } elsif (Jifty->web->current_user->can_import) {
132 dpavlin 69 <% Jifty->web->link( label => 'import', onclick => {
133     replace_with => '/transports/import',
134     args => { id => $t->id },
135     } ) %>
136 dpavlin 46 % } else {
137     pending
138     % }
139     </td>
140 dpavlin 69 % if ($show_comment) {
141 dpavlin 72 <td><% $t->comment || '' %></td>
142 dpavlin 69 % }
143 dpavlin 45 % if (Jifty->web->current_user->admin) {
144 dpavlin 69 <td><% Jifty->web->link( label => 'edit', onclick => {
145     replace_with => '/transports/edit',
146     args => { id => $t->id },
147     } ) %></td>
148 dpavlin 45 % }
149 dpavlin 37 </tr>
150     % }
151     </table>
152    
153     % if ($transports->pager->previous_page) {
154     <% Jifty->web->link(
155 dpavlin 69 label => "Previous",
156 dpavlin 37 onclick => { args => { page => $transports->pager->previous_page } }
157     ) %>
158     % }
159    
160     % if ($transports->pager->last_page > 1) {
161     page <% $page %> of <% $transports->pager->last_page %>
162     % }
163    
164     % if ($transports->pager->next_page) {
165     <% Jifty->web->link(
166 dpavlin 69 label => "Next",
167 dpavlin 37 onclick => { args => { page => $transports->pager->next_page } }
168     ) %>
169     % }
170    

  ViewVC Help
Powered by ViewVC 1.1.26