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.