[Rt-commit] rt branch, 4.4/serialize-json-initialdata, updated. rt-4.4.1-337-g2dc725b
Shawn Moore
shawn at bestpractical.com
Tue Mar 14 17:54:20 EDT 2017
The branch, 4.4/serialize-json-initialdata has been updated
via 2dc725b4dce35d1daa6ca604af5c9d9943809af0 (commit)
via eaa90b4e510b2000b6b1fcb0ea94a9702fec8314 (commit)
from a718a4ceaaef979d8c4ac7e80fef83659f99064a (commit)
Summary of changes:
lib/RT/Migrate/Serializer/JSON.pm | 13 ++++++++++++-
lib/RT/ObjectCustomRole.pm | 22 ++++++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
- Log -----------------------------------------------------------------
commit eaa90b4e510b2000b6b1fcb0ea94a9702fec8314
Author: Shawn M Moore <shawn at bestpractical.com>
Date: Tue Mar 14 21:51:05 2017 +0000
Have ObjectCustomRole serialize its CR and queue
diff --git a/lib/RT/ObjectCustomRole.pm b/lib/RT/ObjectCustomRole.pm
index 5523a08..eff3fd1 100644
--- a/lib/RT/ObjectCustomRole.pm
+++ b/lib/RT/ObjectCustomRole.pm
@@ -196,6 +196,28 @@ sub Delete {
return ($ok, $msg);
}
+sub FindDependencies {
+ my $self = shift;
+ my ($walker, $deps) = @_;
+
+ $self->SUPER::FindDependencies($walker, $deps);
+
+ $deps->Add( out => $self->CustomRoleObj );
+ $deps->Add( out => $self->QueueObj );
+}
+
+sub Serialize {
+ my $self = shift;
+ my %args = (@_);
+ my %store = $self->SUPER::Serialize(@_);
+
+ if ($store{ObjectId}) {
+ my $obj = RT::Queue->new( RT->SystemUser );
+ $obj->Load( $store{ObjectId} );
+ $store{ObjectId} = \($obj->UID);
+ }
+ return %store;
+}
=head2 id
commit 2dc725b4dce35d1daa6ca604af5c9d9943809af0
Author: Shawn M Moore <shawn at bestpractical.com>
Date: Tue Mar 14 21:54:07 2017 +0000
Canonicalize ObjectCustomRole as CustomRole.ApplyTo
diff --git a/lib/RT/Migrate/Serializer/JSON.pm b/lib/RT/Migrate/Serializer/JSON.pm
index 8db8e3d..7e6d73d 100644
--- a/lib/RT/Migrate/Serializer/JSON.pm
+++ b/lib/RT/Migrate/Serializer/JSON.pm
@@ -223,7 +223,18 @@ sub CanonicalizeObjects {
$self->_CanonicalizeManyToMany(
object_class => 'RT::ObjectClass',
object_primary_ref => 'Class',
- primary_class => 'RT::Class'
+ primary_class => 'RT::Class',
+ );
+
+ $self->_CanonicalizeManyToMany(
+ object_class => 'RT::ObjectCustomRole',
+ object_primary_ref => 'CustomRole',
+ primary_class => 'RT::CustomRole',
+ canonicalize_object => sub {
+ ref($_->{ObjectId})
+ ? $self->_GetRecordByRef(${ $_->{ObjectId} })->{Name}
+ : $_->{ObjectId};
+ },
);
$self->_CanonicalizeManyToMany(
-----------------------------------------------------------------------
More information about the rt-commit
mailing list