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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 73 - (show annotations)
Thu Jan 31 20:03:43 2008 UTC (16 years, 3 months ago) by dpavlin
File size: 2699 byte(s)
port /list to TD /x-list
1 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 template '/x-list' => page {
13 h1 { _("SVN Repository browser") };
14
15 form {
16
17 my $filter = Jifty->web->new_action(
18 class => 'Filter',
19 moniker => 'filter_list',
20 );
21
22 render_param( $filter => 'author' );
23 render_param( $filter => 'branch' );
24 render_param( $filter => 'rel_path' );
25 render_param( $filter => 'search' );
26
27 div { attr { class => 'inline' }
28
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
34 }
35
36 form_submit(
37 label => _("Filter commits")
38 );
39
40 #warn "####",dump( $filter->result->content );
41
42 my $revisions = $filter->result->content('revisions');
43 if ( $revisions ) {
44
45 sub pager {
46 my $revisions = shift;
47
48 div {
49 attr { class => 'pager' };
50
51 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 pager( $revisions );
76
77 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 dl {
82 attr { class => 'results' };
83 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 };
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 }
111 }
112 }
113
114 pager( $revisions );
115
116 }
117
118 }; #form
119
120 };
121

  ViewVC Help
Powered by ViewVC 1.1.26