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

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

  ViewVC Help
Powered by ViewVC 1.1.26