Author: jablko
Date: Sun Oct 24 10:53:01 2010
New Revision: 8414

Log:
Factor relationships into ISDF object

Modified:
   trunk/plugins/sfIsdfPlugin/lib/sfIsdfPlugin.class.php
   trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/editAction.class.php
   trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/indexAction.class.php
   
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/relatedAuthorityRecordComponent.class.php
   
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedAuthorityRecord.php
   
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedFunction.php
   
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedResource.php
   trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/indexSuccess.php

Modified: trunk/plugins/sfIsdfPlugin/lib/sfIsdfPlugin.class.php
==============================================================================
--- trunk/plugins/sfIsdfPlugin/lib/sfIsdfPlugin.class.php       Sun Oct 24 
10:28:22 2010        (r8413)
+++ trunk/plugins/sfIsdfPlugin/lib/sfIsdfPlugin.class.php       Sun Oct 24 
10:53:01 2010        (r8414)
@@ -7,6 +7,9 @@
 {
   protected
     $resource,
+    $relatedAuthorityRecord,
+    $relatedFunction,
+    $relatedResource,
     $maintenanceNote;
 
   public function __construct(QubitFunction $resource)
@@ -52,6 +55,50 @@
 
         return $this->_maintenanceNote->content;
 
+      case 'relatedAuthorityRecord':
+
+        if (!isset($this->relatedAuthorityRecord))
+        {
+          $criteria = new Criteria;
+          $criteria->add(QubitRelation::SUBJECT_ID, $this->resource->id);
+          $criteria->addJoin(QubitRelation::OBJECT_ID, QubitActor::ID);
+
+          $this->relatedAuthorityRecord = QubitRelation::get($criteria);
+        }
+
+        return $this->relatedAuthorityRecord;
+
+      case 'relatedFunction':
+
+        if (!isset($this->relatedFunction))
+        {
+          $criteria = new Criteria;
+          $criteria->add($criteria->getNewCriterion(QubitRelation::OBJECT_ID, 
$this->resource->id)
+            ->addOr($criteria->getNewCriterion(QubitRelation::SUBJECT_ID, 
$this->resource->id)));
+          $criteria->addAlias('ro', QubitFunction::TABLE_NAME);
+          $criteria->addJoin(QubitRelation::OBJECT_ID, 'ro.id');
+          $criteria->addAlias('rs', QubitFunction::TABLE_NAME);
+          $criteria->addJoin(QubitRelation::SUBJECT_ID, 'rs.id');
+          $criteria->addAscendingOrderByColumn(QubitRelation::TYPE_ID);
+
+          $this->relatedFunction = QubitRelation::get($criteria);
+        }
+
+        return $this->relatedFunction;
+
+      case 'relatedResource':
+
+        if (!isset($this->relatedResource))
+        {
+          $criteria = new Criteria;
+          $criteria->add(QubitRelation::SUBJECT_ID, $this->resource->id);
+          $criteria->addJoin(QubitRelation::OBJECT_ID, 
QubitInformationObject::ID);
+
+          $this->relatedResource = QubitRelation::get($criteria);
+        }
+
+        return $this->relatedResource;
+
       case 'sourceCulture':
 
         return $this->resource->sourceCulture;

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/editAction.class.php
==============================================================================
--- 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/editAction.class.php    
    Sun Oct 24 10:28:22 2010        (r8413)
+++ 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/editAction.class.php    
    Sun Oct 24 10:53:01 2010        (r8414)
@@ -63,14 +63,17 @@
 
     $this->relatedAuthorityRecordComponent = new 
sfIsdfPluginRelatedAuthorityRecordComponent($this->context, 'sfIsdfPlugin', 
'relatedAuthorityRecord');
     $this->relatedAuthorityRecordComponent->resource = $this->resource;
+    $this->relatedAuthorityRecordComponent->isdf = $this->isdf;
     $this->relatedAuthorityRecordComponent->execute($this->request);
 
     $this->relatedFunctionComponent = new 
sfIsdfPluginRelatedFunctionComponent($this->context, 'sfIsdfPlugin', 
'relatedFunction');
     $this->relatedFunctionComponent->resource = $this->resource;
+    $this->relatedFunctionComponent->isdf = $this->isdf;
     $this->relatedFunctionComponent->execute($this->request);
 
     $this->relatedResourceComponent = new 
sfIsdfPluginRelatedResourceComponent($this->context, 'sfIsdfPlugin', 
'relatedResource');
     $this->relatedResourceComponent->resource = $this->resource;
+    $this->relatedResourceComponent->isdf = $this->isdf;
     $this->relatedResourceComponent->execute($this->request);
   }
 

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/indexAction.class.php
==============================================================================
--- 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/indexAction.class.php   
    Sun Oct 24 10:28:22 2010        (r8413)
