/[Arh]/lib/Arh/View.pm
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 /lib/Arh/View.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 79 - (hide annotations)
Sat Apr 19 22:46:42 2008 UTC (16 years ago) by dpavlin
File size: 2474 byte(s)
change number of last units with links
1 dpavlin 6 package Arh::View;
2    
3     use strict;
4     use warnings;
5    
6     use Jifty::View::Declare -base;
7    
8     use Data::Dump qw/dump/;
9    
10 dpavlin 15 use Jifty::View::Declare::CRUD;
11 dpavlin 67 Jifty::View::Declare::CRUD->mount_view('Materials');
12 dpavlin 28 Jifty::View::Declare::CRUD->mount_view('UnitPictures');
13 dpavlin 67 Jifty::View::Declare::CRUD->mount_view('Units');
14     Jifty::View::Declare::CRUD->mount_view('Units', 'Arh::View::Units', '/units/bulk' );
15 dpavlin 32 #Jifty::View::Declare::CRUD->mount_view('locations');
16 dpavlin 15
17 dpavlin 8 template '/units' => page {
18     h1 { _("Units available in system") };
19    
20 dpavlin 15 my $search = Arh::Model::UnitCollection->new;
21     $search->unlimit;
22 dpavlin 8
23 dpavlin 38 show( 'toggle_edit' ) if $search->count;
24    
25 dpavlin 15 set( search_collection => $search );
26     render_region(
27     name => 'units',
28     path => '/units/list',
29     defaults => {
30     page => 1,
31 dpavlin 67 per_page => get('per_page'),
32 dpavlin 8 }
33 dpavlin 15 );
34 dpavlin 8
35 dpavlin 13 };
36    
37 dpavlin 34 template 'toggle_edit' => sub {
38 dpavlin 23 my $self = shift;
39    
40 dpavlin 59 # don't show editing for anonymous users
41     return unless $self->current_user->id;
42    
43 dpavlin 34 my $toggleedit = new_action(
44     class => 'ToggleEdit',
45     # moniker => 'toggle-edit',
46 dpavlin 23 );
47    
48     my $label = $self->current_user->editing ? _("Disable editing") : _("Enable editing");
49    
50     warn "## $label\n";
51    
52     form {
53 dpavlin 34 outs_raw( $toggleedit->button(
54 dpavlin 23 label => $label,
55 dpavlin 34 submit => $toggleedit,
56     ));
57 dpavlin 23 }
58    
59     };
60    
61 dpavlin 49 template 'raw_pic' => sub {
62 dpavlin 51 my $filename = get('filename') or die "no filename?";
63 dpavlin 49 my $image = Arh::Model::Picture->new;
64     $image->load_by_cols( filename => $filename );
65     if ( $image->id ) {
66     Jifty->handler->apache->content_type('image/jpg');
67     Jifty->web->out($image->content);
68     } else {
69     die "can't find picture $filename";
70     }
71     };
72    
73 dpavlin 78 template '/index.html' => page {
74     my $units = Arh::Model::UnitCollection->new;
75     $units->unlimit;
76     $units->order_by( column => 'id', order => 'DESC' );
77    
78     my $last = get('last') || 15;
79    
80     h1 { _("Last %1 units entered", $last) };
81    
82 dpavlin 79 div {
83     outs _('Limit:');
84     foreach my $new_last ( 15, 50, 100 ) {
85     outs_raw ' ';
86     if ( $new_last == $last ) {
87     b { $new_last }
88     } else {
89     hyperlink(
90     label => $new_last,
91     url => '/?last=' . $new_last,
92     );
93     }
94     }
95     }
96    
97 dpavlin 78 ol {
98     class is 'units';
99     for ( 1 .. $last ) {
100     my $unit = $units->next || last;
101     li {
102     outs( $unit->name, ' ' );
103     hyperlink(
104     label => $unit->unit_id,
105     url => '/units/single?id=' . $unit->id,
106     );
107     span { class is 'unit details';
108     outs join(', ', grep(defined($_),
109     $unit->subcategory,
110     $unit->category->name,
111     $unit->location->name,
112     $unit->site->name,
113     ));
114     }
115     }
116     }
117     }
118    
119     };
120    
121 dpavlin 6 1;

  ViewVC Help
Powered by ViewVC 1.1.26