Author: sevein
Date: Wed Jul  6 13:49:22 2011
New Revision: 9253

Log:
Add new action to create information objects from the accession record screen

Added:
   
trunk/plugins/qtAccessionPlugin/modules/qtAccessionPlugin/actions/addInformationObjectAction.class.php
Modified:
   trunk/apps/qubit/config/routing.yml

Modified: trunk/apps/qubit/config/routing.yml
==============================================================================
--- trunk/apps/qubit/config/routing.yml Wed Jul  6 13:47:53 2011        (r9252)
+++ trunk/apps/qubit/config/routing.yml Wed Jul  6 13:49:22 2011        (r9253)
@@ -50,6 +50,13 @@
     module: qtAccessionPlugin
     action: list
 
+addInformationObject/accession:
+  url: /:slug;accession/addInformationObject
+  class: QubitResourceRoute
+  param:
+    module: qtAccessionPlugin
+    action: addInformationObject
+
 deaccession:
   url: /:slug;deaccession
   class: QubitResourceRoute

Added: 
trunk/plugins/qtAccessionPlugin/modules/qtAccessionPlugin/actions/addInformationObjectAction.class.php
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
trunk/plugins/qtAccessionPlugin/modules/qtAccessionPlugin/actions/addInformationObjectAction.class.php
      Wed Jul  6 13:49:22 2011        (r9253)
@@ -0,0 +1,53 @@
+<?php
+
+/*
+ * This file is part of Qubit Toolkit.
+ *
+ * Qubit Toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Qubit Toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Qubit Toolkit.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+class qtAccessionPluginAddInformationObjectAction extends sfAction
+{
+  public function execute($request)
+  {
+    $this->form = new sfForm;
+
+    $this->resource = $this->getRoute()->resource;
+
+    // Check user authorization (TODO)
+    /*
+    if (!QubitAcl::check($this->resource, 'delete'))
+    {
+      QubitAcl::forwardUnauthorized();
+    }
+    */
+
+    // Create new information object
+    $informationObject = new QubitInformationObject;
+    $informationObject->setRoot();
+
+    // Populate data (TODO)
+    $informationObject->title = $this->resource->title;
+
+    // Relationship between the information object and accession record
+    $relation = new QubitRelation;
+    $relation->subject = $this->resource;
+    $informationObject->relationsRelatedByobjectId[] = $relation;
+
+    // Save
+    $informationObject->save();
+
+    $this->redirect(array($informationObject, 'module' => 
'informationobject'));
+  }
+}

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