13 |
my $filter = Jifty->web->new_action( |
my $filter = Jifty->web->new_action( |
14 |
class => 'Filter', |
class => 'Filter', |
15 |
moniker => 'filer_list', |
moniker => 'filer_list', |
|
# arguments => { |
|
|
# author => $author, |
|
|
# show_actions => $show_actions, |
|
|
# }, |
|
16 |
); |
); |
17 |
|
|
|
my $revisions = SVNBrowser::Model::RevisionCollection->new(); |
|
|
|
|
|
$author ||= $filter->argument_value('author'); |
|
|
$show_actions ||= $filter->argument_value('show_actions'); |
|
|
$page ||= $filter->argument_value('page') || 1; |
|
|
$per_page ||= $filter->argument_value('per_page') || 10; |
|
|
$from_date ||= $filter->argument_value('from_date'); |
|
|
$to_date ||= $filter->argument_value('to_date'); |
|
|
$search ||= $filter->argument_value('search'); |
|
|
$branch ||= $filter->argument_value('branch'); |
|
|
|
|
|
$revisions->unlimit(); |
|
|
|
|
|
$revisions->limit( column => 'author', value => $author, entry_aggregator => 'AND' ) if ($author); |
|
|
$revisions->limit( column => 'commit_date', operator => '>=', value => $from_date, entry_aggregator => 'AND' ) if ($from_date); |
|
|
$revisions->limit( column => 'commit_date', operator => '<=', value => $to_date, entry_aggregator => 'AND' ) if ($to_date); |
|
|
|
|
|
$revisions->limit( column => 'message', operator => 'LIKE', value => '%' . $search . '%' ) if ($search); |
|
|
|
|
|
if ($branch) { |
|
|
my $b = SVNBrowser::Model::Branch->new(); |
|
|
$b->load_by_cols( path => $branch ); |
|
|
|
|
|
my $rev_branches = $revisions->join( |
|
|
alias1 => 'main', column1 => 'revision', |
|
|
table2 => 'revision_branches', column2 => 'revision' |
|
|
); |
|
|
$revisions->limit( alias => $rev_branches, column => 'branch', value => $b->id ); |
|
|
} |
|
|
|
|
|
$revisions->order_by({ column => 'commit_date', order => 'desc' }); |
|
|
$revisions->set_page_info( |
|
|
current_page => $page, |
|
|
per_page => $per_page, |
|
|
); |
|
|
|
|
|
warn $revisions->build_select_query; |
|
|
|
|
|
$revisions->goto_first_item; |
|
|
|
|
|
|
|
|
my $actions = SVNBrowser::Model::ActionCollection->new(); |
|
|
|
|
18 |
</%init> |
</%init> |
19 |
|
|
20 |
<&| /_elements/wrapper, title => "SVN Reporitory Browser" &> |
<&| /_elements/wrapper, title => "SVN Reporitory Browser" &> |
21 |
|
|
22 |
<% Jifty->web->form->start %> |
<% Jifty->web->form->start %> |
23 |
|
|
24 |
<% $filter->form_field('author', default_value => $author ) %> |
<% $filter->form_field('author') %> |
25 |
<% $filter->form_field('branch', default_value => $branch ) %> |
<% $filter->form_field('branch') %> |
26 |
<% $filter->form_field('search', default_value => $search ) %> |
<% $filter->form_field('search') %> |
27 |
|
|
28 |
<div class="inline"> |
<div class="inline"> |
29 |
<% $filter->form_field('from_date', default_value => $from_date ) %> |
<% $filter->form_field('from_date') %> |
30 |
<% $filter->form_field('to_date', default_value => $to_date ) %> |
<% $filter->form_field('to_date') %> |
31 |
<% $filter->form_field('per_page', default_value => $per_page ) %> |
<% $filter->form_field('per_page') %> |
32 |
<% $filter->form_field('show_actions', default_value => $show_actions ) %> |
<% $filter->form_field('show_actions') %> |
33 |
</div> |
</div> |
34 |
|
|
35 |
<div style="clear: left"> |
<div style="clear: left"> |
36 |
<% $filter->button( label => 'Filter commits' ) %> |
<% $filter->button( label => 'Filter commits' ) %> |
37 |
|
|
38 |
<%perl> |
<%perl> |
|
if (my $nr = $revisions->pager->total_entries) { |
|
|
$m->out("$nr revisions found"); |
|
|
} else { |
|
|
$m->out("No revisions found in repository"); |
|
|
} |
|
39 |
</%perl> |
</%perl> |
40 |
</div> |
</div> |
41 |
|
|
42 |
|
% my $res = Jifty->web->response->result('filter_list'); |
43 |
|
% my $revisions = $res->content('revisions') if ($res); |
44 |
|
% use Data::Dump qw/dump/; warn dump($res, $revisions); |
45 |
|
% if ( $revisions ) { |
46 |
|
|
47 |
|
% my $actions = SVNBrowser::Model::ActionCollection->new(); |
48 |
<dl> |
<dl> |
49 |
% while (my $r = $revisions->next) { |
% while (my $r = $revisions->next) { |
50 |
<dt><% Jifty->web->tangent( |
<dt><% Jifty->web->tangent( |
97 |
) %> |
) %> |
98 |
% } |
% } |
99 |
|
|
100 |
|
<!-- no $revisions --> |
101 |
|
% } |
102 |
|
|
103 |
<% Jifty->web->form->end %> |
<% Jifty->web->form->end %> |
104 |
|
|
105 |
</&> |
</&> |