Author: mj
Date: Fri Apr  6 07:39:20 2012
New Revision: 11409

Log:
Issue 2288.  Implement term (subject/place) browse.

Added:
   branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/
   branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/actions/
   
branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/actions/browseAction.class.php
      - copied, changed from r11403, 
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php
   branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/templates/
   
branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/templates/browseSuccess.php
      - copied, changed from r11403, 
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php
Modified:
   
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php
   
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php

Modified: 
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php
==============================================================================
--- 
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php
     Fri Apr  6 05:02:11 2012        (r11408)
+++ 
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php
     Fri Apr  6 07:39:20 2012        (r11409)
@@ -35,9 +35,7 @@
 
     // retrieve all institutions
     $query = new Elastica_Query(new Elastica_Query_MatchAll());
-
     $query = $this->facetQuery($query);
-//    $query = $this->filterQuery($query);
 
     // set paging for request
     $query->setLimit($this->request->limit);

Modified: 
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php
==============================================================================
--- 
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php
        Fri Apr  6 05:02:11 2012        (r11408)
+++ 
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php
        Fri Apr  6 07:39:20 2012        (r11409)
@@ -1,7 +1,7 @@
 <div id="searchresults">
   <div class="row">
     <div class="span12" id="headline">
-      <h1><?php echo 
image_tag('/plugins/qtDominionPlugin/images/icons-large/icon-institutions.png', 
array('width' => '42', 'height' => '24')) ?>
+      <h1><?php echo 
image_tag('/plugins/qtDominionPlugin/images/icons-large/icon-institutions.png', 
array('width' => '42', 'height' => '42')) ?>
           <?php echo __('%1% Institutions', array('%1%' => 
$pager->resultSet->getTotalHits())); ?></h1>
     </div>
 

Copied and modified: 
branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/actions/browseAction.class.php
 (from r11403, 
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php)
==============================================================================
--- 
branches/2.0/plugins/qtDominionPlugin/modules/repository/actions/browseAction.class.php
     Thu Apr  5 14:16:07 2012        (r11403, copy source)
+++ 
branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/actions/browseAction.class.php
       Fri Apr  6 07:39:20 2012        (r11409)
@@ -24,7 +24,7 @@
  * @version    svn:$Id$
  */
 
-class RepositoryBrowseAction extends sfAction
+class TaxonomyBrowseAction extends sfAction
 {
   public function execute($request)
   {
@@ -33,11 +33,26 @@
       $request->limit = sfConfig::get('app_hits_per_page');
     }
 
-    // retrieve all institutions
-    $query = new Elastica_Query(new Elastica_Query_MatchAll());
+    // determine what kind of term we are browsing
+    switch ($this->request->id)
+    {
+      case QubitTaxonomy::SUBJECT_ID:
+        $this->field = 'subjects_id';
+        break;
+
+      case QubitTaxonomy::PLACE_ID:
+        $this->field = 'places_id';
+        break;
 
-    $query = $this->facetQuery($query);
-//    $query = $this->filterQuery($query);
+      case '':
+        // TODO: no ID specified, handle error condition (redirect?)
+        break;
+    }
+
+    // retrieve all institutions
+    $query = new Elastica_Query(new Elastica_Query_Term(array('taxonomyId' => 
$this->request->id)));
+    $query->setSort(array('_score' => 'desc', 'slug' => 'asc'));
+//    $query = $this->facetQuery($query);
 
     // set paging for request
     $query->setLimit($this->request->limit);
@@ -49,7 +64,7 @@
 
     try
     {
-      $resultSet = 
QubitSearch::getInstance()->index->getType('QubitRepository')->search($query);
+      $resultSet = 
QubitSearch::getInstance()->index->getType('QubitTerm')->search($query);
     }
     catch (Exception $e)
     {
@@ -115,60 +130,6 @@
       // no error, must be empty result set
       $this->error = $this->context->i18n->__('No subjects found.');
     }
-/*
-    if ($this->getUser()->isAuthenticated())
-    {
-      $this->sortSetting = sfConfig::get('app_sort_browser_user');
-    }
-    else
-    {
-      $this->sortSetting = sfConfig::get('app_sort_browser_anonymous');
-    }
-
-    $criteria = new Criteria;
-
-    // Do source culture fallback
-    $criteria = QubitCultureFallback::addFallbackCriteria($criteria, 
'QubitActor');
-
-    switch ($request->sort)
-    {
-      case 'nameDown':
-        $criteria->addDescendingOrderByColumn('authorized_form_of_name');
-
-        break;
-
-      case 'nameUp':
-        $criteria->addAscendingOrderByColumn('authorized_form_of_name');
-
-        break;
-
-      case 'updatedDown':
-        $criteria->addDescendingOrderByColumn(QubitObject::UPDATED_AT);
-
-        break;
-
-      case 'updatedUp':
-        $criteria->addAscendingOrderByColumn(QubitObject::UPDATED_AT);
-
-        break;
-
-      default:
-        if ('alphabetic' == $this->sortSetting)
-        {
-          $criteria->addAscendingOrderByColumn('authorized_form_of_name');
-        }
-        else if ('lastUpdated' == $this->sortSetting)
-        {
-          $criteria->addDescendingOrderByColumn(QubitObject::UPDATED_AT);
-        }
-    }
-
-    // Page results
-    $this->pager = new QubitPager('QubitRepository');
-    $this->pager->setCriteria($criteria);
-    $this->pager->setMaxPerPage($request->limit);
-    $this->pager->setPage($request->page);
-*/
   }
 
   public function facetQuery($query)

