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.