Author: jablko
Date: Mon Oct 25 16:34:44 2010
New Revision: 8491

Log:
Add event only if user typed something, fixes issue 1830

Modified:
   
trunk/apps/qubit/modules/informationobject/actions/autocompleteAction.class.php
   trunk/plugins/sfIsadPlugin/lib/sfIsadPlugin.class.php
   
trunk/plugins/sfIsadPlugin/modules/sfIsadPlugin/actions/eventComponent.class.php

Modified: 
trunk/apps/qubit/modules/informationobject/actions/autocompleteAction.class.php
==============================================================================
--- 
trunk/apps/qubit/modules/informationobject/actions/autocompleteAction.class.php 
    Mon Oct 25 15:45:05 2010        (r8490)
+++ 
trunk/apps/qubit/modules/informationobject/actions/autocompleteAction.class.php 
    Mon Oct 25 16:34:44 2010        (r8491)
@@ -46,8 +46,7 @@
     // Search for matching title or identifier
     if (isset($request->query))
     {
-      $criteria
-        ->add($criteria->getNewCriterion(QubitInformationObject::IDENTIFIER, 
"$request->query%", Criteria::LIKE)
+      
$criteria->add($criteria->getNewCriterion(QubitInformationObject::IDENTIFIER, 
"$request->query%", Criteria::LIKE)
         ->addOr($criteria->getNewCriterion(QubitInformationObjectI18n::TITLE, 
"$request->query%", Criteria::LIKE)));
     }
 

Modified: trunk/plugins/sfIsadPlugin/lib/sfIsadPlugin.class.php
==============================================================================
--- trunk/plugins/sfIsadPlugin/lib/sfIsadPlugin.class.php       Mon Oct 25 
15:45:05 2010        (r8490)
+++ trunk/plugins/sfIsadPlugin/lib/sfIsadPlugin.class.php       Mon Oct 25 
16:34:44 2010        (r8491)
@@ -68,7 +68,7 @@
     $publicationStatus = $this->resource->getPublicationStatus();
     if (isset($publicationStatus) && QubitTerm::PUBLICATION_STATUS_DRAFT_ID == 
$publicationStatus->statusId)
     {
-      $titleAndPublicationStatus[] = 
'('.$publicationStatus->status->__toString().')';
+      $titleAndPublicationStatus[] = 
"({$publicationStatus->status->__toString()})";
     }
 
     if (0 < count($titleAndPublicationStatus))

Modified: 
trunk/plugins/sfIsadPlugin/modules/sfIsadPlugin/actions/eventComponent.class.php
==============================================================================
--- 
trunk/plugins/sfIsadPlugin/modules/sfIsadPlugin/actions/eventComponent.class.php
    Mon Oct 25 15:45:05 2010        (r8490)
+++ 
trunk/plugins/sfIsadPlugin/modules/sfIsadPlugin/actions/eventComponent.class.php
    Mon Oct 25 16:34:44 2010        (r8491)
@@ -26,4 +26,56 @@
       'endDate',
       'startDate',
       'type');
+
+  // TODO Refactor with parent::processForm()
+  public function processForm()
+  {
+    $params = array($this->request->editEvent);
+    if (isset($this->request->editEvents))
+    {
+      // If dialog JavaScript did it's work, then use array of parameters
+      $params = $this->request->editEvents;
+    }
+
+    foreach ($params as $item)
+    {
+      // Continue only if user typed something
+      if (1 > strlen($item['dateDisplay'])
+          && 1 > strlen($item['endDate'])
+          && 1 > strlen($item['startDate']))
+      {
+        continue;
+      }
+
+      $this->event = new QubitEvent;
+      if (!isset($this->request->source) && isset($item['id']))
+      {
+        $params = $this->context->routing->parse(Qubit::pathInfo($item['id']));
+        $this->event = $params['_sf_route']->resource;
+      }
+
+      $this->form->bind($item);
+      if ($this->form->isValid())
+      {
+        foreach ($this->form as $field)
+        {
+          if (isset($item[$field->getName()]))
+          {
+            $this->processField($field);
+          }
+        }
+
+        $this->resource->events[] = $this->event;
+      }
+    }
+
+    if (!isset($this->request->source) && isset($this->request->deleteEvents))
+    {
+      foreach ($this->request->deleteEvents as $item)
+      {
+        $params = $this->context->routing->parse(Qubit::pathInfo($item));
+        $params['_sf_route']->resource->delete();
+      }
+    }
+  }
 }

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