/[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 51 - (hide annotations)
Sun Apr 6 18:31:14 2008 UTC (16 years ago) by dpavlin
File size: 3254 byte(s)
more cleanup of URLs
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 28 template 'pictures' => page {
11 dpavlin 6 my $fc = Arh::Model::PictureCollection->new;
12     $fc->unlimit;
13     my $present;
14     form {
15 dpavlin 12 if ( $fc->count ) {
16     h1 { _("Pictures available in system") };
17 dpavlin 19 } else {
18     span { outs _("No pubicly available pictures at this time...") }
19 dpavlin 12 }
20 dpavlin 6 table {
21     while ( my $f = $fc->next ) {
22     $present->{ $f->filename }++;
23     my $delete = new_action( class => 'DeletePicture' );
24 dpavlin 8 my $update = new_action( class => 'UpdatePicture', record => $f );
25 dpavlin 6 row {
26     cell {
27 dpavlin 12 attr { class => 'picture' };
28 dpavlin 28 img { attr { src => "/static/pics/" . $f->filename } }
29 dpavlin 6 div { tt{ $f->filename } }
30     }
31     cell {
32 dpavlin 12 attr { class => 'picture-description' };
33 dpavlin 8 render_param( $update => 'campaign', render_mode => 'read' );
34     render_param( $update => 'type', render_mode => 'read' );
35 dpavlin 12 if ( $f->current_user_can('write') ) {
36     div {
37     $delete->button(
38     submit => $delete,
39 dpavlin 28 label => _('Delete picture'),
40 dpavlin 12 arguments => {
41     id => $f->id,
42     }
43     )
44     }
45 dpavlin 7 }
46 dpavlin 6 }
47     }
48     }
49 dpavlin 13 warn "current_user->id: ",current_user->id;
50     if ( current_user->id ) {
51 dpavlin 6 row {
52 dpavlin 13 cell { attr { colspan => 2 } h1 { _('Pending pictures') } }
53     };
54     warn "## present = ",dump( $present );
55     foreach my $f ( Arh::Model::Picture->all_filenames ) {
56     next if $present->{$f};
57     my $create = new_action( class => 'CreatePicture' );
58     row {
59     cell {
60     attr { class => 'picture' };
61 dpavlin 28 img { attr { src => "/static/pics/$f" } }
62 dpavlin 13 div { tt{ $f } }
63     }
64     cell {
65     attr { class => 'picture-description' };
66     render_param( $create => 'campaign' );
67     render_param( $create => 'type' );
68     $create->button(
69     submit => $create,
70     label => _('Add'),
71     arguments => {
72     filename => $f,
73     }
74     );
75     }
76 dpavlin 6 }
77     }
78     }
79     }
80     }
81    
82     };
83    
84 dpavlin 15 use Jifty::View::Declare::CRUD;
85     Jifty::View::Declare::CRUD->mount_view('materials');
86 dpavlin 28 Jifty::View::Declare::CRUD->mount_view('UnitPictures');
87 dpavlin 15 Jifty::View::Declare::CRUD->mount_view('units');
88 dpavlin 32 #Jifty::View::Declare::CRUD->mount_view('locations');
89 dpavlin 15
90 dpavlin 8 template '/units' => page {
91     h1 { _("Units available in system") };
92    
93 dpavlin 15 my $search = Arh::Model::UnitCollection->new;
94     $search->unlimit;
95 dpavlin 8
96 dpavlin 38 show( 'toggle_edit' ) if $search->count;
97    
98 dpavlin 15 set( search_collection => $search );
99     render_region(
100     name => 'units',
101     path => '/units/list',
102     defaults => {
103     page => 1,
104 dpavlin 8 }
105 dpavlin 15 );
106 dpavlin 8
107 dpavlin 13 };
108    
109 dpavlin 34 template 'toggle_edit' => sub {
110 dpavlin 23 my $self = shift;
111    
112 dpavlin 34 my $toggleedit = new_action(
113     class => 'ToggleEdit',
114     # moniker => 'toggle-edit',
115 dpavlin 23 );
116    
117     my $label = $self->current_user->editing ? _("Disable editing") : _("Enable editing");
118    
119     warn "## $label\n";
120    
121     form {
122 dpavlin 34 outs_raw( $toggleedit->button(
123 dpavlin 23 label => $label,
124 dpavlin 34 submit => $toggleedit,
125     ));
126 dpavlin 23 }
127    
128     };
129    
130 dpavlin 49 template 'raw_pic' => sub {
131 dpavlin 51 my $filename = get('filename') or die "no filename?";
132 dpavlin 49 my $image = Arh::Model::Picture->new;
133     $image->load_by_cols( filename => $filename );
134     if ( $image->id ) {
135     Jifty->handler->apache->content_type('image/jpg');
136     Jifty->web->out($image->content);
137     } else {
138     die "can't find picture $filename";
139     }
140     };
141    
142 dpavlin 6 1;

  ViewVC Help
Powered by ViewVC 1.1.26