+++ 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/indexAction.class.php   
    Sun Oct 24 10:53:01 2010        (r8414)
@@ -32,41 +32,6 @@
 
     $this->response->setTitle("$title - {$this->response->getTitle()}");
 
-    // Find function to function relations with current function as subject or
-    // object
-    $criteria = new Criteria;
-    $criteria->addAlias('ro', QubitObject::TABLE_NAME);
-    $criteria->addAlias('rs', QubitObject::TABLE_NAME);
-    $criteria->addJoin(QubitRelation::OBJECT_ID, 'ro.id');
-    $criteria->addJoin(QubitRelation::SUBJECT_ID, 'rs.id');
-    $criterion1 = $criteria->getNewCriterion(QubitRelation::OBJECT_ID, 
$this->resource->id, Criteria::EQUAL);
-    $criterion2 = $criteria->getNewCriterion(QubitRelation::SUBJECT_ID, 
$this->resource->id, Criteria::EQUAL);
-    $criterion1->addOr($criterion2);
-    $criterion3 = $criteria->getNewCriterion('ro.class_name', 'QubitFunction', 
Criteria::EQUAL);
-    $criterion4 = $criteria->getNewCriterion('rs.class_name', 'QubitFunction', 
Criteria::EQUAL);
-    $criterion3->addAnd($criterion4);
-    $criterion1->addAnd($criterion3);
-    $criteria->add($criterion1);
-    $criteria->addAscendingOrderByColumn(QubitRelation::TYPE_ID);
-    $this->resourcetionRelations = QubitRelation::get($criteria);
-
-    // Get information objects (object) related to this function (subject)
-    $criteria = new Criteria;
-    $criteria->addAlias('ro', QubitObject::TABLE_NAME);
-    $criteria->addJoin(QubitRelation::OBJECT_ID, 'ro.id', 
Criteria::INNER_JOIN);
-    $criteria->add(QubitRelation::SUBJECT_ID, $this->resource->id);
-    $criteria->add('ro.class_name', 'QubitInformationObject');
-    $this->infoObjectRelations = QubitRelation::get($criteria);
-
-    // Get actors (object) related to this function (subject)
-    $criteria = new Criteria;
-    $criteria->addAlias('ro', QubitObject::TABLE_NAME);
-    $criteria->addJoin(QubitRelation::OBJECT_ID, 'ro.id', 
Criteria::INNER_JOIN);
-    $criteria->add(QubitRelation::SUBJECT_ID, $this->resource->id);
-    $criteria->add('ro.class_name', 'QubitActor');
-    $this->actorRelations = QubitRelation::get($criteria);
-
-    // ISDF validation rules
     if (QubitAcl::check($this->resource, 'update'))
     {
       $validatorSchema = new sfValidatorSchema;

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/relatedAuthorityRecordComponent.class.php
==============================================================================
--- 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/relatedAuthorityRecordComponent.class.php
   Sun Oct 24 10:28:22 2010        (r8413)
+++ 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/actions/relatedAuthorityRecordComponent.class.php
   Sun Oct 24 10:53:01 2010        (r8414)
@@ -33,12 +33,5 @@
     parent::execute($request);
 
     
$this->form->getWidgetSchema()->setNameFormat('relatedAuthorityRecord[%s]');
-
-    // Get actors (object) related to this function (subject)
-    $criteria = new Criteria;
-    $criteria->add(QubitRelation::SUBJECT_ID, $this->resource->id);
-    $criteria->addJoin(QubitRelation::OBJECT_ID, QubitActor::ID);
-
-    $this->relations = QubitRelation::get($criteria);
   }
 }

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedAuthorityRecord.php
==============================================================================
--- 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedAuthorityRecord.php
       Sun Oct 24 10:28:22 2010        (r8413)