Copied and modified: 
branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/templates/browseSuccess.php
 (from r11403, 
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php)
==============================================================================
--- 
branches/2.0/plugins/qtDominionPlugin/modules/repository/templates/browseSuccess.php
        Thu Apr  5 14:16:07 2012        (r11403, copy source)
+++ 
branches/2.0/plugins/qtDominionPlugin/modules/taxonomy/templates/browseSuccess.php
  Fri Apr  6 07:39:20 2012        (r11409)
@@ -1,65 +1,18 @@
 <div id="searchresults">
   <div class="row">
     <div class="span12" id="headline">
-      <h1><?php echo 
image_tag('/plugins/qtDominionPlugin/images/icons-large/icon-institutions.png', 
array('width' => '42', 'height' => '24')) ?>
-          <?php echo __('%1% Institutions', array('%1%' => 
$pager->resultSet->getTotalHits())); ?></h1>
+      <h1><?php echo 
image_tag('/plugins/qtDominionPlugin/images/icons-large/icon-subjects.png', 
array('width' => '42', 'height' => '42')) ?>
+          <?php echo __('%1% Subjects', array('%1%' => 
$pager->resultSet->getTotalHits())); ?></h1>
     </div>
 
     <div id="filter" class="span12 mobileonly">
-      <h2 class="widebtn gray btn-huge" data-toggle="collapse" 
data-target="#facets"><?php echo __('Filter %1% Institutions', array('%1%' => 
$pager->resultSet->getTotalHits())); ?></h2>
+      <h2 class="widebtn gray btn-huge" data-toggle="collapse" 
data-target="#facets"><?php echo __('Filter %1% Subjects', array('%1%' => 
$pager->resultSet->getTotalHits())); ?></h2>
     </div>
   </div>
 
   <div class="row">
     <div class="span3" id="facets">
-      <div class="section">
-        <h2 class="mobileonly widebtn gray btn-huge" data-toggle="collapse" 
data-target="#archivetype"><?php echo __('Archive Type'); ?></h2>
-
-        <h2 class="desktoponly"><?php echo __('Archive Type'); ?></h2>
-
-        <div class="scrollable" id="archivetype">
-          <ul>
-            <li class="active"><?php echo link_to(__('All'), array('types' => 
null) + $sf_request->getParameterHolder()->getAll()); ?></li>
-
-            <?php foreach($pager->facets['types']['terms'] as $id => $term): ?>
-
-            <li><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', array('types' => 
$id) + $sf_request->getParameterHolder()->getAll()); ?></li>
-
-            <?php endforeach; ?>
-
-          </ul>
-        </div>
-      </div><!-- /.section -->
-
-      <div class="section">
-        <h2 class="mobileonly widebtn gray btn-huge" data-toggle="collapse" 
data-target="#province"><?php echo __('Province'); ?></h2>
-
-        <h2 class="desktoponly"><?php echo __('Province'); ?></h2>
-
-        <div class="scrollable" id="province">
-          <ul>
-            <li class="active"><?php echo link_to(__('All'), 
array('contact_i18n_region' => null) + 
$sf_request->getParameterHolder()->getAll()); ?></li>
-
-            <?php foreach($pager->facets['contact_i18n_region']['terms'] as 
$id => $term): ?>
-
-            <li><?php echo 
link_to(__($term['term']).'<span>'.$term['count'].'</span>', 
array('contact_i18n_region' => $id) + 
$sf_request->getParameterHolder()->getAll()); ?></li>
-
-            <?php endforeach; ?>
-
-          </ul>
-        </div>
-      </div><!-- /.section -->
-
-      <div class="section">
-        <h2 class="desktoponly">Map</h2>
-
-        <div class="">
-          <a href="#"><img src="../images/placeholder/map.png" alt="map" 
width="100%" /></a>
-        </div>
-      </div><!-- /.section -->
-      
-    
-      
+      <!-- FIXME: HACK HERE -->.
     </div><!-- /.column .sidebar -->
 
     <div class="span9" id="grid">
@@ -73,25 +26,19 @@
           <?php foreach ($pager->resultSet->getResults() as $hit): ?>
 
             <?php $doc = $hit->getData(); ?>
-            <?php foreach ($doc['actor'] as $i18n): ?>
+            <?php foreach ($doc['i18n'] as $i18n): ?>
 
               <?php $doc[$i18n['culture']] = $i18n; ?>
 
             <?php endforeach; ?>
-            <?php unset($doc['actor']); // continue; ?>
+            <?php unset($doc['i18n']); // continue; ?>
 
             <div class="institution maxi">
-              <h2 class="filltext"><?php echo 
link_to($doc[$sf_user->getCulture()]['authorizedFormOfName'] ?: 
$doc[$doc['sourceCulture']]['authorizedFormOfName'], array('module' => 
'repository', 'slug' => $doc['slug'])) ?></h2>
+              <h2 class="filltext"><?php echo 
link_to($doc[$sf_user->getCulture()]['name'] ?: 
$doc[$doc['sourceCulture']]['name'], array('module' => 'search', $field => 
$hit->getId())) ?></h2>
             </div>
 
           <?php endforeach; ?>
 
-          <!-- FIXME: placeholder for repos with image -->
-          <div class="institution maxi img">
-            <h2><a href="#">Vancouver Maritime Museum Library</a></h2>
-            <h2><a href="#"><img 
src="../images/placeholder/institution-logo3.png" alt="institution-logo3" 
width="150" height="150" /></a></h2>
-          </div>
-
         </div>
       </div>
       

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