[Rt-commit] r5416 - in rt/branches/3.7-EXPERIMENTAL: .
html/Admin/Tools/Shredder/Search html/Search/Elements
ruz at bestpractical.com
ruz at bestpractical.com
Thu Jun 22 17:07:49 EDT 2006
Author: ruz
Date: Thu Jun 22 17:07:48 2006
New Revision: 5416
Added:
rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/Search/
rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/Search/index.html
Modified:
rt/branches/3.7-EXPERIMENTAL/ (props changed)
rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/index.html
rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/ResultViews
Log:
r3301 at cubic-pc: cubic | 2006-06-23 01:17:08 +0400
r3300 at cubic-pc: cubic | 2006-06-23 01:16:53 +0400
* shredder link on the search results page
Added: rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/Search/index.html
==============================================================================
--- (empty file)
+++ rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/Search/index.html Thu Jun 22 17:07:48 2006
@@ -0,0 +1,74 @@
+<%ARGS>
+$Query
+$Rows => 10
+$Page => 1
+$OrderBy => 'id'
+$Order => 'ASC'
+
+$Wipeout => ''
+ at WipeoutObject => ()
+</%ARGS>
+<& /Admin/Elements/Header, Title => $title &>
+<& /Admin/Elements/ToolTabs,
+ current_tab => 'Admin/Tools/Shredder',
+ current_subtab => 'Admin/Tools/Shredder/Search',
+ Title => $title,
+&>
+<form id="shredder-search-form" action="<% $RT::WebPath %>/Admin/Tools/Shredder/Search/" method="GET">
+% foreach (qw(Query Rows Page OrderBy Order)) {
+<input type="hidden" name="<% $_ %>" value="<% $ARGS{$_} || '' %>" />
+% }
+<& /Elements/ListActions, actions => $messages{'Errors'} &>
+<& /Elements/ListActions, actions => $messages{'Success'} &>
+<& /Admin/Tools/Shredder/Elements/SelectObjects, Objects => \@objs &>
+</form>
+<%INIT>
+
+require RT::Shredder;
+my $title = loc('Wipeout found tickets');
+my %messages = ( Errors => [], Success => [] );
+
+my $objs = RT::Tickets->new( $session{'CurrentUser'} );
+$objs->FromSQL( $Query );
+$objs->RowsPerPage( $Rows );
+$objs->GotoPage( $Page );
+{
+ my @OrderBy = split /\|/, $OrderBy;
+ my @Order = split /\|/, $Order;
+ $objs->OrderByCols( map { { FIELD => $OrderBy[$_], ORDER => $Order[$_] } } ( 0 .. $#OrderBy ) );
+}
+my $catch_non_fatals = sub {
+ require RT::Shredder::Exceptions;
+ if ( my $e = RT::Shredder::Exception::Info->caught ) {
+ push @{ $messages{Errors} }, "$e";
+ $objs = undef;
+ return 1;
+ }
+ if ( UNIVERSAL::isa( $@, 'Class::Exception' ) ) {
+ $@->rethrow;
+ } else {
+ die $@;
+ }
+};
+
+if( $Wipeout ) {
+ { # use additional block({}) to effectively exit block on errors
+ my $shredder = new RT::Shredder( force => 1 );
+ my ($fn, $fh) = $shredder->SetFile;
+ push @{ $messages{'Success'} }, "SQL dump file is '$fn'";
+
+ $shredder->PutObjects( Objects => \@WipeoutObject );
+ eval { $shredder->WipeoutAll };
+ $catch_non_fatals->() && last if $@;
+
+ push @{ $messages{Success} }, 'objects were successfuly removed';
+ }
+ $objs->RedoSearch;
+}
+
+my @objs;
+{
+ my $shredder = new RT::Shredder;
+ @objs = $shredder->CastObjectsToRecords( Objects => $objs );
+}
+</%INIT>
Modified: rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/index.html
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/index.html (original)
+++ rt/branches/3.7-EXPERIMENTAL/html/Admin/Tools/Shredder/index.html Thu Jun 22 17:07:48 2006
@@ -33,11 +33,16 @@
my $catch_non_fatals = sub {
require RT::Shredder::Exceptions;
- die $@ unless my $e = RT::Shredder::Exception::Info->caught;
-
- push @{ $messages{Errors} }, "$e";
- $Search = ''; @objs = ();
- return 1;
+ if ( my $e = RT::Shredder::Exception::Info->caught ) {
+ push @{ $messages{Errors} }, "$e";
+ $Search = ''; @objs = ();
+ return 1;
+ }
+ if ( UNIVERSAL::isa( $@, Class::Exception ) ) {
+ $@->rethrow;
+ } else {
+ die $@;
+ }
};
Modified: rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/ResultViews
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/ResultViews (original)
+++ rt/branches/3.7-EXPERIMENTAL/html/Search/Elements/ResultViews Thu Jun 22 17:07:48 2006
@@ -23,3 +23,6 @@
<&|/l, $m->scomp('SelectChartType', Name => 'ChartStyle') &>style: [_1]</&>
<input type="submit" class="button" value="<%loc('Go')%>" />
</form>
+% if ( $session{'CurrentUser'}->HasRight( Right => 'SuperUser', Object => $RT::System ) ) {
+<a href="<%$RT::WebPath%>/Admin/Tools/Shredder/Search/<%$QueryString%>"><&|/l&>Shredder...</&></a>
+% }
More information about the Rt-commit
mailing list