/[SVNBrowser]/trunk/lib/SVNBrowser/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 /trunk/lib/SVNBrowser/View.pm

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

revision 65 by dpavlin, Mon Sep 3 21:07:46 2007 UTC revision 74 by dpavlin, Thu Jan 31 21:13:49 2008 UTC
# Line 9  use Jifty::View::Declare -base; Line 9  use Jifty::View::Declare -base;
9    
10  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
11    
12  template '/x' => page {  template '/x-list' => page {
13          h1 { _("SVN Repository browser") },          h1 { _("SVN Repository browser") };
14    
15            form {
16    
17          my $filter = Jifty->web->new_action(          my $filter = Jifty->web->new_action(
18                  class => 'Filter',                  class => 'Filter',
19                  moniker => 'filter_list',                  moniker => 'filter_list',
20          );          );
21    
22          form {          render_param( $filter => 'author' );
23            render_param( $filter => 'branch' );
24                  render_param( $filter => 'author' );          render_param( $filter => 'rel_path', default => get('rel_path') );
25                  render_param( $filter => 'branch' );          render_param( $filter => 'search' );
                 render_param( $filter => 'rel_path' );  
                 render_param( $filter => 'search' );  
26    
27                  div { attr { class => 'inline' }          div { attr { class => 'inline' }
28    
29                  render_param( $filter => 'from_date' );                  render_param( $filter => 'from_date' );
30                  render_param( $filter => 'to_date' );                  render_param( $filter => 'to_date' );
31                  render_param( $filter => 'per_page' );                  render_param( $filter => 'per_page' );
32                  render_param( $filter => 'show_actions' );                  render_param( $filter => 'show_actions' );
33            
34            };
35    
36                  }          form_submit(
37                    label => _("Filter commits")
38            );
39    
40                  form_submit( label => _("Filter commits") );          #warn "####",dump( $filter->result->content );
41    
42          }          my $revisions = $filter->result->content('revisions');
43            if ( $revisions ) {
44    
45          warn "####",dump( $filter->result->content );                  sub pager {
46                            my ( $action, $collection ) = @_;
47    
48          my $revisions = $filter->result->content('revisions');                          return if $collection->pager->last_page == 1;
49    
50                            div {
51                                    attr { class => 'pager' };
52    
53                                    if ( $collection->pager->previous_page ) {
54                                            outs_raw $action->button(
55                                                    submit => $action,
56                                                    label => _("previous page"),
57                                                    arguments => { page => $collection->pager->previous_page },
58                                            );
59                                    }
60    
61                                    if ($collection->pager->last_page > 1) {
62                                            span {
63                                                    _("page"), ' ', $collection->pager->current_page, ' ',_("of"), ' ', $collection->pager->last_page
64                                            }
65                                    };
66    
67                                    if ($collection->pager->next_page) {
68                                            outs_raw( $action->button(
69                                                    submit => $action,
70                                                    label => _("next page"),
71                                                    arguments => { page => $collection->pager->next_page },
72                                            ) );
73                                    }
74                            }
75                    }
76    
77                    pager( $filter, $revisions );
78    
79                    my $show_actions = get('show_actions') || $filter->argument_value('show_actions');
80                    my $rel_path = get('rel_path') || $filter->argument_value('rel_path');
81                    warn "### show_actions = $show_actions";
82    
         if ( $revisions ) {  
83                  dl {                  dl {
84                            attr { class => 'results' };
85    
86                          while (my $r = $revisions->next ) {                          while (my $r = $revisions->next ) {
87                                  dt {                                  dt {
88                                            attr { class => 'commit' }
89                                          tt { $r->revision }                                          tt { $r->revision }
90                                          span { attr { class => 'author' } $r->author }                                          span { attr { class => 'author' } $r->author }
91                                          span { attr { class => 'commit_date' } $r->commit_date }                                          span { attr { class => 'commit_date' } $r->commit_date }
                                         # actions  
                                         span { $r->id }  
92                                  }                                  }
93    
94                                  dd {                                  dd {
95                                          pre { attr { class => 'commit_message' } $r->message }                                          pre { attr { class => 'commit_message' } $r->message };
96    
97                                            if ( $show_actions ) {
98                                                    my $actions = SVNBrowser::Model::ActionCollection->new();
99                                                    $actions->unlimit;
100                                                    $actions->limit( column => 'revision', value => $r->revision );
101                                                    $actions->limit( column => 'rel_path', value => $rel_path, operator => 'STARTSWITH' ) if ($rel_path);
102    
103                                                    ul { attr { class => 'actions' };
104                                                            while (my $a = $actions->next) {
105                                                                    li {
106                                                                            tt { attr { class => 'action-' . $a->type }
107                                                                                    outs (
108                                                                                            $a->type, ' ',
109                                                                                            $a->branch
110                                                                                    );
111                                                                                    hyperlink(
112                                                                                            label => $a->rel_path,
113                                                                                            parameters => {
114                                                                                                    rel_path => $a->rel_path,
115                                                                                            }
116                                                                                    );
117                                                                            }
118                                                                    }
119                                                            }
120                                                    }
121                                            }
122                                  }                                  }
123                          }                                }      
124                  }                  }
125    
126                  div {                  pager( $filter, $revisions );
127    
128                          hyperlink(          }
                                 label => '<<',  
                                 arguments => { page => $revisions->pager->previous_page },  
                         ) if $revisions->pager->previous_page;  
129    
130                          div {          }; #form
                                 _("page"), ' ', $revisions->pager->current_page, ' ',_("of"), ' ', $revisions->pager->last_page  
                         } if $revisions->pager->last_page > 1;  
131    
132                          hyperlink(  };
                                 label => '>>',  
                                 arguments => { page => $revisions->pager->next_page },  
                         ) if $revisions->pager->next_page;  
133    
                 }  
         }  
 }  

Legend:
Removed from v.65  
changed lines
  Added in v.74

  ViewVC Help
Powered by ViewVC 1.1.26