/[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 6 by dpavlin, Thu Nov 29 12:36:51 2007 UTC revision 49 by dpavlin, Sun Apr 6 18:10:29 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 {  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                    } else {
18                            span { outs _("No pubicly available pictures at this time...") }
19                    }
20                  table {                  table {
                         row {  
                                 cell { _('Part of campaign') }  
                                 cell { _('Picture filename') }  
                                 cell { _('Type of picture') }  
                                 cell {}  
                         };  
21                          while ( my $f = $fc->next ) {                          while ( my $f = $fc->next ) {
22                                  $present->{ $f->filename }++;                                  $present->{ $f->filename }++;
23                                  my $delete = new_action( class => 'DeletePicture' );                                  my $delete = new_action( class => 'DeletePicture' );
24                                    my $update = new_action( class => 'UpdatePicture', record => $f );
25                                  row {                                  row {
                                         cell { $f->campaign->name }  
26                                          cell {                                          cell {
27                                                  img { attr { src => "static/pics/" . $f->filename } }                                                  attr { class => 'picture' };
28                                                    img { attr { src => "/static/pics/" . $f->filename } }
29                                                  div { tt{ $f->filename } }                                                  div { tt{ $f->filename } }
30                                          }                                          }
                                         cell { $f->type->name }  
31                                          cell {                                          cell {
32                                                  $delete->button(                                                  attr { class => 'picture-description' };
33                                                          submit => $delete,                                                  render_param( $update => 'campaign', render_mode => 'read' );
34                                                          label => _('Delete'),                                                  render_param( $update => 'type', render_mode => 'read' );
35                                                          arguments => {                                                  if ( $f->current_user_can('write') ) {
36                                                                  id => $f->id,                                                          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                          row {                          warn "current_user->id: ",current_user->id;
50                                  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' );  
51                                  row {                                  row {
52                                          cell { render_param( $create => 'campaign' ) }                                          cell { attr { colspan => 2 } h1 { _('Pending pictures') } }
53                                          cell {                                  };
54                                                  img { attr { src => "static/pics/$f" } }                                  warn "## present = ",dump( $present );
55                                                  div { tt{ $f } }                                  foreach my $f ( Arh::Model::Picture->all_filenames ) {
56                                          }                                          next if $present->{$f};
57                                          cell { render_param( $create => 'type' ) }                                          my $create = new_action( class => 'CreatePicture' );
58                                          cell {                                          row {
59                                                  $create->button(                                                  cell {
60                                                          submit => $create,                                                          attr { class => 'picture' };
61                                                          label => _('Add'),                                                          img { attr { src => "/static/pics/$f" } }
62                                                          arguments => {                                                          div { tt{ $f } }
63                                                                  filename => $f,                                                  }
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                          }                          }
# Line 71  template '/pictures' => page { Line 81  template '/pictures' => page {
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('image') or die "no image?";
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;  1;

Legend:
Removed from v.6  
changed lines
  Added in v.49

  ViewVC Help
Powered by ViewVC 1.1.26