Author: sevein
Date: Wed Jun 29 15:56:51 2011
New Revision: 9224

Log:
Update accession schema

Modified:
   trunk/data/sql/plugins.qtAccessionPlugin.lib.model.schema.sql
   trunk/plugins/qtAccessionPlugin/config/schema.yml
   trunk/plugins/qtAccessionPlugin/lib/model/QubitAccession.php
   trunk/plugins/qtAccessionPlugin/lib/model/QubitDeaccession.php
   trunk/plugins/qtAccessionPlugin/lib/model/map/AccessionTableMap.php
   trunk/plugins/qtAccessionPlugin/lib/model/map/DeaccessionTableMap.php
   trunk/plugins/qtAccessionPlugin/lib/model/om/BaseAccession.php
   trunk/plugins/qtAccessionPlugin/lib/model/om/BaseDeaccession.php

Modified: trunk/data/sql/plugins.qtAccessionPlugin.lib.model.schema.sql
==============================================================================
--- trunk/data/sql/plugins.qtAccessionPlugin.lib.model.schema.sql       Wed Jun 
29 15:32:11 2011        (r9223)
+++ trunk/data/sql/plugins.qtAccessionPlugin.lib.model.schema.sql       Wed Jun 
29 15:56:51 2011        (r9224)
@@ -14,7 +14,6 @@
 (
        `id` INTEGER  NOT NULL,
        `acquisition_type_id` INTEGER,
-       `date` DATE,
        `identifier` VARCHAR(255),
        `processing_priority_id` INTEGER,
        `processing_status_id` INTEGER,
@@ -82,7 +81,8 @@
 CREATE TABLE `deaccession`
 (
        `id` INTEGER  NOT NULL,
-       `date` DATE,
+       `accession_id` INTEGER,
+       `identifier` VARCHAR(255),
        `scope_id` INTEGER,
        `created_at` DATETIME  NOT NULL,
        `updated_at` DATETIME  NOT NULL,
@@ -92,8 +92,13 @@
                FOREIGN KEY (`id`)
                REFERENCES `object` (`id`)
                ON DELETE CASCADE,
-       INDEX `deaccession_FI_2` (`scope_id`),
+       INDEX `deaccession_FI_2` (`accession_id`),
        CONSTRAINT `deaccession_FK_2`
+               FOREIGN KEY (`accession_id`)
+               REFERENCES `accession` (`id`)
+               ON DELETE CASCADE,
+       INDEX `deaccession_FI_3` (`scope_id`),
+       CONSTRAINT `deaccession_FK_3`
                FOREIGN KEY (`scope_id`)
                REFERENCES `term` (`id`)
 )Engine=InnoDB;

Modified: trunk/plugins/qtAccessionPlugin/config/schema.yml
==============================================================================
--- trunk/plugins/qtAccessionPlugin/config/schema.yml   Wed Jun 29 15:32:11 
2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/config/schema.yml   Wed Jun 29 15:56:51 
2011        (r9224)
@@ -4,7 +4,6 @@
   accession:
     id: { type: integer, required: true, primaryKey: true, foreignTable: 
object, foreignReference: id, onDelete: cascade, inheritanceKey: true }
     acquisition_type_id: { type: integer, foreignTable: term, 
foreignReference: id }
-    date: bu_date
     identifier: varchar(255)
     processing_priority_id: { type: integer, foreignTable: term, 
foreignReference: id }
     processing_status_id: { type: integer, foreignTable: term, 
foreignReference: id }
@@ -25,7 +24,8 @@
 
   deaccession:
     id: { type: integer, required: true, primaryKey: true, foreignTable: 
object, foreignReference: id, onDelete: cascade, inheritanceKey: true }
-    date: bu_date
+    accession_id: { type: integer, foreignTable: accession, foreignReference: 
id, onDelete: cascade }
+    identifier: varchar(255)
     scope_id: { type: integer, foreignTable: term, foreignReference: id }
     created_at:
     updated_at:

Modified: trunk/plugins/qtAccessionPlugin/lib/model/QubitAccession.php
==============================================================================
--- trunk/plugins/qtAccessionPlugin/lib/model/QubitAccession.php        Wed Jun 
29 15:32:11 2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/lib/model/QubitAccession.php        Wed Jun 
29 15:56:51 2011        (r9224)
@@ -28,7 +28,7 @@
   {
     if (!isset($this->slug))
     {
-      $this->slug = QubitSlug::slugify($this->__get('title', 
array('sourceCulture' => true)));
+      $this->slug = QubitSlug::slugify($this->__get('identifier', 
array('sourceCulture' => true)));
     }
 
     return parent::insert($connection);

Modified: trunk/plugins/qtAccessionPlugin/lib/model/QubitDeaccession.php
==============================================================================
--- trunk/plugins/qtAccessionPlugin/lib/model/QubitDeaccession.php      Wed Jun 
29 15:32:11 2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/lib/model/QubitDeaccession.php      Wed Jun 
29 15:56:51 2011        (r9224)
@@ -21,14 +21,14 @@
 {
   public function __toString()
   {
-    return '';
+    return (string) $this->identifier;
   }
 
   protected function insert($connection = null)
   {
     if (!isset($this->slug))
     {
-      $this->slug = QubitSlug::slugify($this->__get('title', 
array('sourceCulture' => true)));
+      $this->slug = QubitSlug::slugify($this->__get('identifier', 
array('sourceCulture' => true)));
     }
 
     return parent::insert($connection);

Modified: trunk/plugins/qtAccessionPlugin/lib/model/map/AccessionTableMap.php
==============================================================================
--- trunk/plugins/qtAccessionPlugin/lib/model/map/AccessionTableMap.php Wed Jun 
29 15:32:11 2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/lib/model/map/AccessionTableMap.php Wed Jun 
29 15:56:51 2011        (r9224)
@@ -38,7 +38,6 @@
                // columns
                $this->addForeignPrimaryKey('ID', 'id', 'INTEGER' , 'object', 
'ID', true, null, null);
                $this->addForeignKey('ACQUISITION_TYPE_ID', 
'acquisitionTypeId', 'INTEGER', 'term', 'ID', false, null, null);
-               $this->addColumn('DATE', 'date', 'DATE', false, null, null);
                $this->addColumn('IDENTIFIER', 'identifier', 'VARCHAR', false, 
255, null);
                $this->addForeignKey('PROCESSING_PRIORITY_ID', 
'processingPriorityId', 'INTEGER', 'term', 'ID', false, null, null);
                $this->addForeignKey('PROCESSING_STATUS_ID', 
'processingStatusId', 'INTEGER', 'term', 'ID', false, null, null);
@@ -60,6 +59,7 @@
     $this->addRelation('termRelatedByprocessingStatusId', 'term', 
RelationMap::MANY_TO_ONE, array('processing_status_id' => 'id', ), null, null);
     $this->addRelation('termRelatedByresourceTypeId', 'term', 
RelationMap::MANY_TO_ONE, array('resource_type_id' => 'id', ), null, null);
     $this->addRelation('accessionI18n', 'accessionI18n', 
RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null);
+    $this->addRelation('deaccession', 'deaccession', RelationMap::ONE_TO_MANY, 
array('id' => 'accession_id', ), 'CASCADE', null);
        } // buildRelations()
 
 } // AccessionTableMap

Modified: trunk/plugins/qtAccessionPlugin/lib/model/map/DeaccessionTableMap.php
==============================================================================
--- trunk/plugins/qtAccessionPlugin/lib/model/map/DeaccessionTableMap.php       
Wed Jun 29 15:32:11 2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/lib/model/map/DeaccessionTableMap.php       
Wed Jun 29 15:56:51 2011        (r9224)
@@ -37,7 +37,8 @@
                $this->setUseIdGenerator(false);
                // columns
                $this->addForeignPrimaryKey('ID', 'id', 'INTEGER' , 'object', 
'ID', true, null, null);
-               $this->addColumn('DATE', 'date', 'DATE', false, null, null);
+               $this->addForeignKey('ACCESSION_ID', 'accessionId', 'INTEGER', 
'accession', 'ID', false, null, null);
+               $this->addColumn('IDENTIFIER', 'identifier', 'VARCHAR', false, 
255, null);
                $this->addForeignKey('SCOPE_ID', 'scopeId', 'INTEGER', 'term', 
'ID', false, null, null);
                $this->addColumn('CREATED_AT', 'createdAt', 'TIMESTAMP', true, 
null, null);
                $this->addColumn('UPDATED_AT', 'updatedAt', 'TIMESTAMP', true, 
null, null);
@@ -51,6 +52,7 @@
        public function buildRelations()
        {
     $this->addRelation('object', 'object', RelationMap::MANY_TO_ONE, 
array('id' => 'id', ), 'CASCADE', null);
+    $this->addRelation('accession', 'accession', RelationMap::MANY_TO_ONE, 
array('accession_id' => 'id', ), 'CASCADE', null);
     $this->addRelation('term', 'term', RelationMap::MANY_TO_ONE, 
array('scope_id' => 'id', ), null, null);
     $this->addRelation('deaccessionI18n', 'deaccessionI18n', 
RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null);
        } // buildRelations()

Modified: trunk/plugins/qtAccessionPlugin/lib/model/om/BaseAccession.php
==============================================================================
--- trunk/plugins/qtAccessionPlugin/lib/model/om/BaseAccession.php      Wed Jun 
29 15:32:11 2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/lib/model/om/BaseAccession.php      Wed Jun 
29 15:56:51 2011        (r9224)
@@ -9,7 +9,6 @@
 
     ID = 'accession.ID',
     ACQUISITION_TYPE_ID = 'accession.ACQUISITION_TYPE_ID',
-    DATE = 'accession.DATE',
     IDENTIFIER = 'accession.IDENTIFIER',
     PROCESSING_PRIORITY_ID = 'accession.PROCESSING_PRIORITY_ID',
     PROCESSING_STATUS_ID = 'accession.PROCESSING_STATUS_ID',
@@ -26,7 +25,6 @@
 
     $criteria->addSelectColumn(QubitAccession::ID);
     $criteria->addSelectColumn(QubitAccession::ACQUISITION_TYPE_ID);
-    $criteria->addSelectColumn(QubitAccession::DATE);
     $criteria->addSelectColumn(QubitAccession::IDENTIFIER);
     $criteria->addSelectColumn(QubitAccession::PROCESSING_PRIORITY_ID);
     $criteria->addSelectColumn(QubitAccession::PROCESSING_STATUS_ID);
@@ -103,6 +101,11 @@
       return true;
     }
 
+    if ('deaccessions' == $name)
+    {
+      return true;
+    }
+
     try
     {
       if (!$value = 
call_user_func_array(array($this->getCurrentaccessionI18n($options), 
'__isset'), $args) && !empty($options['cultureFallback']))
@@ -154,6 +157,23 @@
       return $this->refFkValues['accessionI18ns'];
     }
 
+    if ('deaccessions' == $name)
+    {
+      if (!isset($this->refFkValues['deaccessions']))
+      {
+        if (!isset($this->id))
+        {
+          $this->refFkValues['deaccessions'] = QubitQuery::create();
+        }
+        else
+        {
+          $this->refFkValues['deaccessions'] = 
self::getdeaccessionsById($this->id, array('self' => $this) + $options);
+        }
+      }
+
+      return $this->refFkValues['deaccessions'];
+    }
+
     try
     {
       if (1 > strlen($value = 
call_user_func_array(array($this->getCurrentaccessionI18n($options), '__get'), 
$args)) && !empty($options['cultureFallback']))
@@ -276,6 +296,26 @@
     return self::addaccessionI18nsCriteriaById($criteria, $this->id);
   }
 
+  public static function adddeaccessionsCriteriaById(Criteria $criteria, $id)
+  {
+    $criteria->add(QubitDeaccession::ACCESSION_ID, $id);
+
+    return $criteria;
+  }
+
+  public static function getdeaccessionsById($id, array $options = array())
+  {
+    $criteria = new Criteria;
+    self::adddeaccessionsCriteriaById($criteria, $id);
+
+    return QubitDeaccession::get($criteria, $options);
+  }
+
+  public function adddeaccessionsCriteria(Criteria $criteria)
+  {
+    return self::adddeaccessionsCriteriaById($criteria, $this->id);
+  }
+
   public function getCurrentaccessionI18n(array $options = array())
   {
     if (!empty($options['sourceCulture']))

Modified: trunk/plugins/qtAccessionPlugin/lib/model/om/BaseDeaccession.php
==============================================================================
--- trunk/plugins/qtAccessionPlugin/lib/model/om/BaseDeaccession.php    Wed Jun 
29 15:32:11 2011        (r9223)
+++ trunk/plugins/qtAccessionPlugin/lib/model/om/BaseDeaccession.php    Wed Jun 
29 15:56:51 2011        (r9224)
@@ -8,7 +8,8 @@
     TABLE_NAME = 'deaccession',
 
     ID = 'deaccession.ID',
-    DATE = 'deaccession.DATE',
+    ACCESSION_ID = 'deaccession.ACCESSION_ID',
+    IDENTIFIER = 'deaccession.IDENTIFIER',
     SCOPE_ID = 'deaccession.SCOPE_ID',
     CREATED_AT = 'deaccession.CREATED_AT',
     UPDATED_AT = 'deaccession.UPDATED_AT',
@@ -21,7 +22,8 @@
     $criteria->addJoin(QubitDeaccession::ID, QubitObject::ID);
 
     $criteria->addSelectColumn(QubitDeaccession::ID);
-    $criteria->addSelectColumn(QubitDeaccession::DATE);
+    $criteria->addSelectColumn(QubitDeaccession::ACCESSION_ID);
+    $criteria->addSelectColumn(QubitDeaccession::IDENTIFIER);
     $criteria->addSelectColumn(QubitDeaccession::SCOPE_ID);
     $criteria->addSelectColumn(QubitDeaccession::CREATED_AT);
     $criteria->addSelectColumn(QubitDeaccession::UPDATED_AT);
@@ -220,6 +222,13 @@
     return $this;
   }
 
+  public static function addJoinaccessionCriteria(Criteria $criteria)
+  {
+    $criteria->addJoin(QubitDeaccession::ACCESSION_ID, QubitAccession::ID);
+
+    return $criteria;
+  }
+
   public static function addJoinscopeCriteria(Criteria $criteria)
   {
     $criteria->addJoin(QubitDeaccession::SCOPE_ID, QubitTerm::ID);

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