/[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 11 - (hide annotations)
Thu Nov 29 19:04:56 2007 UTC (16 years, 4 months ago) by dpavlin
File size: 2480 byte(s)
fine-tune permissions for anonymous users
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     h1 { _("Pictures available in system") };
12     my $fc = Arh::Model::PictureCollection->new;
13     $fc->unlimit;
14     my $present;
15     form {
16     table {
17     while ( my $f = $fc->next ) {
18     $present->{ $f->filename }++;
19     my $delete = new_action( class => 'DeletePicture' );
20 dpavlin 8 my $update = new_action( class => 'UpdatePicture', record => $f );
21 dpavlin 6 row {
22     cell {
23     img { attr { src => "static/pics/" . $f->filename } }
24     div { tt{ $f->filename } }
25     }
26     cell {
27 dpavlin 8 render_param( $update => 'campaign', render_mode => 'read' );
28     render_param( $update => 'type', render_mode => 'read' );
29     div {
30     $delete->button(
31     submit => $delete,
32     label => _('Delete'),
33     arguments => {
34     id => $f->id,
35     }
36     )
37 dpavlin 7 }
38 dpavlin 6 }
39     }
40     }
41     row {
42     cell { attr { colspan => 4 } outs _('Pending pictures') }
43     };
44     warn "## present = ",dump( $present );
45     foreach my $f ( Arh::Model::Picture->all_filenames ) {
46     next if $present->{$f};
47     my $create = new_action( class => 'CreatePicture' );
48     row {
49     cell {
50     img { attr { src => "static/pics/$f" } }
51     div { tt{ $f } }
52     }
53     cell {
54 dpavlin 7 render_param( $create => 'campaign' );
55     render_param( $create => 'type' );
56 dpavlin 6 $create->button(
57     submit => $create,
58     label => _('Add'),
59     arguments => {
60     filename => $f,
61     }
62 dpavlin 7 );
63 dpavlin 6 }
64     }
65     }
66     }
67     }
68    
69     };
70    
71 dpavlin 8 template '/units' => page {
72     h1 { _("Units available in system") };
73    
74     my $units = Arh::Model::UnitCollection->new;
75     $units->unlimit;
76    
77     while ( my $u = $units->next ) {
78     unit( $u );
79     }
80     };
81    
82     sub unit {
83     my $unit = shift || die "no unit?";
84     my $a = new_action( class => 'UpdateUnit', record => $unit );
85 dpavlin 11 warn "## current_user = ",dump( current_user );
86 dpavlin 8 form {
87 dpavlin 9 foreach my $f ( qw/name number campaign material dimensions position description chronology location/ ) {
88 dpavlin 8 if ( $f eq 'material' ) {
89     my $material = $unit->material;
90     while ( my $um = $material->next ) {
91     my $m = new_action( class => 'UpdateMaterial', record => $um->material );
92     render_param( $m => 'name', label => _("Material"), render_mode => 'read' );
93     }
94     } else {
95 dpavlin 11 my %opt;
96     $opt{render_mode} = 'read'; # unless
97     warn "write $f ",$unit->current_user_can('write',$f) ? 'ok' : 'DENIED';
98     render_param( $a => $f, %opt );
99 dpavlin 8 }
100     }
101     }
102     }
103    
104 dpavlin 6 1;

  ViewVC Help
Powered by ViewVC 1.1.26