[Rt-commit] rtir branch 5.0/use-current-interface-for-how-reported created. 5.0.3-3-g9a1dcc29
BPS Git Server
git at git.bestpractical.com
Thu Jan 19 20:12:09 UTC 2023
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "rtir".
The branch, 5.0/use-current-interface-for-how-reported has been created
at 9a1dcc29f258bc70ccda5c2cb4f1c01680d61e45 (commit)
- Log -----------------------------------------------------------------
commit 9a1dcc29f258bc70ccda5c2cb4f1c01680d61e45
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date: Thu Jan 19 17:06:40 2023 -0300
Set "How Reported" CF from RT::CurrentInterface()
Fixes: I#32162
diff --git a/lib/RT/Action/RTIR_SetHowReported.pm b/lib/RT/Action/RTIR_SetHowReported.pm
index b143745e..40386566 100644
--- a/lib/RT/Action/RTIR_SetHowReported.pm
+++ b/lib/RT/Action/RTIR_SetHowReported.pm
@@ -53,7 +53,7 @@ use base 'RT::Action::RTIR';
=head2 Commit
-If the HowReported field isn't set, assume it's email.
+If the HowReported field isn't set, get from RT::CurrentInterface and set it.
=cut
@@ -66,7 +66,7 @@ sub Commit {
my $Values = $self->TicketObj->CustomFieldValues( $cf->id );
unless ( $Values->Count ) {
- $self->TicketObj->AddCustomFieldValue( Field => $cf->id, Value => "Email" );
+ $self->TicketObj->AddCustomFieldValue( Field => $cf->id, Value => RT::CurrentInterface() );
}
return 1;
}
commit 727e7f0f7b804be8d6b237e747aaddabed9851db
Author: Ronaldo Richieri <ronaldo at bestpractical.com>
Date: Thu Jan 19 16:08:53 2023 -0300
Add more RT standard interfaces to "How Reported" CF
diff --git a/etc/initialdata b/etc/initialdata
index 1b720a2d..986cd5fa 100644
--- a/etc/initialdata
+++ b/etc/initialdata
@@ -104,9 +104,14 @@ die "Please add RT::IR to your Plugins configuration before initializing the dat
Description =>
'How the incident was reported for Incident Reports RTIR queue',
Values => [
- { Name => "Email", SortOrder => 1 },
- { Name => "Telephone", SortOrder => 2 },
- { Name => "Other", SortOrder => 3 },
+ { Name => "API", SortOrder => 1 },
+ { Name => "CLI", SortOrder => 2 },
+ { Name => "Email", SortOrder => 3 },
+ { Name => "REST", SortOrder => 4 },
+ { Name => "REST2", SortOrder => 5 },
+ { Name => "Web", SortOrder => 6 },
+ { Name => "Telephone", SortOrder => 7 },
+ { Name => "Other", SortOrder => 8 },
]
},
{ Name => 'Reporter Type',
diff --git a/etc/upgrade/5.0.4/content b/etc/upgrade/5.0.4/content
new file mode 100644
index 00000000..315702fb
--- /dev/null
+++ b/etc/upgrade/5.0.4/content
@@ -0,0 +1,58 @@
+use strict;
+use warnings;
+
+our @Final = (
+ sub {
+ my $cf = RT::CustomField->new( RT->SystemUser );
+ $cf->Load('How Reported');
+ if ( $cf->Id ) {
+ my %sort_order = (
+ API => 1,
+ CLI => 2,
+ Email => 3,
+ REST => 4,
+ REST2 => 5,
+ Web => 6,
+ Telephone => 7,
+ Other => 8,
+ );
+ my %current = map { $_->Name => $_ } @{ $cf->Values->ItemsArrayRef || [] };
+
+ for my $item ( sort keys %sort_order ) {
+ if ( $current{$item} ) {
+ if ( ( $current{$item}->SortOrder // 0 ) != $sort_order{$item} ) {
+ my ( $ret, $msg ) = $current{$item}->SetSortOrder( $sort_order{$item} );
+ if ( !$ret ) {
+ RT->Logger->error("Could not set sort order for $item: $msg");
+ }
+ }
+ delete $current{$item};
+ }
+ else {
+ my ( $ret, $msg ) = $cf->AddValue( Name => $item, SortOrder => $sort_order{$item} );
+ if ( !$ret ) {
+ RT->Logger->error("Could not create new value $item: $msg");
+ }
+ }
+ }
+
+ # Adjust SortOrder for non-core ones added by users.
+ my $next_sort_order = 9;
+ for my $item (
+ sort { ( $current{$a}->SortOrder // 0 ) <=> ( $current{$b}->SortOrder // 0 ) }
+ keys %current
+ )
+ {
+ if ( ( $current{$item}->SortOrder // 0 ) != $next_sort_order ) {
+ my ( $ret, $msg ) = $current{$item}->SetSortOrder($next_sort_order);
+ if ( !$ret ) {
+ RT->Logger->error("Could not set sort order for $item: $msg");
+ }
+ }
+ $next_sort_order++;
+ }
+ }
+ },
+);
+
+1;
-----------------------------------------------------------------------
hooks/post-receive
--
rtir
More information about the rt-commit
mailing list