/[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 64 by dpavlin, Mon Sep 3 20:24:03 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 {          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                  render_param( $filter => 'author' );  
22                  render_param( $filter => 'branch' );          render_param( $filter => 'author' );
23                  render_param( $filter => 'rel_path' );          render_param( $filter => 'branch' );
24                  render_param( $filter => 'search' );          render_param( $filter => 'rel_path', default => get('rel_path') );
25            render_param( $filter => 'path' );
26            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            #warn "####",dump( $filter->result->content );
42    
43            my $revisions = $filter->result->content('revisions');
44            if ( $revisions ) {
45    
46                    sub pager {
47                            my ( $action, $collection ) = @_;
48    
49                            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                  form_submit( label => _("Filter commits") );                  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    
84                    dl {
85                            attr { class => 'results' };
86    
87                            while (my $r = $revisions->next ) {
88                                    dt {
89                                            attr { class => 'commit' }
90                                            tt { $r->revision }
91                                            span { attr { class => 'author' } $r->author }
92                                            span { attr { class => 'commit_date' } $r->commit_date }
93                                    }
94    
95                                    dd {
96                                            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                    pager( $filter, $revisions );
129    
130          }          }
131    
132  }          }; #form
133    
134    };
135    

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

  ViewVC Help
Powered by ViewVC 1.1.26