/[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 7 by dpavlin, Thu Nov 29 15:13:10 2007 UTC revision 79 by dpavlin, Sat Apr 19 22:46:42 2008 UTC
# Line 7  use Jifty::View::Declare -base; Line 7  use Jifty::View::Declare -base;
7    
8  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
9    
10  template '/pictures' => page {  use Jifty::View::Declare::CRUD;
11          h1 { _("Pictures available in system") };  Jifty::View::Declare::CRUD->mount_view('Materials');
12          my $fc = Arh::Model::PictureCollection->new;  Jifty::View::Declare::CRUD->mount_view('UnitPictures');
13          $fc->unlimit;  Jifty::View::Declare::CRUD->mount_view('Units');
14          my $present;  Jifty::View::Declare::CRUD->mount_view('Units', 'Arh::View::Units', '/units/bulk' );
15    #Jifty::View::Declare::CRUD->mount_view('locations');
16    
17    template '/units' => page {
18            h1 { _("Units available in system") };
19    
20            my $search = Arh::Model::UnitCollection->new;
21            $search->unlimit;
22    
23            show( 'toggle_edit' ) if $search->count;
24    
25            set( search_collection => $search );
26            render_region(
27                    name => 'units',
28                    path => '/units/list',
29                    defaults => {
30                            page => 1,
31                            per_page => get('per_page'),
32                    }
33            );
34    
35    };
36    
37    template 'toggle_edit' => sub {
38            my $self = shift;
39    
40            # don't show editing for anonymous users
41            return unless $self->current_user->id;
42    
43            my $toggleedit = new_action(
44                    class => 'ToggleEdit',
45    #               moniker => 'toggle-edit',
46            );
47    
48            my $label = $self->current_user->editing ? _("Disable editing") : _("Enable editing");
49    
50            warn "## $label\n";
51    
52          form {          form {
53                  table {                  outs_raw( $toggleedit->button(
54                          while ( my $f = $fc->next ) {                          label => $label,
55                                  $present->{ $f->filename }++;                          submit => $toggleedit,
56                                  my $delete = new_action( class => 'DeletePicture' );                  ));
57                                  row {          }
58                                          cell {  
59                                                  img { attr { src => "static/pics/" . $f->filename } }  };
60                                                  div { tt{ $f->filename } }  
61                                          }  template 'raw_pic' => sub {
62                                          cell {          my $filename = get('filename') or die "no filename?";
63                                                  ul {          my $image = Arh::Model::Picture->new;
64                                                          li { _("Part of campaign"), ': ',  $f->campaign->name; }          $image->load_by_cols( filename => $filename );
65                                                          li { _("Type of picture"), ': ', $f->type->name }          if ( $image->id ) {
66                                                          div { $delete->button(                  Jifty->handler->apache->content_type('image/jpg');
67                                                                          submit => $delete,                  Jifty->web->out($image->content);
68                                                                          label => _('Delete'),          } else {
69                                                                          arguments => {                  die "can't find picture $filename";
70                                                                                  id => $f->id,          }
71                                                                          }  };
72                                                                  )  
73                                                          }  template '/index.html' => page {
74                                                  }          my $units = Arh::Model::UnitCollection->new;
75                                          }          $units->unlimit;
76                                  }          $units->order_by( column => 'id', order => 'DESC' );
77    
78            my $last = get('last') || 15;
79    
80            h1 { _("Last %1 units entered", $last) };
81    
82            div {
83                    outs _('Limit:');
84                    foreach my $new_last ( 15, 50, 100 ) {
85                            outs_raw ' ';
86                            if ( $new_last == $last ) {
87                                    b { $new_last }
88                            } else {
89                                    hyperlink(
90                                            label => $new_last,
91                                            url => '/?last=' . $new_last,
92                                    );
93                          }                          }
94                          row {                  }
95                                  cell { attr { colspan => 4 } outs _('Pending pictures') }          }
96                          };  
97                          warn "## present = ",dump( $present );          ol {
98                          foreach my $f ( Arh::Model::Picture->all_filenames ) {                  class is 'units';
99                                  next if $present->{$f};                  for ( 1 .. $last ) {
100                                  my $create = new_action( class => 'CreatePicture' );                          my $unit = $units->next || last;
101                                  row {                          li {
102                                          cell {                                  outs( $unit->name, ' ' );
103                                                  img { attr { src => "static/pics/$f" } }                                  hyperlink(
104                                                  div { tt{ $f } }                                          label => $unit->unit_id,
105                                          }                                          url => '/units/single?id=' . $unit->id,
106                                          cell {                                  );
107                                                  render_param( $create => 'campaign' );                                  span { class is 'unit details';
108                                                  render_param( $create => 'type' );                                          outs join(', ', grep(defined($_),
109                                                  $create->button(                                                  $unit->subcategory,
110                                                          submit => $create,                                                  $unit->category->name,
111                                                          label => _('Add'),                                                  $unit->location->name,
112                                                          arguments => {                                                  $unit->site->name,
113                                                                  filename => $f,                                          ));
                                                         }  
                                                 );  
                                         }  
114                                  }                                  }
115                          }                          }
116                  }                  }

Legend:
Removed from v.7  
changed lines
  Added in v.79

  ViewVC Help
Powered by ViewVC 1.1.26