From 24970e7b3fde1d521f4039fb1dbd9d858ca96eed Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 4 Aug 2010 09:25:11 +0000 Subject: fix additional instance of rt/rt problem, RT#9280 --- rt/share/html/Admin/Elements/EditCustomFields | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'rt') diff --git a/rt/share/html/Admin/Elements/EditCustomFields b/rt/share/html/Admin/Elements/EditCustomFields index 0767e4ae4..10f254006 100755 --- a/rt/share/html/Admin/Elements/EditCustomFields +++ b/rt/share/html/Admin/Elements/EditCustomFields @@ -47,7 +47,9 @@ %# END BPS TAGGED BLOCK }}} <& /Elements/ListActions, actions => \@results &> -
+% my $path = $m->request_comp->path; +% $path =~ s(^/rt)(); #hacky, dunno why this happens + -- cgit v1.2.1 From 2a3f01ee52079e883b04b3f603dbdf9f339a034b Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 4 Aug 2010 09:34:01 +0000 Subject: fix additional instance of rt/rt problem, RT#9280 --- rt/FREESIDE_MODIFIED | 1 + 1 file changed, 1 insertion(+) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index 71ec13508..ec551c818 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -18,6 +18,7 @@ lib/RT/Tickets_Overlay.pm #customfield date patch lib/RT/URI/freeside.pm lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm + share/html/Admin/Elements/EditCustomFields share/html/Admin/Users/Modify.html share/html/Elements/ColumnMap share/html/Elements/CollectionList -- cgit v1.2.1 From 7515782ca6e453f2e4c9a52c62429e73ce047247 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 15 Aug 2010 00:44:55 +0000 Subject: address root cause of rt/rt links and remove the workarounds, RT#9280 --- rt/FREESIDE_MODIFIED | 5 ----- rt/share/html/Admin/Elements/EditCustomFields | 4 +--- rt/share/html/Elements/ColumnMap | 7 +------ rt/share/html/Elements/RT__CustomField/ColumnMap | 4 +--- rt/share/html/Elements/RefreshHomepage | 6 +----- rt/share/html/Ticket/Graphs/index.html | 4 +--- 6 files changed, 5 insertions(+), 25 deletions(-) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index ec551c818..50b44ec70 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -18,16 +18,12 @@ lib/RT/Tickets_Overlay.pm #customfield date patch lib/RT/URI/freeside.pm lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm - share/html/Admin/Elements/EditCustomFields share/html/Admin/Users/Modify.html - share/html/Elements/ColumnMap share/html/Elements/CollectionList share/html/Elements/EditCustomFieldDate #customfield date patch (NEW) share/html/Elements/Header share/html/Elements/PageLayout #html/Elements/QuickCreate - share/html/Elements/RefreshHomepage - share/html/Elements/RT__CustomField/ColumnMap share/html/Elements/RT__Ticket/ColumnMap share/html/Elements/ShowCustomFieldDate #customfield date patch (NEW) share/html/Elements/SelectDate @@ -48,7 +44,6 @@ share/html/Ticket/Elements/ShowMembers_Checklist share/html/Ticket/Elements/ShowSummary share/html/Ticket/Elements/ShowTransactionAttachments share/html/Ticket/Elements/Tabs - share/html/Ticket/Graph/index.html share/html/Ticket/ModifyCustomers.html html/NoAuth/css/3.5-default/main.css html/NoAuth/css/3.5-default/misc.css diff --git a/rt/share/html/Admin/Elements/EditCustomFields b/rt/share/html/Admin/Elements/EditCustomFields index 10f254006..0767e4ae4 100755 --- a/rt/share/html/Admin/Elements/EditCustomFields +++ b/rt/share/html/Admin/Elements/EditCustomFields @@ -47,9 +47,7 @@ %# END BPS TAGGED BLOCK }}} <& /Elements/ListActions, actions => \@results &> -% my $path = $m->request_comp->path; -% $path =~ s(^/rt)(); #hacky, dunno why this happens - + diff --git a/rt/share/html/Elements/ColumnMap b/rt/share/html/Elements/ColumnMap index 6a1c23779..a1475a99d 100644 --- a/rt/share/html/Elements/ColumnMap +++ b/rt/share/html/Elements/ColumnMap @@ -157,12 +157,7 @@ my $COLUMN_MAP = { } qw(WebPath WebBaseURL WebURL)), WebRequestPath => { value => sub { substr( $m->request_path, 1 ) } }, - #WebRequestPathDir => { value => sub { substr( $m->request_comp->dir_path, 1 ) } }, - WebRequestPathDir => { value => sub { - my $wrpd = substr( $m->request_comp->dir_path, 1 ); - $wrpd =~ s(^rt/)(); #hacky, dunno why this happens - $wrpd; - } }, + WebRequestPathDir => { value => sub { substr( $m->request_comp->dir_path, 1 ) } }, }; $COLUMN_MAP->{'CF'} = $COLUMN_MAP->{'CustomField'}; diff --git a/rt/share/html/Elements/RT__CustomField/ColumnMap b/rt/share/html/Elements/RT__CustomField/ColumnMap index 0a867eb26..6d8d76a4c 100644 --- a/rt/share/html/Elements/RT__CustomField/ColumnMap +++ b/rt/share/html/Elements/RT__CustomField/ColumnMap @@ -155,9 +155,7 @@ my $COLUMN_MAP = { : ($args->{'PassArguments'}); my %pass = map { $_ => $args->{$_} } grep exists $args->{$_}, @pass; - my $path = $m->request_path; - $path =~ s(^/rt)(); #hacky, dunno why this happens - my $uri = RT->Config->Get('WebPath') . $path; + my $uri = RT->Config->Get('WebPath') . $m->request_path; my @res = ( \' + <& /Elements/Refresh, Name => 'HomeRefreshInterval', Default => $session{'home_refresh_interval'}||RT->Config->Get('HomePageRefreshInterval', $session{'CurrentUser'}) &> <& /Elements/Submit, Label => loc('Go!') &> -<%init> -my $path = $m->request_path; -$path =~ s(^/rt)(); #hacky, dunno why this happens - diff --git a/rt/share/html/Ticket/Graphs/index.html b/rt/share/html/Ticket/Graphs/index.html index 211d3a0cb..e23737c8e 100644 --- a/rt/share/html/Ticket/Graphs/index.html +++ b/rt/share/html/Ticket/Graphs/index.html @@ -56,9 +56,7 @@ <& Elements/ShowGraph, %ARGS, Ticket => $ticket &> -% my $path = $m->request_comp->path; -% $path =~ s(^/rt)(); #hacky, dunno why this happens -
+ <& Elements/EditGraphProperties, %ARGS, Ticket => $ticket &> -- cgit v1.2.1 From 2806e1967f8dbb7b15c41dd7c5bcc2eb121907f0 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 15 Aug 2010 01:32:31 +0000 Subject: fix Dashboards edit link too, RT#9412 --- rt/FREESIDE_MODIFIED | 1 + rt/share/html/Elements/Dashboards | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index 50b44ec70..813cb395e 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -20,6 +20,7 @@ lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm share/html/Admin/Users/Modify.html share/html/Elements/CollectionList + share/html/Elements/Dashboards #adding index.html to edit link share/html/Elements/EditCustomFieldDate #customfield date patch (NEW) share/html/Elements/Header share/html/Elements/PageLayout diff --git a/rt/share/html/Elements/Dashboards b/rt/share/html/Elements/Dashboards index 3653aa5b8..1a9c05299 100644 --- a/rt/share/html/Elements/Dashboards +++ b/rt/share/html/Elements/Dashboards @@ -51,7 +51,7 @@ title_href => RT->Config->Get('WebPath').'/Dashboards/index.html', bodyclass => "", titleright => loc("Edit"), - titleright_href => RT->Config->Get('WebPath').'/Dashboards/', + titleright_href => RT->Config->Get('WebPath').'/Dashboards/index.html', &> <& /Dashboards/Elements/ShowDashboards:table, -- cgit v1.2.1 From 4ccb0c66af7a6e5e3e4dc099078b08e1250226e5 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 18 Aug 2010 00:14:10 +0000 Subject: fix directory links in RT (not picking up index.html as a default), RT#9665, fallout from RT#9412 --- rt/FREESIDE_MODIFIED | 1 - rt/share/html/Elements/Dashboards | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index 813cb395e..50b44ec70 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -20,7 +20,6 @@ lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm share/html/Admin/Users/Modify.html share/html/Elements/CollectionList - share/html/Elements/Dashboards #adding index.html to edit link share/html/Elements/EditCustomFieldDate #customfield date patch (NEW) share/html/Elements/Header share/html/Elements/PageLayout diff --git a/rt/share/html/Elements/Dashboards b/rt/share/html/Elements/Dashboards index 1a9c05299..3653aa5b8 100644 --- a/rt/share/html/Elements/Dashboards +++ b/rt/share/html/Elements/Dashboards @@ -51,7 +51,7 @@ title_href => RT->Config->Get('WebPath').'/Dashboards/index.html', bodyclass => "", titleright => loc("Edit"), - titleright_href => RT->Config->Get('WebPath').'/Dashboards/index.html', + titleright_href => RT->Config->Get('WebPath').'/Dashboards/', &> <& /Dashboards/Elements/ShowDashboards:table, -- cgit v1.2.1 From d37e29db87490cba5793a0db5121b7b6010feef0 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 25 Aug 2010 22:55:25 +0000 Subject: fix fckeditor damage from dashboard fixes: Elements/Footer inadvertantly included in css and javascript, RT#9412 --- rt/FREESIDE_MODIFIED | 1 + rt/share/html/autohandler | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index 50b44ec70..e14781e70 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -18,6 +18,7 @@ lib/RT/Tickets_Overlay.pm #customfield date patch lib/RT/URI/freeside.pm lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm + share/html/autohandler #Footer getting appended where unwelcome share/html/Admin/Users/Modify.html share/html/Elements/CollectionList share/html/Elements/EditCustomFieldDate #customfield date patch (NEW) diff --git a/rt/share/html/autohandler b/rt/share/html/autohandler index 1bb2c939f..b44bd68d5 100755 --- a/rt/share/html/autohandler +++ b/rt/share/html/autohandler @@ -52,7 +52,9 @@ $m->callback( ARGSRef => \%ARGS, CallbackName => 'Init', CallbackPage => '/autoh RT::Interface::Web::HandleRequest(\%ARGS); -$m->comp( '/Elements/Footer', %ARGS ); +$m->comp( '/Elements/Footer', %ARGS ) + unless $r->content_type =~ qr<^(text|application)/(x-)?(css|javascript)>; + <%ARGS> $user => undef -- cgit v1.2.1 From 10cddd917072b9d148b30c7561db34b0133695f4 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 26 Aug 2010 06:13:21 +0000 Subject: dashboard subscription fix --- rt/share/html/Elements/Header | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'rt') diff --git a/rt/share/html/Elements/Header b/rt/share/html/Elements/Header index d970ac52f..72e3e7220 100755 --- a/rt/share/html/Elements/Header +++ b/rt/share/html/Elements/Header @@ -45,14 +45,14 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<% include( '/elements/header.html', { +<& /elements/header.html, { 'title' => $Title, 'head' => $head, 'etc' => $etc, 'nobr' => 1, 'nocss' => 1, - }) |n -%> + } +&> <%INIT> $r->headers_out->{'Pragma'} = 'no-cache'; $r->headers_out->{'Cache-control'} = 'no-cache'; -- cgit v1.2.1 From 8c5a780343e027058a51692d8b9b8140c88ce6c7 Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 1 Sep 2010 23:39:23 +0000 Subject: RT mandatory custom fields, RT#9260 --- rt/etc/schema.Pg | 1 + rt/lib/RT/CustomField.pm | 3 +++ rt/share/html/Admin/CustomFields/Modify.html | 13 ++++++++++-- .../Ticket/Elements/Tabs/Default | 12 +++++++++++ .../Ticket/Modify.html/BeforeActionList | 15 ++++++++++++++ .../Ticket/Update.html/BeforeDisplay | 24 ++++++++++++++++++++++ rt/share/html/Ticket/Elements/CheckMandatoryFields | 9 ++++++++ 7 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Elements/Tabs/Default create mode 100644 rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Modify.html/BeforeActionList create mode 100644 rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay create mode 100644 rt/share/html/Ticket/Elements/CheckMandatoryFields (limited to 'rt') diff --git a/rt/etc/schema.Pg b/rt/etc/schema.Pg index 48525c8d7..e3006d073 100755 --- a/rt/etc/schema.Pg +++ b/rt/etc/schema.Pg @@ -539,6 +539,7 @@ CREATE TABLE CustomFields ( LastUpdatedBy integer NOT NULL DEFAULT 0 , LastUpdated TIMESTAMP NULL , Disabled integer NOT NULL DEFAULT 0 , + Required integer NOT NULL DEFAULT 0 , PRIMARY KEY (id) ); diff --git a/rt/lib/RT/CustomField.pm b/rt/lib/RT/CustomField.pm index 995728f67..dc4108044 100644 --- a/rt/lib/RT/CustomField.pm +++ b/rt/lib/RT/CustomField.pm @@ -122,6 +122,7 @@ sub Create { Disabled => '0', LinkToValue => '', IncludeContentForValue => '', + Required => '0', @_); $self->SUPER::Create( @@ -381,6 +382,8 @@ sub _CoreAccessible { {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''}, Disabled => {read => 1, write => 1, sql_type => 5, length => 6, is_blob => 0, is_numeric => 1, type => 'smallint(6)', default => '0'}, + Required => + {read => 1, write => 1, sql_type => 5, length => 6, is_blob => 0, is_numeric => 1, type => 'smallint(6)', default => '0'}, } }; diff --git a/rt/share/html/Admin/CustomFields/Modify.html b/rt/share/html/Admin/CustomFields/Modify.html index f75607a8d..d2932d2d9 100644 --- a/rt/share/html/Admin/CustomFields/Modify.html +++ b/rt/share/html/Admin/CustomFields/Modify.html @@ -118,6 +118,11 @@ % } +  + /> +<&|/l&>Required for ticket resolution + +   /> @@ -171,11 +176,12 @@ else { } if ( $ARGS{'Update'} && $id ne 'new' ) { - #we're asking about enabled on the web page but really care about disabled. $ARGS{'Disabled'} = $Disabled = $Enabled? 0 : 1; + + $ARGS{'Required'} ||= 0; - my @attribs = qw(Disabled Pattern Name TypeComposite LookupType Description LinkValueTo IncludeContentForValue); + my @attribs = qw(Disabled Required Pattern Name TypeComposite LookupType Description LinkValueTo IncludeContentForValue); push @results, UpdateRecordObject( AttributesRef => \@attribs, Object => $CustomFieldObj, @@ -222,6 +228,9 @@ $id = $CustomFieldObj->id if $CustomFieldObj->id; my $EnabledChecked = qq[checked="checked"]; $EnabledChecked = '' if $CustomFieldObj->Disabled; +my $RequiredChecked = ''; +$RequiredChecked = qq[checked="checked"] if $CustomFieldObj->Required; + my @CFvalidations = ( '(?#Mandatory).', '(?#Digits)^[\d.]+$', diff --git a/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Elements/Tabs/Default b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Elements/Tabs/Default new file mode 100644 index 000000000..2c0698ec2 --- /dev/null +++ b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Elements/Tabs/Default @@ -0,0 +1,12 @@ +<%doc> +If mandatory fields aren't set yet, point the "Resolve" link back +to "Ticket Basics". + +<%init> +my $TicketObj = delete($ARGS{'Ticket'}); +my $actions = $ARGS{'actions'}; +if( $m->comp('/Ticket/Elements/CheckMandatoryFields', Ticket => $TicketObj) + ) { + $actions->{'G'}->{'path'} = 'Ticket/Modify.html?id='.$TicketObj->Id.'&resolve=1'; +} + diff --git a/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Modify.html/BeforeActionList b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Modify.html/BeforeActionList new file mode 100644 index 000000000..4779411ce --- /dev/null +++ b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Modify.html/BeforeActionList @@ -0,0 +1,15 @@ +<%init> +use Data::Dumper; +my $ARGSRef = $ARGS{'ARGSRef'}; +my $TicketObj = $ARGS{'Ticket'}; +my $results = $ARGS{'Actions'}; +if(defined($ARGSRef->{'resolve'})) { + my @errors = + $m->comp('/Ticket/Elements/CheckMandatoryFields', Ticket => $TicketObj); + return if !@errors; + my $msg = 'Missing required field'.(@errors > 1 ? 's' : '').': ' . + join(', ', map { $_->Name } @errors); + $m->notes( ('InvalidField-' . $_->Id) => 'Required' ) foreach @errors; + push @$results, $msg; +} + diff --git a/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay new file mode 100644 index 000000000..0d69bc27b --- /dev/null +++ b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay @@ -0,0 +1,24 @@ +<%doc> +When the user tries to change a ticket's status to "resolved" through +the Update interface, check mandatory fields. If they aren't all set, +redirect to Ticket Basics instead of updating. Note that this will +lose any comments/time/other information the user has entered. + + +<%init> +my $TicketObj = $ARGS{'Ticket'}; +my $ARGSRef = $ARGS{'ARGSRef'}; +my $oldStatus = $TicketObj->Status(); +my $newStatus = $ARGSRef->{'Status'} || $ARGSRef->{'DefaultStatus'}; +if( $oldStatus ne 'resolved' and + $newStatus eq 'resolved' and + $m->comp('/Ticket/Elements/CheckMandatoryFields', + Ticket => $TicketObj + ) ) { + $m->clear_buffer; + RT::Interface::Web::Redirect( + RT->Config->Get('WebURL')."Ticket/Modify.html?id=".$TicketObj->Id."&resolve=1" + ); + $m->abort; +} + diff --git a/rt/share/html/Ticket/Elements/CheckMandatoryFields b/rt/share/html/Ticket/Elements/CheckMandatoryFields new file mode 100644 index 000000000..3d0324f98 --- /dev/null +++ b/rt/share/html/Ticket/Elements/CheckMandatoryFields @@ -0,0 +1,9 @@ +<%init> + +my $TicketObj = $ARGS{'Ticket'} or return (); +my $ARGSRef = $ARGS{'ARGSRef'}; +my @fields = grep { $_->Required } + @{ $TicketObj->CustomFields->ItemsArrayRef }; +return grep { !defined($TicketObj->FirstCustomFieldValue($_->id)) } @fields; + + -- cgit v1.2.1 From 6fc2d87a0e37976a97580055e1ea0cdff0c86143 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 3 Sep 2010 19:18:47 +0000 Subject: mandatory RT fields, RT#9260 --- rt/FREESIDE_MODIFIED | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index e14781e70..d73a5e055 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -4,10 +4,14 @@ config.layout.in etc/RT_Config.pm.in etc/RT_Config.pm etc/RT_SiteConfig.pm + etc/schema.Pg + lib/RT/Config.pm +lib/RT?CustomField.pm #CheckMandatoryFields lib/RT/CustomField_Overlay.pm #customfield date patch lib/RT/Interface/Web.pm #customfield date patch lib/RT/Interface/Web_Vendor.pm + lib/RT/Interface/Web/Handler.pm #freeside comp_root for dashboard emails lib/RT/Record.pm #and customfield date patch lib/RT/SearchBuilder.pm #need DBIx::SearchBuilder >= 1.36 for Pg 8.1+ lib/RT/Transaction_Overlay.pm @@ -18,7 +22,9 @@ lib/RT/Tickets_Overlay.pm #customfield date patch lib/RT/URI/freeside.pm lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm + share/html/autohandler #Footer getting appended where unwelcome + share/html/Admin/CustomFields/Modify.html #CheckMandatoryFields share/html/Admin/Users/Modify.html share/html/Elements/CollectionList share/html/Elements/EditCustomFieldDate #customfield date patch (NEW) @@ -38,6 +44,7 @@ share/html/Elements/ShowLink_Checklist share/html/Ticket/Checklist.html share/html/Ticket/Display.html share/html/Ticket/Elements/AddCustomers + share/html/Ticket/Elements/CheckMandatoryFields share/html/Ticket/Elements/EditCustomers share/html/Ticket/Elements/ShowCustomers share/html/Ticket/Elements/ShowMembers_Checklist @@ -63,3 +70,6 @@ share/html/Elements/EditCustomers share/html/Widgets/TitleBoxEnd share/html/Callbacks/RTx-Checklist/* + +share/html/Callbacks/CheckMandatoryFields/* + -- cgit v1.2.1 From 72bf8f0f896709bdafe88c0232bcd1758bab5796 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 10 Sep 2010 06:17:04 +0000 Subject: fix for spurious customers appearing, thanks to Erik L --- rt/lib/RT/Ticket_Overlay.pm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'rt') diff --git a/rt/lib/RT/Ticket_Overlay.pm b/rt/lib/RT/Ticket_Overlay.pm index b60ae38bd..8d04742e9 100644 --- a/rt/lib/RT/Ticket_Overlay.pm +++ b/rt/lib/RT/Ticket_Overlay.pm @@ -2312,6 +2312,16 @@ sub _Links { return $links; } + # without this you will also get RT::User(s) instead of tickets! + if ($field == 'Base' and $type == 'MemberOf') { + my $rtname = RT->Config->Get('rtname'); + $links->Limit( + FIELD => 'Base', + OPERATOR => 'STARTSWITH', + VALUE => "fsck.com-rt://$rtname/ticket/", + ); + } + # Maybe this ticket is a merge ticket my $limit_on = 'Local'. $field; # at least to myself -- cgit v1.2.1 From 9b05a3660eabd3215bdebf9429eb490b41570436 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 17 Sep 2010 23:32:33 +0000 Subject: refactor giant cust_main.pm a little in preparation of adding API methods for maestro, RT#9967 --- rt/lib/RT/URI/freeside/Internal.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'rt') diff --git a/rt/lib/RT/URI/freeside/Internal.pm b/rt/lib/RT/URI/freeside/Internal.pm index bd7c42ccf..b5af134ac 100644 --- a/rt/lib/RT/URI/freeside/Internal.pm +++ b/rt/lib/RT/URI/freeside/Internal.pm @@ -104,13 +104,13 @@ sub FreesideGetConfig { sub smart_search { #Subroutine - return map { { $_->hash } } &FS::cust_main::smart_search(@_); + return map { { $_->hash } } &FS::cust_main::Search::smart_search(@_); } sub email_search { #Subroutine - return map { { $_->hash } } &FS::cust_main::email_search(@_); + return map { { $_->hash } } &FS::cust_main::Search::email_search(@_); } -- cgit v1.2.1 From 97803d56c88dc4760140d912a76cb2730fcbf713 Mon Sep 17 00:00:00 2001 From: mark Date: Sat, 2 Oct 2010 20:54:27 +0000 Subject: mandatory custom field flag, RT#9260 --- rt/FREESIDE_MODIFIED | 3 ++- rt/etc/schema.mysql-4.1 | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'rt') diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index d73a5e055..45a61062e 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -5,9 +5,10 @@ config.layout.in etc/RT_Config.pm etc/RT_SiteConfig.pm etc/schema.Pg + etc/schema.mysql-4.1 lib/RT/Config.pm -lib/RT?CustomField.pm #CheckMandatoryFields +lib/RT/CustomField.pm #CheckMandatoryFields lib/RT/CustomField_Overlay.pm #customfield date patch lib/RT/Interface/Web.pm #customfield date patch lib/RT/Interface/Web_Vendor.pm diff --git a/rt/etc/schema.mysql-4.1 b/rt/etc/schema.mysql-4.1 index 172e477c1..173570219 100755 --- a/rt/etc/schema.mysql-4.1 +++ b/rt/etc/schema.mysql-4.1 @@ -386,6 +386,7 @@ CREATE TABLE CustomFields ( LastUpdatedBy integer NOT NULL DEFAULT 0 , LastUpdated DATETIME NULL , Disabled int2 NOT NULL DEFAULT 0 , + Required int2 NOT NULL DEFAULT 0 , PRIMARY KEY (id) ) TYPE=InnoDB CHARACTER SET utf8; -- cgit v1.2.1 From 6889413a55f87e4b7f6b6637773f87a0de52b3b4 Mon Sep 17 00:00:00 2001 From: mark Date: Tue, 5 Oct 2010 17:32:24 +0000 Subject: prevent broken custom field values, RT#9959 --- rt/share/html/Admin/CustomFields/Modify.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'rt') diff --git a/rt/share/html/Admin/CustomFields/Modify.html b/rt/share/html/Admin/CustomFields/Modify.html index d2932d2d9..fc2c49d59 100644 --- a/rt/share/html/Admin/CustomFields/Modify.html +++ b/rt/share/html/Admin/CustomFields/Modify.html @@ -199,6 +199,15 @@ if ( $ARGS{'Update'} && $id ne 'new' ) { push (@results, $msg); } + # Clean up values + foreach my $param (grep /^$paramtag-/, keys(%ARGS)) { + for ($ARGS{$param}) { + s/\r+\n/\n/g; + s/^\s+//; + s/\s+$//; + } + } + # Update any existing values my $values = $CustomFieldObj->ValuesObj; while ( my $value = $values->Next ) { @@ -206,7 +215,6 @@ if ( $ARGS{'Update'} && $id ne 'new' ) { my $param = join("-", $paramtag, $value->Id, $attr); next unless exists $ARGS{$param}; next if ($value->$attr()||'') eq ($ARGS{$param}||''); - my $mutator = "Set$attr"; my ($id, $msg) = $value->$mutator( $ARGS{$param} ); push (@results, $msg); -- cgit v1.2.1 From c22410950cebc97f35091753a6e84d577bc6c5f3 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 22 Oct 2010 18:03:47 +0000 Subject: add no_fuzzy_on_exact to RT customer search and our smart search boxes too, RT#10341 --- rt/share/html/Elements/AddCustomers | 5 ++++- rt/share/html/Ticket/Elements/AddCustomers | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'rt') diff --git a/rt/share/html/Elements/AddCustomers b/rt/share/html/Elements/AddCustomers index aaf8ca8ba..9828d7d53 100644 --- a/rt/share/html/Elements/AddCustomers +++ b/rt/share/html/Elements/AddCustomers @@ -39,7 +39,10 @@ warn "/Elements/AddCustomers called with CustomerString $CustomerString\n" my @Customers = (); if ( $CustomerString ) { - @Customers = &RT::URI::freeside::smart_search( 'search' => $CustomerString ); + @Customers = &RT::URI::freeside::smart_search( + 'search' => $CustomerString, + 'no_fuzzy_on_exact' => 1, #pref? + ); } my @Services = (); diff --git a/rt/share/html/Ticket/Elements/AddCustomers b/rt/share/html/Ticket/Elements/AddCustomers index e04c07702..09acdfd3f 100644 --- a/rt/share/html/Ticket/Elements/AddCustomers +++ b/rt/share/html/Ticket/Elements/AddCustomers @@ -36,7 +36,10 @@ my $freeside_url = &RT::URI::freeside::FreesideURL(); my @Customers = (); if ( $CustomerString ) { - @Customers = &RT::URI::freeside::smart_search( 'search' => $CustomerString ); + @Customers = &RT::URI::freeside::smart_search( + 'search' => $CustomerString, + 'no_fuzzy_on_exact' => 1, #pref? + ); } my @Services = (); -- cgit v1.2.1 From bd35baff8b7b5dcdd44d14a1139ef4d48009274c Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 4 Nov 2010 05:57:00 +0000 Subject: clean up postgres-isms, RT#10324 --- rt/lib/RT/Tickets_Overlay.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'rt') diff --git a/rt/lib/RT/Tickets_Overlay.pm b/rt/lib/RT/Tickets_Overlay.pm index f2949ed7a..be5a0d5fb 100644 --- a/rt/lib/RT/Tickets_Overlay.pm +++ b/rt/lib/RT/Tickets_Overlay.pm @@ -1855,7 +1855,13 @@ sub OrderByCols { ); #if there was a Links.RemoteTarget int, this bs wouldn't be necessary - my $custnum_sql = "CAST(SUBSTR($linkalias.Target,31) AS INTEGER)"; + my $custnum_sql = "CAST(SUBSTR($linkalias.Target,31) AS "; + if ( RT->Config->Get('DatabaseType') eq 'mysql' ) { + $custnum_sql .= 'SIGNED INTEGER)'; + } + else { + $custnum_sql .= 'INTEGER)'; + } if ( $subkey eq 'Number' ) { -- cgit v1.2.1