[Bps-public-commit] r10878 - in RT-BugTracker: . html/Callbacks/BugTracker/Elements/Tabs html/Callbacks/BugTracker/Search html/Callbacks/BugTracker/Search/Simple.html html/Dist html/Dist/Elements html/Elements html/Search html/Ticket/Elements inc/.author inc/Module inc/Module/Install lib/RT
ruz at bestpractical.com
ruz at bestpractical.com
Tue Feb 19 09:23:06 EST 2008
Author: ruz
Date: Tue Feb 19 09:23:06 2008
New Revision: 10878
Added:
RT-BugTracker/html/Callbacks/BugTracker/Search/
RT-BugTracker/html/Callbacks/BugTracker/Search/Simple.html/
RT-BugTracker/html/Callbacks/BugTracker/Search/Simple.html/ModifyQuery
RT-BugTracker/html/Ticket/Elements/ShowQueue
Removed:
RT-BugTracker/MANIFEST.SKIP
RT-BugTracker/html/Search/
RT-BugTracker/html/Ticket/Elements/ShowBasics
RT-BugTracker/inc/.author/
Modified:
RT-BugTracker/MANIFEST
RT-BugTracker/META.yml
RT-BugTracker/Makefile.PL
RT-BugTracker/html/Callbacks/BugTracker/Elements/Tabs/Default
RT-BugTracker/html/Dist/BeginsWith.html
RT-BugTracker/html/Dist/Browse.html
RT-BugTracker/html/Dist/ByMaintainer.html
RT-BugTracker/html/Dist/Display.html
RT-BugTracker/html/Dist/Elements/DistributionList
RT-BugTracker/html/Dist/Elements/Tabs
RT-BugTracker/html/Dist/Search.html
RT-BugTracker/html/Elements/ErrorNoDist
RT-BugTracker/html/Elements/ErrorNoUser
RT-BugTracker/html/Ticket/Create.html
RT-BugTracker/inc/Module/Install.pm
RT-BugTracker/inc/Module/Install/Base.pm
RT-BugTracker/inc/Module/Install/Can.pm
RT-BugTracker/inc/Module/Install/Fetch.pm
RT-BugTracker/inc/Module/Install/Makefile.pm
RT-BugTracker/inc/Module/Install/Metadata.pm
RT-BugTracker/inc/Module/Install/RTx.pm
RT-BugTracker/inc/Module/Install/Win32.pm
RT-BugTracker/inc/Module/Install/WriteAll.pm
RT-BugTracker/lib/RT/BugTracker.pm
Log:
* import 0.02 version from private repo
Modified: RT-BugTracker/MANIFEST
==============================================================================
--- RT-BugTracker/MANIFEST (original)
+++ RT-BugTracker/MANIFEST Tue Feb 19 09:23:06 2008
@@ -1,10 +1,16 @@
+html/Callbacks/BugTracker/Elements/Tabs/Default
+html/Callbacks/BugTracker/Search/Simple.html/ModifyQuery
html/Dist/BeginsWith.html
html/Dist/Browse.html
html/Dist/ByMaintainer.html
html/Dist/Display.html
-html/Elements/DistributionList
+html/Dist/Elements/DistributionList
+html/Dist/Elements/Tabs
+html/Dist/Search.html
html/Elements/ErrorNoDist
html/Elements/ErrorNoUser
+html/Ticket/Create.html
+html/Ticket/Elements/ShowQueue
inc/Module/Install.pm
inc/Module/Install/Base.pm
inc/Module/Install/Can.pm
Modified: RT-BugTracker/META.yml
==============================================================================
--- RT-BugTracker/META.yml (original)
+++ RT-BugTracker/META.yml Tue Feb 19 09:23:06 2008
@@ -1,12 +1,17 @@
+---
abstract: Adds a UI designed for bug-tracking for developers to RT
-author: Kevin Riggle <kevinr at bestpractical.com>
+author:
+ - Kevin Riggle <kevinr at bestpractical.com>
distribution_type: module
-generated_by: Module::Install version 0.63
+generated_by: Module::Install version 0.68
license: GPL version 2
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.3.html
+ version: 1.3
name: RT-BugTracker
no_index:
directory:
- html
- inc
- t
-version: 0.01
+version: 0.02
Modified: RT-BugTracker/Makefile.PL
==============================================================================
--- RT-BugTracker/Makefile.PL (original)
+++ RT-BugTracker/Makefile.PL Tue Feb 19 09:23:06 2008
@@ -4,8 +4,7 @@
name ('RT-BugTracker');
abstract ('Adds a UI designed for bug-tracking for developers to RT');
-author ('Kevin Riggle <kevinr at bestpractical.com>');
-version_from ('lib/RT/BugTracker.pm');
+all_from ('lib/RT/BugTracker.pm');
license ('GPL version 2');
-&WriteAll;
+WriteAll();
Modified: RT-BugTracker/html/Callbacks/BugTracker/Elements/Tabs/Default
==============================================================================
--- RT-BugTracker/html/Callbacks/BugTracker/Elements/Tabs/Default (original)
+++ RT-BugTracker/html/Callbacks/BugTracker/Elements/Tabs/Default Tue Feb 19 09:23:06 2008
@@ -1,3 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
<%INIT>
$toptabs->{Ag} = { title => loc('Distributions'),
path => 'Dist/ByMaintainer.html?Name=' . $session{'CurrentUser'}->UserObj->Name,
Added: RT-BugTracker/html/Callbacks/BugTracker/Search/Simple.html/ModifyQuery
==============================================================================
--- (empty file)
+++ RT-BugTracker/html/Callbacks/BugTracker/Search/Simple.html/ModifyQuery Tue Feb 19 09:23:06 2008
@@ -0,0 +1,76 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%ARGS>
+$query => ''
+</%ARGS>
+<%INIT>
+$query = $$query if $query;
+
+# fallback if digits (ticket id)
+return if $query =~ /^\d+$/;
+
+# try to load a queue or a user; if found, redirect to the distribution page
+# instead of the search page
+
+my $queue = RT::Queue->new( $session{'CurrentUser'} );
+$queue->Load( $query );
+if ( $queue->id ) {
+ RT::Interface::Web::Redirect(
+ $RT::WebURL .'/Dist/Display.html?Queue='. $m->interp->apply_escapes( $query, 'u' )
+ );
+}
+
+my $user = RT::User->new( $session{'CurrentUser'} );
+$user->Load( $query );
+if ( $user->id ) {
+ RT::Interface::Web::Redirect(
+ $RT::WebURL .'/Dist/ByMaintainer.html?Name='. $m->interp->apply_escapes( $query, 'u' )
+ );
+}
+return;
+</%INIT>
Modified: RT-BugTracker/html/Dist/BeginsWith.html
==============================================================================
--- RT-BugTracker/html/Dist/BeginsWith.html (original)
+++ RT-BugTracker/html/Dist/BeginsWith.html Tue Feb 19 09:23:06 2008
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse at bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
Modified: RT-BugTracker/html/Dist/Browse.html
==============================================================================
--- RT-BugTracker/html/Dist/Browse.html (original)
+++ RT-BugTracker/html/Dist/Browse.html Tue Feb 19 09:23:06 2008
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse at bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
Modified: RT-BugTracker/html/Dist/ByMaintainer.html
==============================================================================
--- RT-BugTracker/html/Dist/ByMaintainer.html (original)
+++ RT-BugTracker/html/Dist/ByMaintainer.html Tue Feb 19 09:23:06 2008
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse at bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
Modified: RT-BugTracker/html/Dist/Display.html
==============================================================================
--- RT-BugTracker/html/Dist/Display.html (original)
+++ RT-BugTracker/html/Dist/Display.html Tue Feb 19 09:23:06 2008
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse at bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
@@ -101,20 +103,20 @@
my $maint = join ", ", map { $_->Name } @{$admincc->ItemsArrayRef};
my $current_subtab = "Dist/Display.html?Status="
- . $m->interp->apply_escapes($Status) . "&Queue="
- . $m->interp->apply_escapes($QueueObj->Name);
+ . $m->interp->apply_escapes($Status, 'u') . "&Queue="
+ . $m->interp->apply_escapes($QueueObj->Name, 'u');
my ($base_url) = ($current_subtab =~ m|^Dist/(.+)$|);
$base_url .= '&';
my $Query;
if ($Status eq 'Active') {
- $Query = "Queue = '" . $m->interp->apply_escapes($Queue) . "' "
+ $Query = "Queue = '$Queue' "
. "AND ( Status = 'new' OR Status = 'open' "
. "OR Status = 'stalled' )";
}
else {
- $Query = "Queue = '" . $m->interp->apply_escapes($Queue) . "' "
+ $Query = "Queue = '$Queue' "
. "AND Status = '" . $Status . q{'};
}
my $QueryString = "?".$m->comp('/Elements/QueryString',
Modified: RT-BugTracker/html/Dist/Elements/DistributionList
==============================================================================
--- RT-BugTracker/html/Dist/Elements/DistributionList (original)
+++ RT-BugTracker/html/Dist/Elements/DistributionList Tue Feb 19 09:23:06 2008
@@ -1,3 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
<div class="dist-list">
<ul>
% my $count = $queues->Count;
@@ -16,9 +63,9 @@
% }
<li>
<span class="dist-actions">
- <a href="<% $RT::WebPath %>/Dist/Display.html?Queue=<% $queue->Name %>">Bug list</a>
+ <a href="<% $RT::WebPath %>/Dist/Display.html?Queue=<% $queue->Name |uhn %>">Bug list</a>
•
- <a href="<% $RT::WebPath %>/Ticket/Create.html?Queue=<% $queue->Name %>">Report a bug</a>
+ <a href="<% $RT::WebPath %>/Ticket/Create.html?Queue=<% $queue->Name |uhn %>">Report a bug</a>
</span>
<strong><% $queue->Name %></strong>
</li>
Modified: RT-BugTracker/html/Dist/Elements/Tabs
==============================================================================
--- RT-BugTracker/html/Dist/Elements/Tabs (original)
+++ RT-BugTracker/html/Dist/Elements/Tabs Tue Feb 19 09:23:06 2008
@@ -1,3 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
<& /Elements/Tabs,
actions => $actions,
current_toptab => $current_toptab,
@@ -24,35 +71,32 @@
},
};
+my $escaped_queue = $m->interp->apply_escapes( $Queue, 'u' );
+
if ($Queue) {
- my $queue_display_path = 'Dist/Display.html?Queue=' . $m->interp->apply_escapes($Queue);
+ my $queue_display_path = 'Dist/Display.html?Queue='. $escaped_queue;
$tabs->{'H'} = {
title => $Queue,
path => $queue_display_path,
};
- my $current_tab = $queue_display_path;
}
my $dist_subtabs = {
A => {
title => loc("Active bugs"),
- path => "Dist/Display.html?Status=Active&Queue="
- . $m->interp->apply_escapes($Queue),
+ path => "Dist/Display.html?Status=Active&Queue=". $escaped_queue,
},
Ab => {
title => loc("Resolved bugs"),
- path => "Dist/Display.html?Status=Resolved&Queue="
- . $m->interp->apply_escapes($Queue),
+ path => "Dist/Display.html?Status=Resolved&Queue=". $escaped_queue,
},
Ac => {
title => loc("Rejected bugs"),
- path => "Dist/Display.html?Status=Rejected&Queue="
- . $m->interp->apply_escapes($Queue),
+ path => "Dist/Display.html?Status=Rejected&Queue=". $escaped_queue,
},
G => {
title => loc("Report a new bug"),
- path => 'Ticket/Create.html?Queue='
- . $m->interp->apply_escapes($Queue),
+ path => 'Ticket/Create.html?Queue='. $escaped_queue,
},
};
@@ -61,7 +105,7 @@
if ($current_subtab =~ m!^(Dist/Display|Ticket/Create)\.html!) {
$tabs->{'H'}->{'subtabs'} = $dist_subtabs;
$tabs->{'H'}->{'current_subtab'} = $current_subtab;
- $current_tab = 'Dist/Display.html?Queue=' . $m->interp->apply_escapes($Queue);
+ $current_tab = 'Dist/Display.html?Queue='. $escaped_queue;
}
</%INIT>
Modified: RT-BugTracker/html/Dist/Search.html
==============================================================================
--- RT-BugTracker/html/Dist/Search.html (original)
+++ RT-BugTracker/html/Dist/Search.html Tue Feb 19 09:23:06 2008
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse at bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
Modified: RT-BugTracker/html/Elements/ErrorNoDist
==============================================================================
--- RT-BugTracker/html/Elements/ErrorNoDist (original)
+++ RT-BugTracker/html/Elements/ErrorNoDist Tue Feb 19 09:23:06 2008
@@ -1,3 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => loc("Error") &>
<& /Public/Elements/Tabs,
Title => loc("Unable to find distribution"),
Modified: RT-BugTracker/html/Elements/ErrorNoUser
==============================================================================
--- RT-BugTracker/html/Elements/ErrorNoUser (original)
+++ RT-BugTracker/html/Elements/ErrorNoUser Tue Feb 19 09:23:06 2008
@@ -1,3 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => loc("Error") &>
<& /Public/Elements/Tabs,
Title => loc("Unable to find user"),
Modified: RT-BugTracker/html/Ticket/Create.html
==============================================================================
--- RT-BugTracker/html/Ticket/Create.html (original)
+++ RT-BugTracker/html/Ticket/Create.html Tue Feb 19 09:23:06 2008
@@ -2,7 +2,7 @@
%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
%# <jesse at bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
@@ -22,7 +22,9 @@
%#
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
%#
%#
%# CONTRIBUTION SUBMISSION POLICY:
@@ -50,19 +52,20 @@
Title => loc("Report a new bug in [_1]", $Queue),
Queue => $Queue,
actions => $actions,
- current_tab => 'Dist/Display.html?Queue=' . $Queue,
- current_subtab => 'Ticket/Create.html?Queue=' . $Queue,
+ current_tab => 'Dist/Display.html?Queue='. $m->interp->apply_escapes( $Queue, 'u' ),
+ current_subtab => 'Ticket/Create.html?Queue='. $m->interp->apply_escapes( $Queue, 'u' ),
&>
-<form action="<%$RT::WebPath%>/Ticket/Create.html" method="POST" enctype="multipart/form-data" name="TicketCreate">
-<input type="hidden" class="hidden" Name="id" value="new" />
+<form action="<%$RT::WebPath%>/Ticket/Create.html" method="post" enctype="multipart/form-data" name="TicketCreate">
+<input type="hidden" class="hidden" name="id" value="new" />
+<& /Elements/Callback, _CallbackName => 'FormStart',ARGSRef =>\%ARGS &>
<div id="Ticket-Create-basics">
<a name="basics"></a>
<&| /Widgets/TitleBox, title => loc("Report a new bug") &>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td class="label"><&|/l&>Queue</&>:</td>
-<td class="value"><% $QueueObj->Name %>
-<input type="hidden" class="hidden" name="Queue" Value="<%$QueueObj->Name%>">
+<td class="value"><& Elements/ShowQueue, QueueObj => $QueueObj &>
+<input type="hidden" class="hidden" name="Queue" value="<% $QueueObj->Name %>" />
</td>
<td class="label"><&|/l&>Status</&>:
</td>
@@ -81,7 +84,7 @@
<&|/l&>Requestors</&>:
</td>
<td class="value" colspan="5">
-<input name="Requestors" Value="<% ($ARGS{Requestors}) || $session{CurrentUser}->EmailAddress %>" size="40">
+<input name="Requestors" value="<% ($ARGS{Requestors}) || $session{CurrentUser}->EmailAddress %>" size="40" />
</td>
</tr>
<tr>
@@ -89,7 +92,7 @@
<&|/l&>Cc</&>:
</td>
<td class="value" colspan="5">
-<input name="Cc" size="40" value="<% $ARGS{Cc} %>"><br/>
+<input name="Cc" size="40" value="<% $ARGS{Cc} %>" /><br />
<i><font size="-2">
<&|/l&>(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <strong>will</strong> receive future updates.)</&></font></i>
</td>
@@ -99,7 +102,7 @@
<&|/l&>Admin Cc</&>:
</td>
<td class="value" colspan="5">
-<input name="AdminCc" size="40" value="<% $ARGS{AdminCc} %>"><br/>
+<input name="AdminCc" size="40" value="<% $ARGS{AdminCc} %>" /><br />
<i><font size="-2">
<&|/l&>(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <strong>will</strong> receive future updates.)</&></font></i>
</td>
@@ -109,7 +112,7 @@
<&|/l&>Subject</&>:
</td>
<td class="value" colspan="5">
-<input name="Subject" size="60" maxsize="100" value="<%$ARGS{Subject} || ''%>">
+<input name="Subject" size="60" maxsize="200" value="<%$ARGS{Subject} || ''%>" />
</td>
</tr>
<tr>
@@ -120,7 +123,7 @@
% if ($TxnCFs->Count) {
% while (my $CF = $TxnCFs->Next()) {
<tr>
-<td align="RIGHT"><% $CF->Name %>:</td>
+<td align="right"><% $CF->Name %>:</td>
<td><& /Elements/EditCustomField, CustomField => $CF, NamePrefix =>
"Object-RT::Transaction--CustomField-" &><em><% $CF->FriendlyType %></em></td>
</td></tr>
@@ -132,9 +135,9 @@
<&|/l&>Attached file</&>:
</td>
<td colspan="5">
-<&|/l&>Check box to delete</&><br/>
+<&|/l&>Check box to delete</&><br />
% foreach my $attach_name (keys %{$session{'Attachments'}}) {
-<input type="checkbox" class="checkbox" name="DeleteAttach-<%$attach_name%>" value="1"><%$attach_name%><br />
+<input type="checkbox" class="checkbox" name="DeleteAttach-<%$attach_name%>" value="1" /><%$attach_name%><br />
% } # end of foreach
</td>
</tr>
@@ -144,24 +147,24 @@
<&|/l&>Attach file</&>:
</td>
<td class="value" colspan="5">
-<input type="FILE" name="Attach">
-<input type="SUBMIT" class="button" name="AddMoreAttach" value="<&|/l&>Add More Files</&>">
+<input type="file" name="Attach" />
+<input type="submit" class="button" name="AddMoreAttach" value="<&|/l&>Add More Files</&>" />
</td>
</tr>
<tr>
<td colspan="6">
-<&|/l&>Describe the issue below</&>:<br/>
+<&|/l&>Describe the issue below</&>:<br />
% if (exists $ARGS{Content}) {
<& /Elements/MessageBox, Default => $ARGS{Content}, IncludeSignature => 0 &>
% } else {
<& /Elements/MessageBox, QuoteTransaction => $QuoteTransaction &>
%}
-<br/>
+<br />
</td>
</tr>
<tr>
-<td align="RIGHT" colspan="2">
+<td align="right" colspan="2">
</td>
</tr>
</table>
@@ -173,62 +176,62 @@
<a name="details"></a>
<table width="100%" border="0">
<tr>
-<td width="50%" valign="TOP">
+<td width="50%" valign="top">
<&| /Widgets/TitleBox, title => loc('The Basics'),
title_class=> 'inverse',
color => "#993333" &>
<table border="0">
-<tr><td align="right"><&|/l&>Priority</&>:</td><td><input size="3" name="InitialPriority" value="<% $ARGS{InitialPriority} ? $ARGS{InitialPriority} : $QueueObj->InitialPriority %>"></td></tr>
-<tr><td align="right"><&|/l&>Final Priority</&>:</td><td><input size="3" name="FinalPriority" value="<% $ARGS{FinalPriority} ? $ARGS{FinalPriority} : $QueueObj->FinalPriority %>"></td></tr>
+<tr><td align="right"><&|/l&>Priority</&>:</td><td><input size="3" name="InitialPriority" value="<% $ARGS{InitialPriority} ? $ARGS{InitialPriority} : $QueueObj->InitialPriority %>" /></td></tr>
+<tr><td align="right"><&|/l&>Final Priority</&>:</td><td><input size="3" name="FinalPriority" value="<% $ARGS{FinalPriority} ? $ARGS{FinalPriority} : $QueueObj->FinalPriority %>" /></td></tr>
<tr><td align="right"><&|/l&>Time Estimated</&>:</td>
<td>
<input size="3" name="TimeEstimated" value="<%$ARGS{TimeEstimated}%>" />
-<& /Elements/SelectTimeUnits, Name =>'TimeEstimated-TimeUnits' &>
+<& /Elements/SelectTimeUnits, Name =>'TimeEstimated' &>
</td></tr>
-<tr><td align="RIGHT"><&|/l&>Time Worked</&>:</td>
+<tr><td align="right"><&|/l&>Time Worked</&>:</td>
<td>
<input size="3" name="TimeWorked" value="<%$ARGS{TimeWorked}%>" />
-<& /Elements/SelectTimeUnits, Name =>'TimeWorked-TimeUnits' &>
+<& /Elements/SelectTimeUnits, Name =>'TimeWorked' &>
</td></tr>
<tr>
-<td align="RIGHT"><&|/l&>Time Left</&>:</td>
+<td align="right"><&|/l&>Time Left</&>:</td>
<td><input size="3" name="TimeLeft" value="<%$ARGS{TimeLeft}%>" />
-<& /Elements/SelectTimeUnits, Name =>'TimeLeft-TimeUnits' &>
+<& /Elements/SelectTimeUnits, Name =>'TimeLeft' &>
</td></tr>
</table>
</&>
-<br>
+<br />
<&|/Widgets/TitleBox, title => loc("Dates"),
title_class=> 'inverse',
color => "#663366" &>
<table>
-<tr><td class="label"><&|/l&>Starts</&>:</td><td><& /Elements/SelectDate, Name => "Starts", Value => $ARGS{Starts}, Default => '' &></td></tr>
-<tr><td class="label"><&|/l&>Due</&>:</td><td><& /Elements/SelectDate, Name => "Due", Value => $ARGS{Due}, Default => '' &></td></tr>
+<tr><td class="label"><&|/l&>Starts</&>:</td><td><& /Elements/SelectDate, Name => "Starts", Default => $ARGS{Starts} || '' &></td></tr>
+<tr><td class="label"><&|/l&>Due</&>:</td><td><& /Elements/SelectDate, Name => "Due", Default => $ARGS{Due} || '' &></td></tr>
</table>
</&>
<br />
</td>
-<td valign="TOP">
+<td valign="top">
<&| /Widgets/TitleBox, title => loc('Links'), title_class=> 'inverse' &>
<em><&|/l&>(Enter ticket ids or URLs, separated with spaces)</&></em>
<table border="0">
-<tr><td align="RIGHT"><&|/l&>Depends on</&></td><td><input size="10" name="new-DependsOn" value="<% $ARGS{'new-DependsOn'} %>"></td></tr>
-<tr><td align="RIGHT"><&|/l&>Depended on by</&></td><td><input size="10" name="DependsOn-new" value="<% $ARGS{'DependsOn-new'} %>"></td></tr>
-<tr><td align="RIGHT"><&|/l&>Parents</&></td><td><input size="10" name="new-MemberOf" value="<% $ARGS{'new-MemberOf'} %>"></td></tr>
-<tr><td align="RIGHT"><&|/l&>Children</&></td><td><input size="10" name="MemberOf-new" value="<% $ARGS{'MemberOf-new'} %>"></td></tr>
-<tr><td align="RIGHT"><&|/l&>Refers to</&></td><td><input size="10" name="new-RefersTo" value="<% $ARGS{'new-RefersTo'} %>"></td></tr>
-<tr><td align="RIGHT"><&|/l&>Referred to by</&></td><td><input size="10" name="RefersTo-new" value="<% $ARGS{'RefersTo-new'} %>"></td></tr>
+<tr><td align="right"><&|/l&>Depends on</&></td><td><input size="10" name="new-DependsOn" value="<% $ARGS{'new-DependsOn'} %>" /></td></tr>
+<tr><td align="right"><&|/l&>Depended on by</&></td><td><input size="10" name="DependsOn-new" value="<% $ARGS{'DependsOn-new'} %>" /></td></tr>
+<tr><td align="right"><&|/l&>Parents</&></td><td><input size="10" name="new-MemberOf" value="<% $ARGS{'new-MemberOf'} %>" /></td></tr>
+<tr><td align="right"><&|/l&>Children</&></td><td><input size="10" name="MemberOf-new" value="<% $ARGS{'MemberOf-new'} %>" /></td></tr>
+<tr><td align="right"><&|/l&>Refers to</&></td><td><input size="10" name="new-RefersTo" value="<% $ARGS{'new-RefersTo'} %>" /></td></tr>
+<tr><td align="right"><&|/l&>Referred to by</&></td><td><input size="10" name="RefersTo-new" value="<% $ARGS{'RefersTo-new'} %>" /></td></tr>
</table>
</&>
-<br/>
+<br />
</td>
</tr>
@@ -243,6 +246,8 @@
my @results;
my $QueueObj = new RT::Queue($session{'CurrentUser'});
$QueueObj->Load($Queue) || Abort(loc("Queue could not be loaded."));
+$Queue = $QueueObj->Name || $QueueObj->id;
+
my $CFs = $QueueObj->TicketCustomFields();
my $TxnCFs = $QueueObj->TicketTransactionCustomFields();
Added: RT-BugTracker/html/Ticket/Elements/ShowQueue
==============================================================================
--- (empty file)
+++ RT-BugTracker/html/Ticket/Elements/ShowQueue Tue Feb 19 09:23:06 2008
@@ -0,0 +1,54 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC
+%# <jesse at bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/copyleft/gpl.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<a href="<% $RT::WebPath %>/Dist/Display.html?Queue=<% $name |uhn %>"><% $name %></a>
+<%ARGS>
+$QueueObj
+</%ARGS>
+<%INIT>
+my $name = $QueueObj->Name;
+</%INIT>
Modified: RT-BugTracker/inc/Module/Install.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install.pm (original)
+++ RT-BugTracker/inc/Module/Install.pm Tue Feb 19 09:23:06 2008
@@ -28,7 +28,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '0.63';
+ $VERSION = '0.68';
}
# Whether or not inc::Module::Install is actually loaded, the
Modified: RT-BugTracker/inc/Module/Install/Base.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/Base.pm (original)
+++ RT-BugTracker/inc/Module/Install/Base.pm Tue Feb 19 09:23:06 2008
@@ -1,7 +1,7 @@
#line 1
package Module::Install::Base;
-$VERSION = '0.63';
+$VERSION = '0.68';
# Suspend handler for "redefined" warnings
BEGIN {
Modified: RT-BugTracker/inc/Module/Install/Can.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/Can.pm (original)
+++ RT-BugTracker/inc/Module/Install/Can.pm Tue Feb 19 09:23:06 2008
@@ -11,7 +11,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.63';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: RT-BugTracker/inc/Module/Install/Fetch.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/Fetch.pm (original)
+++ RT-BugTracker/inc/Module/Install/Fetch.pm Tue Feb 19 09:23:06 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.63';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: RT-BugTracker/inc/Module/Install/Makefile.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/Makefile.pm (original)
+++ RT-BugTracker/inc/Module/Install/Makefile.pm Tue Feb 19 09:23:06 2008
@@ -7,7 +7,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.63';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
@@ -17,192 +17,221 @@
my %seen = ();
sub prompt {
- shift;
+ shift;
- # Infinite loop protection
- my @c = caller();
- if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) {
- die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])";
- }
-
- # In automated testing, always use defaults
- if ( $ENV{AUTOMATED_TESTING} and ! $ENV{PERL_MM_USE_DEFAULT} ) {
- local $ENV{PERL_MM_USE_DEFAULT} = 1;
- goto &ExtUtils::MakeMaker::prompt;
- } else {
- goto &ExtUtils::MakeMaker::prompt;
- }
+ # Infinite loop protection
+ my @c = caller();
+ if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) {
+ die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])";
+ }
+
+ # In automated testing, always use defaults
+ if ( $ENV{AUTOMATED_TESTING} and ! $ENV{PERL_MM_USE_DEFAULT} ) {
+ local $ENV{PERL_MM_USE_DEFAULT} = 1;
+ goto &ExtUtils::MakeMaker::prompt;
+ } else {
+ goto &ExtUtils::MakeMaker::prompt;
+ }
}
sub makemaker_args {
- my $self = shift;
- my $args = ($self->{makemaker_args} ||= {});
- %$args = ( %$args, @_ ) if @_;
- $args;
+ my $self = shift;
+ my $args = ($self->{makemaker_args} ||= {});
+ %$args = ( %$args, @_ ) if @_;
+ $args;
}
# For mm args that take multiple space-seperated args,
# append an argument to the current list.
sub makemaker_append {
- my $self = shift;
- my $name = shift;
- my $args = $self->makemaker_args;
- $args->{name} = defined $args->{$name}
- ? join( ' ', $args->{name}, @_ )
- : join( ' ', @_ );
+ my $self = sShift;
+ my $name = shift;
+ my $args = $self->makemaker_args;
+ $args->{name} = defined $args->{$name}
+ ? join( ' ', $args->{name}, @_ )
+ : join( ' ', @_ );
}
sub build_subdirs {
- my $self = shift;
- my $subdirs = $self->makemaker_args->{DIR} ||= [];
- for my $subdir (@_) {
- push @$subdirs, $subdir;
- }
+ my $self = shift;
+ my $subdirs = $self->makemaker_args->{DIR} ||= [];
+ for my $subdir (@_) {
+ push @$subdirs, $subdir;
+ }
}
sub clean_files {
- my $self = shift;
- my $clean = $self->makemaker_args->{clean} ||= {};
- %$clean = (
- %$clean,
- FILES => join(' ', grep length, $clean->{FILES}, @_),
- );
+ my $self = shift;
+ my $clean = $self->makemaker_args->{clean} ||= {};
+ %$clean = (
+ %$clean,
+ FILES => join(' ', grep length, $clean->{FILES}, @_),
+ );
}
sub realclean_files {
- my $self = shift;
- my $realclean = $self->makemaker_args->{realclean} ||= {};
- %$realclean = (
- %$realclean,
- FILES => join(' ', grep length, $realclean->{FILES}, @_),
- );
+ my $self = shift;
+ my $realclean = $self->makemaker_args->{realclean} ||= {};
+ %$realclean = (
+ %$realclean,
+ FILES => join(' ', grep length, $realclean->{FILES}, @_),
+ );
}
sub libs {
- my $self = shift;
- my $libs = ref $_[0] ? shift : [ shift ];
- $self->makemaker_args( LIBS => $libs );
+ my $self = shift;
+ my $libs = ref $_[0] ? shift : [ shift ];
+ $self->makemaker_args( LIBS => $libs );
}
sub inc {
- my $self = shift;
- $self->makemaker_args( INC => shift );
+ my $self = shift;
+ $self->makemaker_args( INC => shift );
+}
+
+my %test_dir = ();
+
+sub _wanted_t {
+ /\.t$/ and -f $_ and $test_dir{$File::Find::dir} = 1;
+}
+
+sub tests_recursive {
+ my $self = shift;
+ if ( $self->tests ) {
+ die "tests_recursive will not work if tests are already defined";
+ }
+ my $dir = shift || 't';
+ unless ( -d $dir ) {
+ die "tests_recursive dir '$dir' does not exist";
+ }
+ require File::Find;
+ %test_dir = ();
+ File::Find::find( \&_wanted_t, $dir );
+ $self->tests( join ' ', map { "$_/*.t" } sort keys %test_dir );
}
sub write {
- my $self = shift;
- die "&Makefile->write() takes no arguments\n" if @_;
+ my $self = shift;
+ die "&Makefile->write() takes no arguments\n" if @_;
- my $args = $self->makemaker_args;
- $args->{DISTNAME} = $self->name;
- $args->{NAME} = $self->module_name || $self->name || $self->determine_NAME($args);
- $args->{VERSION} = $self->version || $self->determine_VERSION($args);
- $args->{NAME} =~ s/-/::/g;
- if ( $self->tests ) {
- $args->{test} = { TESTS => $self->tests };
- }
- if ($] >= 5.005) {
- $args->{ABSTRACT} = $self->abstract;
- $args->{AUTHOR} = $self->author;
- }
- if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
- $args->{NO_META} = 1;
- }
- if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 and $self->sign ) {
- $args->{SIGN} = 1;
- }
- unless ( $self->is_admin ) {
- delete $args->{SIGN};
- }
-
- # merge both kinds of requires into prereq_pm
- my $prereq = ($args->{PREREQ_PM} ||= {});
- %$prereq = ( %$prereq, map { @$_ } map { @$_ } grep $_,
- ($self->build_requires, $self->requires) );
-
- # merge both kinds of requires into prereq_pm
- my $subdirs = ($args->{DIR} ||= []);
- if ($self->bundles) {
- foreach my $bundle (@{ $self->bundles }) {
- my ($file, $dir) = @$bundle;
- push @$subdirs, $dir if -d $dir;
- delete $prereq->{$file};
- }
- }
-
- if ( my $perl_version = $self->perl_version ) {
- eval "use $perl_version; 1"
- or die "ERROR: perl: Version $] is installed, "
- . "but we need version >= $perl_version";
- }
-
- my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} keys %$args;
- if ($self->admin->preop) {
- $args{dist} = $self->admin->preop;
- }
+ my $args = $self->makemaker_args;
+ $args->{DISTNAME} = $self->name;
+ $args->{NAME} = $self->module_name || $self->name || $self->determine_NAME($args);
+ $args->{VERSION} = $self->version || $self->determine_VERSION($args);
+ $args->{NAME} =~ s/-/::/g;
+ if ( $self->tests ) {
+ $args->{test} = { TESTS => $self->tests };
+ }
+ if ($] >= 5.005) {
+ $args->{ABSTRACT} = $self->abstract;
+ $args->{AUTHOR} = $self->author;
+ }
+ if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
+ $args->{NO_META} = 1;
+ }
+ if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 and $self->sign ) {
+ $args->{SIGN} = 1;
+ }
+ unless ( $self->is_admin ) {
+ delete $args->{SIGN};
+ }
+
+ # merge both kinds of requires into prereq_pm
+ my $prereq = ($args->{PREREQ_PM} ||= {});
+ %$prereq = ( %$prereq,
+ map { @$_ }
+ map { @$_ }
+ grep $_,
+ ($self->build_requires, $self->requires)
+ );
+
+ # merge both kinds of requires into prereq_pm
+ my $subdirs = ($args->{DIR} ||= []);
+ if ($self->bundles) {
+ foreach my $bundle (@{ $self->bundles }) {
+ my ($file, $dir) = @$bundle;
+ push @$subdirs, $dir if -d $dir;
+ delete $prereq->{$file};
+ }
+ }
+
+ if ( my $perl_version = $self->perl_version ) {
+ eval "use $perl_version; 1"
+ or die "ERROR: perl: Version $] is installed, "
+ . "but we need version >= $perl_version";
+ }
+
+ $args->{INSTALLDIRS} = $self->installdirs;
+
+ my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} keys %$args;
+
+ my $user_preop = delete $args{dist}->{PREOP};
+ if (my $preop = $self->admin->preop($user_preop)) {
+ $args{dist} = $preop;
+ }
- my $mm = ExtUtils::MakeMaker::WriteMakefile(%args);
- $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile');
+ my $mm = ExtUtils::MakeMaker::WriteMakefile(%args);
+ $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile');
}
sub fix_up_makefile {
- my $self = shift;
- my $makefile_name = shift;
- my $top_class = ref($self->_top) || '';
- my $top_version = $self->_top->VERSION || '';
-
- my $preamble = $self->preamble
- ? "# Preamble by $top_class $top_version\n"
- . $self->preamble
- : '';
- my $postamble = "# Postamble by $top_class $top_version\n"
- . ($self->postamble || '');
-
- local *MAKEFILE;
- open MAKEFILE, "< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
- my $makefile = do { local $/; <MAKEFILE> };
- close MAKEFILE or die $!;
-
- $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
- $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
- $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g;
- $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m;
- $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m;
-
- # Module::Install will never be used to build the Core Perl
- # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks
- # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist
- $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m;
- #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m;
-
- # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well.
- $makefile =~ s/("?)-I\$\(PERL_LIB\)\1//g;
-
- # XXX - This is currently unused; not sure if it breaks other MM-users
- # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg;
-
- open MAKEFILE, "> $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
- print MAKEFILE "$preamble$makefile$postamble" or die $!;
- close MAKEFILE or die $!;
+ my $self = shift;
+ my $makefile_name = shift;
+ my $top_class = ref($self->_top) || '';
+ my $top_version = $self->_top->VERSION || '';
+
+ my $preamble = $self->preamble
+ ? "# Preamble by $top_class $top_version\n"
+ . $self->preamble
+ : '';
+ my $postamble = "# Postamble by $top_class $top_version\n"
+ . ($self->postamble || '');
+
+ local *MAKEFILE;
+ open MAKEFILE, "< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
+ my $makefile = do { local $/; <MAKEFILE> };
+ close MAKEFILE or die $!;
+
+ $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
+ $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
+ $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g;
+ $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m;
+ $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m;
+
+ # Module::Install will never be used to build the Core Perl
+ # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks
+ # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist
+ $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m;
+ #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m;
+
+ # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well.
+ $makefile =~ s/("?)-I\$\(PERL_LIB\)\1//g;
+
+ # XXX - This is currently unused; not sure if it breaks other MM-users
+ # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg;
+
+ open MAKEFILE, "> $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
+ print MAKEFILE "$preamble$makefile$postamble" or die $!;
+ close MAKEFILE or die $!;
- 1;
+ 1;
}
sub preamble {
- my ($self, $text) = @_;
- $self->{preamble} = $text . $self->{preamble} if defined $text;
- $self->{preamble};
+ my ($self, $text) = @_;
+ $self->{preamble} = $text . $self->{preamble} if defined $text;
+ $self->{preamble};
}
sub postamble {
- my ($self, $text) = @_;
- $self->{postamble} ||= $self->admin->postamble;
- $self->{postamble} .= $text if defined $text;
- $self->{postamble}
+ my ($self, $text) = @_;
+ $self->{postamble} ||= $self->admin->postamble;
+ $self->{postamble} .= $text if defined $text;
+ $self->{postamble}
}
1;
__END__
-#line 334
+#line 363
Modified: RT-BugTracker/inc/Module/Install/Metadata.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/Metadata.pm (original)
+++ RT-BugTracker/inc/Module/Install/Metadata.pm Tue Feb 19 09:23:06 2008
@@ -6,14 +6,14 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.63';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
my @scalar_keys = qw{
name module_name abstract author version license
- distribution_type perl_version tests
+ distribution_type perl_version tests installdirs
};
my @tuple_keys = qw{
@@ -56,9 +56,23 @@
};
}
+# configure_requires is currently a null-op
+sub configure_requires { 1 }
+
+# Aliases for build_requires that will have alternative
+# meanings in some future version of META.yml.
+sub test_requires { shift->build_requires(@_) }
+sub install_requires { shift->build_requires(@_) }
+
+# Aliases for installdirs options
+sub install_as_core { $_[0]->installdirs('perl') }
+sub install_as_cpan { $_[0]->installdirs('site') }
+sub install_as_site { $_[0]->installdirs('site') }
+sub install_as_vendor { $_[0]->installdirs('vendor') }
+
sub sign {
my $self = shift;
- return $self->{'values'}{'sign'} if defined wantarray and !@_;
+ return $self->{'values'}{'sign'} if defined wantarray and ! @_;
$self->{'values'}{'sign'} = ( @_ ? $_[0] : 1 );
return $self;
}
@@ -279,9 +293,11 @@
if (
$self->_slurp($file) =~ m/
- =head \d \s+
- (?:licen[cs]e|licensing|copyright|legal)\b
- (.*?)
+ (
+ =head \d \s+
+ (?:licen[cs]e|licensing|copyright|legal)\b
+ .*?
+ )
(=head\\d.*|=cut.*|)
\z
/ixms
@@ -289,19 +305,24 @@
{
my $license_text = $1;
my @phrases = (
- 'under the same (?:terms|license) as perl itself' => 'perl',
- 'GNU public license' => 'gpl',
- 'GNU lesser public license' => 'gpl',
- 'BSD license' => 'bsd',
- 'Artistic license' => 'artistic',
- 'GPL' => 'gpl',
- 'LGPL' => 'lgpl',
- 'BSD' => 'bsd',
- 'Artistic' => 'artistic',
+ 'under the same (?:terms|license) as perl itself' => 'perl', 1,
+ 'GNU public license' => 'gpl', 1,
+ 'GNU lesser public license' => 'gpl', 1,
+ 'BSD license' => 'bsd', 1,
+ 'Artistic license' => 'artistic', 1,
+ 'GPL' => 'gpl', 1,
+ 'LGPL' => 'lgpl', 1,
+ 'BSD' => 'bsd', 1,
+ 'Artistic' => 'artistic', 1,
+ 'MIT' => 'mit', 1,
+ 'proprietary' => 'proprietary', 0,
);
- while ( my ( $pattern, $license ) = splice( @phrases, 0, 2 ) ) {
+ while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
$pattern =~ s{\s+}{\\s+}g;
if ( $license_text =~ /\b$pattern\b/i ) {
+ if ( $osi and $license_text =~ /All rights reserved/i ) {
+ warn "LEGAL WARNING: 'All rights reserved' may invalidate Open Source licenses. Consider removing it.";
+ }
$self->license($license);
return 1;
}
Modified: RT-BugTracker/inc/Module/Install/RTx.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/RTx.pm (original)
+++ RT-BugTracker/inc/Module/Install/RTx.pm Tue Feb 19 09:23:06 2008
@@ -40,7 +40,7 @@
until ( eval { require RT; $RT::LocalPath } ) {
warn "Cannot find the location of RT.pm that defines \$RT::LocalPath in: @INC\n";
$_ = $self->prompt("Path to your RT.pm:") or exit;
- push @INC, $_, "$_/rt3/lib", "$_/lib/rt3";
+ push @INC, $_, "$_/rt3/lib", "$_/lib/rt3", "$_/lib";
}
}
Modified: RT-BugTracker/inc/Module/Install/Win32.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/Win32.pm (original)
+++ RT-BugTracker/inc/Module/Install/Win32.pm Tue Feb 19 09:23:06 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.63';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: RT-BugTracker/inc/Module/Install/WriteAll.pm
==============================================================================
--- RT-BugTracker/inc/Module/Install/WriteAll.pm (original)
+++ RT-BugTracker/inc/Module/Install/WriteAll.pm Tue Feb 19 09:23:06 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.63';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: RT-BugTracker/lib/RT/BugTracker.pm
==============================================================================
--- RT-BugTracker/lib/RT/BugTracker.pm (original)
+++ RT-BugTracker/lib/RT/BugTracker.pm Tue Feb 19 09:23:06 2008
@@ -1,13 +1,87 @@
-=head1 COPYRIGHT
+# BEGIN BPS TAGGED BLOCK {{{
+#
+# COPYRIGHT:
+#
+# This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC
+# <jesse at bestpractical.com>
+#
+# (Except where explicitly superseded by other copyright notices)
+#
+#
+# LICENSE:
+#
+# This work is made available to you under the terms of Version 2 of
+# the GNU General Public License. A copy of that license should have
+# been provided with this software, but in any event can be snarfed
+# from www.gnu.org.
+#
+# This work is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 or visit their web page on the internet at
+# http://www.gnu.org/copyleft/gpl.html.
+#
+#
+# CONTRIBUTION SUBMISSION POLICY:
+#
+# (The following paragraph is not intended to limit the rights granted
+# to you to modify and distribute this software under the terms of
+# the GNU General Public License and is only of importance to you if
+# you choose to contribute your changes and enhancements to the
+# community by submitting them to Best Practical Solutions, LLC.)
+#
+# By intentionally submitting any modifications, corrections or
+# derivatives to this work, or any other work intended for use with
+# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+# you are the copyright holder for those contributions and you grant
+# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+# royalty-free, perpetual, license to use, copy, create derivative
+# works based on those contributions, and sublicense and distribute
+# those contributions and any derivatives thereof.
+#
+# END BPS TAGGED BLOCK }}}
+package RT::BugTracker;
+our $VERSION = '0.02';
-This extension is Copyright (C) 2005 Best Practical Solutions, LLC.
+1;
-It is freely redistributable under the terms of version 2 of the GNU GPL.
+=head1 NAME
-=cut
+RT::BugTracker - Adds a UI designed for bug-tracking for developers to RT
-package RT::BugTracker;
+=head1 DESCRIPTION
-our $VERSION = '0.01';
+This extension changes RT's UI to make more useful when you want to
+track bug reports in many distributions. This extension is a start
+for setups like L<http://rt.cpan.org>. It's been developed to help
+authors of perl modules.
-1;
+It follows several rules to achieve the goal:
+
+=over 4
+
+=item Each queue associated with one package (distribution).
+
+=item Queue's AdminCc list is used for maintainers of the
+coresponding distribution.
+
+=item Not everything was possible to implement using callbacks
+and other clean extending methods, so some files have been
+overriden. We currently in sync with RT 3.6.6.
+
+=back
+
+=head1 SEE ALSO
+
+L<RT::BugTracker::Public>, L<RT::BugTracker::rt_cpan_org>
+
+=head1 AUTHOR
+
+Kevin Riggle E<lt>kevinr at bestpractical.comE<gt>
+
+=cut
More information about the Bps-public-commit
mailing list