/[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

Annotation of /trunk/lib/SVNBrowser/View.pm

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.26