[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