Author: david
Date: Mon Apr 23 11:03:25 2012
New Revision: 11498

Log:
Add Copyright status to advanced search fields

Modified:
   trunk/apps/qubit/modules/search/actions/advancedAction.class.php
   trunk/apps/qubit/modules/search/templates/_advancedSearch.php

Modified: trunk/apps/qubit/modules/search/actions/advancedAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/search/actions/advancedAction.class.php    Mon Apr 
23 10:27:38 2012        (r11497)
+++ trunk/apps/qubit/modules/search/actions/advancedAction.class.php    Mon Apr 
23 11:03:25 2012        (r11498)
@@ -27,6 +27,7 @@
       'mediaType',
       'hasDigitalObject',
       'levelOfDescription',
+      'copyrightStatus'
     );
 
   public function execute($request)
@@ -154,6 +155,19 @@
         $this->form->setValidator('levelOfDescription', new sfValidatorString);
         $this->form->setWidget('levelOfDescription', new 
sfWidgetFormSelect(array('choices' => $choices)));
 
+      case 'copyrightStatus':
+        $this->form->setValidator('copyrightStatus', new sfValidatorString);
+
+        $choices = array();
+        $choices[null] = null;
+        foreach 
(QubitTaxonomy::getTaxonomyTerms(QubitTaxonomy::COPYRIGHT_STATUS_ID) as $item)
+        {
+          $choices[$item->id] = $item->__toString();
+        }
+
+        $this->form->setValidator('copyrightStatus', new sfValidatorString);
+        $this->form->setWidget('copyrightStatus', new 
sfWidgetFormSelect(array('choices' => $choices)));
+
         break;
     }
   }
@@ -268,6 +282,13 @@
       $this->queryTerms[] = array('term' => $this->context->i18n->__('Level of 
description').': '.$this->request->levelOfDescription, 'operator' => 'and');
     }
 
+    // Copyright status
+    if (!empty($this->request->copyrightStatus))
+    {
+      
$query->addSubquery(QubitSearch::getInstance()->addTerm($this->request->copyrightStatus,
 'copyrightStatusId'), true);
+      $this->queryTerms[] = array('term' => 'copyrightStatus: 
'.QubitTerm::getById($this->request->copyrightStatus)->__toString(), 'operator' 
=> 'and');
+    }
+
     $query = parent::filterQuery($query);
 
     return $query;

Modified: trunk/apps/qubit/modules/search/templates/_advancedSearch.php
==============================================================================
--- trunk/apps/qubit/modules/search/templates/_advancedSearch.php       Mon Apr 
23 10:27:38 2012        (r11497)
+++ trunk/apps/qubit/modules/search/templates/_advancedSearch.php       Mon Apr 
23 11:03:25 2012        (r11498)
@@ -30,7 +30,7 @@
     ->renderRow() ?>
 
   <?php echo $form->mediaType
-    ->label(__('Media'))
+    ->label(__('Media type'))
     ->renderRow() ?>
 
   <?php echo $form->hasDigitalObject
@@ -39,6 +39,9 @@
 
   <?php echo $form->levelOfDescription->renderRow() ?>
 
+  <?php echo $form->copyrightStatus
+    ->label(__('Copyright status'))
+    ->renderRow() ?>
 </fieldset>
 
 <?php if (isset($form->pager) && 'globalReplace' == $action): ?>

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