Author: sevein
Date: Fri Aug 12 17:37:29 2011
New Revision: 9490

Log:
Copy i18 objects correctly in rights

Modified:
   trunk/apps/qubit/modules/informationobject/actions/editAction.class.php
   
trunk/plugins/qtAccessionPlugin/modules/accession/actions/addInformationObjectAction.class.php

Modified: 
trunk/apps/qubit/modules/informationobject/actions/editAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/informationobject/actions/editAction.class.php     
Fri Aug 12 17:08:19 2011        (r9489)
+++ trunk/apps/qubit/modules/informationobject/actions/editAction.class.php     
Fri Aug 12 17:37:29 2011        (r9490)
@@ -408,21 +408,29 @@
 
       foreach 
(QubitRelation::getRelationsBySubjectId($sourceInformationObject->id, 
array('typeId' => QubitTerm::RIGHT_ID)) as $item)
       {
-        $sourceRight = $sourceRight;
+        $sourceRight = $item->object;
 
         if (false === array_search($this->context->routing->generate(null, 
array($sourceRight, 'module' => 'right')), (array)$this->request->deleteRights))
         {
           $right = new QubitRights;
           $right->act = $sourceRight->act;
-          $right->restriction = $sourceRight->restriction;
           $right->startDate = $sourceRight->startDate;
           $right->endDate = $sourceRight->endDate;
-          $right->rightsHolder = $sourceRight->rightsHolder;
-          $right->rightNote = $sourceRight->rightNote;
           $right->basis = $sourceRight->basis;
           $right->copyrightStatus = $sourceRight->copyrightStatus;
           $right->copyrightStatusDate = $sourceRight->copyrightStatusDate;
           $right->copyrightJurisdiction = $sourceRight->copyrightJurisdiction;
+          $right->statuteNote = $sourceRight->statuteNote;
+
+          // Right holder
+          if (isset($sourceRight->rightsHolder))
+          {
+            $right->rightsHolder = $sourceRight->rightsHolder;
+          }
+
+          // I18n
+          $right->restriction = $sourceRight->restriction;
+          $right->rightNote = $sourceRight->rightNote;
           $right->copyrightNote = $sourceRight->copyrightNote;
           $right->licenseIdentifier = $sourceRight->licenseIdentifier;
           $right->licenseTerms = $sourceRight->licenseTerms;
@@ -430,11 +438,10 @@
           $right->statuteJurisdiction = $sourceRight->statuteJurisdiction;
           $right->statuteCitation = $sourceRight->statuteCitation;
           $right->statuteDeterminationDate = 
$sourceRight->statuteDeterminationDate;
-          $right->statuteNote = $sourceRight->statuteNote;
 
           foreach ($sourceRight->rightsI18ns as $sourceRightI18n)
           {
-            if ($this->context->user->getCulture() == $sourceRight18n->culture)
+            if ($this->context->user->getCulture() == 
$sourceRightI18n->culture)
             {
               continue;
             }
@@ -449,6 +456,7 @@
             $rightI18n->statuteJurisdiction = 
$sourceRightI18n->statuteJurisdiction;
             $rightI18n->statuteCitation = $sourceRightI18n->statuteCitation;
             $rightI18n->statuteNote = $sourceRightI18n->statuteNote;
+            $rightI18n->culture = $sourceRightI18n->culture;
 
             $right->rightsI18ns[] = $rightI18n;
           }

Modified: 
trunk/plugins/qtAccessionPlugin/modules/accession/actions/addInformationObjectAction.class.php
==============================================================================
--- 
trunk/plugins/qtAccessionPlugin/modules/accession/actions/addInformationObjectAction.class.php
      Fri Aug 12 17:08:19 2011        (r9489)
+++ 
trunk/plugins/qtAccessionPlugin/modules/accession/actions/addInformationObjectAction.class.php
      Fri Aug 12 17:37:29 2011        (r9490)
@@ -43,12 +43,57 @@
     // Copy (not link) rights
     foreach (QubitRelation::getRelationsBySubjectId($this->resource->id, 
array('typeId' => QubitTerm::RIGHT_ID)) as $item)
     {
+      $sourceRight = $item->object;
+
       $right = new QubitRights;
-      $right->startDate = $item->object->startDate;
-      $right->endDate = $item->object->endDate;
-      $right->act = $item->object->act;
-      $right->basis = $item->object->basis;
-      $right->copyrightNote = $item->object->copyrightNote;
+      $right->act = $sourceRight->act;
+      $right->startDate = $sourceRight->startDate;
+      $right->endDate = $sourceRight->endDate;
+      $right->basis = $sourceRight->basis;
+      $right->copyrightStatus = $sourceRight->copyrightStatus;
+      $right->copyrightStatusDate = $sourceRight->copyrightStatusDate;
+      $right->copyrightJurisdiction = $sourceRight->copyrightJurisdiction;
+      $right->statuteNote = $sourceRight->statuteNote;
+
+      // Right holder
+      if (isset($sourceRight->rightsHolder))
+      {
+        $right->rightsHolder = $sourceRight->rightsHolder;
+      }
+
+      // I18n
+      $right->restriction = $sourceRight->restriction;
+      $right->rightNote = $sourceRight->rightNote;
+      $right->copyrightNote = $sourceRight->copyrightNote;
+      $right->licenseIdentifier = $sourceRight->licenseIdentifier;
+      $right->licenseTerms = $sourceRight->licenseTerms;
+      $right->licenseNote = $sourceRight->licenseNote;
+      $right->statuteJurisdiction = $sourceRight->statuteJurisdiction;
+      $right->statuteCitation = $sourceRight->statuteCitation;
+      $right->statuteDeterminationDate = 
$sourceRight->statuteDeterminationDate;
+
+      foreach ($sourceRight->rightsI18ns as $sourceRightI18n)
+      {
+        if ($this->context->user->getCulture() == $sourceRightI18n->culture)
+        {
+          continue;
+        }
+        
+        $rightI18n = new QubitRightsI18n;
+        $rightI18n->restriction = $sourceRightI18n->restriction;
+        $rightI18n->rightNote = $sourceRightI18n->rightNote;
+        $rightI18n->copyrightNote = $sourceRightI18n->copyrightNote;
+        $rightI18n->licenseIdentifier = $sourceRightI18n->licenseIdentifier;
+        $rightI18n->licenseTerms = $sourceRightI18n->licenseTerms;
+        $rightI18n->licenseNote = $sourceRightI18n->licenseNote;
+        $rightI18n->statuteJurisdiction = 
$sourceRightI18n->statuteJurisdiction;
+        $rightI18n->statuteCitation = $sourceRightI18n->statuteCitation;
+        $rightI18n->statuteNote = $sourceRightI18n->statuteNote;
+        $rightI18n->culture = $sourceRightI18n->culture;
+
+        $right->rightsI18ns[] = $rightI18n;
+      }
+
       $right->save();
 
       $relation = new QubitRelation;

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to