/[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 15 - (hide annotations)
Fri Nov 30 16:46:39 2007 UTC (16 years, 4 months ago) by dpavlin
File size: 2358 byte(s)
refactor unit around Jifty::View::Declare::CRUD
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     template '/pictures' => page {
11     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     }
18 dpavlin 6 table {
19     while ( my $f = $fc->next ) {
20     $present->{ $f->filename }++;
21     my $delete = new_action( class => 'DeletePicture' );
22 dpavlin 8 my $update = new_action( class => 'UpdatePicture', record => $f );
23 dpavlin 6 row {
24     cell {
25 dpavlin 12 attr { class => 'picture' };
26 dpavlin 6 img { attr { src => "static/pics/" . $f->filename } }
27     div { tt{ $f->filename } }
28     }
29     cell {
30 dpavlin 12 attr { class => 'picture-description' };
31 dpavlin 8 render_param( $update => 'campaign', render_mode => 'read' );
32     render_param( $update => 'type', render_mode => 'read' );
33 dpavlin 12 if ( $f->current_user_can('write') ) {
34     div {
35     $delete->button(
36     submit => $delete,
37     label => _('Delete'),
38     arguments => {
39     id => $f->id,
40     }
41     )
42     }
43 dpavlin 7 }
44 dpavlin 6 }
45     }
46     }
47 dpavlin 13 warn "current_user->id: ",current_user->id;
48     if ( current_user->id ) {
49 dpavlin 6 row {
50 dpavlin 13 cell { attr { colspan => 2 } h1 { _('Pending pictures') } }
51     };
52     warn "## present = ",dump( $present );
53     foreach my $f ( Arh::Model::Picture->all_filenames ) {
54     next if $present->{$f};
55     my $create = new_action( class => 'CreatePicture' );
56     row {
57     cell {
58     attr { class => 'picture' };
59     img { attr { src => "static/pics/$f" } }
60     div { tt{ $f } }
61     }
62     cell {
63     attr { class => 'picture-description' };
64     render_param( $create => 'campaign' );
65     render_param( $create => 'type' );
66     $create->button(
67     submit => $create,
68     label => _('Add'),
69     arguments => {
70     filename => $f,
71     }
72     );
73     }
74 dpavlin 6 }
75     }
76     }
77     }
78     }
79    
80     };
81    
82 dpavlin 15 use Jifty::View::Declare::CRUD;
83     Jifty::View::Declare::CRUD->mount_view('materials');
84    
85     use Jifty::View::Declare::CRUD;
86     Jifty::View::Declare::CRUD->mount_view('units');
87    
88 dpavlin 8 template '/units' => page {
89     h1 { _("Units available in system") };
90    
91 dpavlin 15 my $search = Arh::Model::UnitCollection->new;
92     $search->unlimit;
93 dpavlin 8
94 dpavlin 15 set( search_collection => $search );
95     render_region(
96     name => 'units',
97     path => '/units/list',
98     defaults => {
99     page => 1,
100 dpavlin 8 }
101 dpavlin 15 );
102 dpavlin 8
103 dpavlin 13 };
104    
105 dpavlin 6 1;

  ViewVC Help
Powered by ViewVC 1.1.26