+++ 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedAuthorityRecord.php
       Sun Oct 24 10:53:01 2010        (r8414)
@@ -26,7 +26,7 @@
         </th>
       </tr>
     </thead><tbody>
-      <?php foreach ($relations as $item): ?>
+      <?php foreach ($isdf->relatedAuthorityRecord as $item): ?>
         <tr class="related_obj_<?php echo $item->id ?>" id="<?php echo 
url_for(array($item, 'module' => 'relation')) ?>">
           <td>
             <?php echo render_title($item->object) ?>

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedFunction.php
==============================================================================
--- 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedFunction.php  
    Sun Oct 24 10:28:22 2010        (r8413)
+++ 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedFunction.php  
    Sun Oct 24 10:53:01 2010        (r8414)
@@ -28,7 +28,7 @@
         </th>
       </tr>
     </thead><tbody>
-      <?php foreach ($relations as $item): ?>
+      <?php foreach ($isdf->relatedFunction as $item): ?>
         <tr class="related_obj_<?php echo $item->id ?>" id="<?php echo 
url_for(array($item, 'module' => 'relation')) ?>">
           <td>
             <?php if ($resource->id == $item->objectId): ?>

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedResource.php
==============================================================================
--- 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedResource.php  
    Sun Oct 24 10:28:22 2010        (r8413)
+++ 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/_relatedResource.php  
    Sun Oct 24 10:53:01 2010        (r8414)
@@ -26,7 +26,7 @@
         </th>
       </tr>
     </thead><tbody>
-      <?php foreach ($relations as $item): ?>
+      <?php foreach ($isdf->relatedResource as $item): ?>
         <tr class="related_obj_<?php echo $item->id ?>" id="<?php echo 
url_for(array($item, 'module' => 'relation')) ?>">
           <td>
             <?php echo render_title($item->object) ?>

Modified: 
trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/indexSuccess.php
==============================================================================
--- trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/indexSuccess.php  
Sun Oct 24 10:28:22 2010        (r8413)
+++ trunk/plugins/sfIsdfPlugin/modules/sfIsdfPlugin/templates/indexSuccess.php  
Sun Oct 24 10:53:01 2010        (r8414)
@@ -66,7 +66,7 @@
 
   <?php echo link_to_if(QubitAcl::check($resource, 'update'), 
'<h2>'.__('Relationships area').'</h2>', array($resource, 'module' => 
'function', 'action' => 'edit'), array('anchor' => 'relationshipsArea', 'title' 
=> __('Edit relationships area'))) ?>
 
-  <?php foreach ($resourcetionRelations as $item): ?>
+  <?php foreach ($isdf->relatedFunction as $item): ?>
     <div class="field">
       <h3><?php echo __('Related function') ?></h3>
       <div>
@@ -87,7 +87,7 @@
     </div>
   <?php endforeach; ?>
 
-  <?php foreach ($actorRelations as $item): ?>
+  <?php foreach ($isdf->relatedAuthorityRecord as $item): ?>
     <div class="field">
       <h3><?php echo __('Related authority record') ?></h3>
       <div>
@@ -107,7 +107,7 @@
   <?php endforeach; ?>
 
   <!-- Related archival material -->
-  <?php foreach ($infoObjectRelations as $item): ?>
+  <?php foreach ($isdf->relatedResource as $item): ?>
     <div class="field">
       <h3><?php echo __('Related resource') ?></h3>
       <div>

-- 
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