/[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

Contents of /lib/Arh/View.pm

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.26