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

Diff of /lib/Arh/View.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 9 by dpavlin, Thu Nov 29 16:40:10 2007 UTC revision 15 by dpavlin, Fri Nov 30 16:46:39 2007 UTC
# Line 8  use Jifty::View::Declare -base; Line 8  use Jifty::View::Declare -base;
8  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
9    
10  template '/pictures' => page {  template '/pictures' => page {
         h1 { _("Pictures available in system") };  
11          my $fc = Arh::Model::PictureCollection->new;          my $fc = Arh::Model::PictureCollection->new;
12          $fc->unlimit;          $fc->unlimit;
13          my $present;          my $present;
14          form {          form {
15                    if ( $fc->count ) {
16                            h1 { _("Pictures available in system") };
17                    }
18                  table {                  table {
19                          while ( my $f = $fc->next ) {                          while ( my $f = $fc->next ) {
20                                  $present->{ $f->filename }++;                                  $present->{ $f->filename }++;
# Line 20  template '/pictures' => page { Line 22  template '/pictures' => page {
22                                  my $update = new_action( class => 'UpdatePicture', record => $f );                                  my $update = new_action( class => 'UpdatePicture', record => $f );
23                                  row {                                  row {
24                                          cell {                                          cell {
25                                                    attr { class => 'picture' };
26                                                  img { attr { src => "static/pics/" . $f->filename } }                                                  img { attr { src => "static/pics/" . $f->filename } }
27                                                  div { tt{ $f->filename } }                                                  div { tt{ $f->filename } }
28                                          }                                          }
29                                          cell {                                          cell {
30                                                    attr { class => 'picture-description' };
31                                                  render_param( $update => 'campaign', render_mode => 'read' );                                                  render_param( $update => 'campaign', render_mode => 'read' );
32                                                  render_param( $update => 'type', render_mode => 'read' );                                                  render_param( $update => 'type', render_mode => 'read' );
33                                                  div {                                                  if ( $f->current_user_can('write') ) {
34                                                          $delete->button(                                                          div {
35                                                                  submit => $delete,                                                                  $delete->button(
36                                                                  label => _('Delete'),                                                                          submit => $delete,
37                                                                  arguments => {                                                                          label => _('Delete'),
38                                                                          id => $f->id,                                                                          arguments => {
39                                                                  }                                                                                  id => $f->id,
40                                                          )                                                                          }
41                                                                    )
42                                                            }
43                                                  }                                                  }
44                                          }                                          }
45                                  }                                  }
46                          }                          }
47                          row {                          warn "current_user->id: ",current_user->id;
48                                  cell { attr { colspan => 4 } outs _('Pending pictures') }                          if ( current_user->id ) {
                         };  
                         warn "## present = ",dump( $present );  
                         foreach my $f ( Arh::Model::Picture->all_filenames ) {  
                                 next if $present->{$f};  
                                 my $create = new_action( class => 'CreatePicture' );  
49                                  row {                                  row {
50                                          cell {                                          cell { attr { colspan => 2 } h1 { _('Pending pictures') } }
51                                                  img { attr { src => "static/pics/$f" } }                                  };
52                                                  div { tt{ $f } }                                  warn "## present = ",dump( $present );
53                                          }                                  foreach my $f ( Arh::Model::Picture->all_filenames ) {
54                                          cell {                                          next if $present->{$f};
55                                                  render_param( $create => 'campaign' );                                          my $create = new_action( class => 'CreatePicture' );
56                                                  render_param( $create => 'type' );                                          row {
57                                                  $create->button(                                                  cell {
58                                                          submit => $create,                                                          attr { class => 'picture' };
59                                                          label => _('Add'),                                                          img { attr { src => "static/pics/$f" } }
60                                                          arguments => {                                                          div { tt{ $f } }
61                                                                  filename => $f,                                                  }
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                                          }                                          }
75                                  }                                  }
76                          }                          }
# Line 68  template '/pictures' => page { Line 79  template '/pictures' => page {
79    
80  };  };
81    
82    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  template '/units' => page {  template '/units' => page {
89          h1 { _("Units available in system") };          h1 { _("Units available in system") };
90    
91          my $units = Arh::Model::UnitCollection->new;          my $search = Arh::Model::UnitCollection->new;
92          $units->unlimit;          $search->unlimit;
   
         while ( my $u = $units->next ) {  
                 unit( $u );  
         }  
 };  
93    
94  sub unit {          set( search_collection => $search );
95          my $unit = shift || die "no unit?";          render_region(
96          my $a = new_action( class => 'UpdateUnit', record => $unit );                  name => 'units',
97          form {                  path => '/units/list',
98                  foreach my $f ( qw/name number campaign material dimensions position description chronology location/ ) {                  defaults => {
99                          if ( $f eq 'material' ) {                          page => 1,
                                 my $material = $unit->material;  
                                 while ( my $um = $material->next ) {  
                                         my $m = new_action( class => 'UpdateMaterial', record => $um->material );  
                                         render_param( $m => 'name', label => _("Material"), render_mode => 'read' );  
                                 }  
                         } else {  
                                 render_param( $a => $f, render_mode => 'read' );  
                         }  
100                  }                  }
101          }          );
102  }  
103    };
104    
105  1;  1;

Legend:
Removed from v.9  
changed lines
  Added in v.15

  ViewVC Help
Powered by ViewVC 1.1.26