Author: david
Date: Tue Sep 29 22:04:51 2009
New Revision: 3606
Log:
Fix ACL permissions for repository autocomplete - broken in r3592. Add current
culture to search criteria for autocomplete list.
Modified:
trunk/apps/qubit/modules/repository/actions/autocompleteAction.class.php
trunk/apps/qubit/modules/repository/actions/listAction.class.php
Modified:
trunk/apps/qubit/modules/repository/actions/autocompleteAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/repository/actions/autocompleteAction.class.php
Tue Sep 29 16:18:06 2009 (r3605)
+++ trunk/apps/qubit/modules/repository/actions/autocompleteAction.class.php
Tue Sep 29 22:04:51 2009 (r3606)
@@ -22,8 +22,34 @@
public function execute($request)
{
$criteria = new Criteria;
+ $criteria->addJoin(QubitActorI18n::ID, QubitRepository::ID,
Criteria::INNER_JOIN);
+ $criteria->add(QubitActorI18n::CULTURE, $this->getUser()->getCulture(),
Criteria::EQUAL);
$criteria->add(QubitActorI18n::AUTHORIZED_FORM_OF_NAME,
$request->query.'%', Criteria::LIKE);
- $criteria->addJoin(QubitActor::ID, QubitActorI18n::ID);
+
+ // Filter 'denied' repositories if list for repository auto-complete on
info
+ // object form
+ if (isset($request->aclAction))
+ {
+ if (isset($request->informationObject))
+ {
+ $informationObject =
QubitInformationObject::getById($request->informationObject);
+ }
+ else
+ {
+ $informationObject = QubitInformationObject::getRoot();
+ }
+
+ $deniedRepositories = QubitAcl::deniedRepositories($informationObject,
$request->aclAction);
+
+ // If all repositories are denied, no response
+ if (array('*') == $deniedRepositories)
+ {
+
+ return sfView::NONE;
+ }
+
+ $criteria->add(QubitRepository::ID, $deniedRepositories,
Criteria::NOT_IN);
+ }
$this->pager = new QubitPager('QubitRepository');
$this->pager->setCriteria($criteria);
Modified: trunk/apps/qubit/modules/repository/actions/listAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/repository/actions/listAction.class.php Tue Sep
29 16:18:06 2009 (r3605)
+++ trunk/apps/qubit/modules/repository/actions/listAction.class.php Tue Sep
29 22:04:51 2009 (r3606)
@@ -30,30 +30,6 @@
$search = new QubitSearch;
$query = new Zend_Search_Lucene_Search_Query_Term(new
Zend_Search_Lucene_Index_Term('QubitRepository', 'className'));
- // Filter 'denied' repositories if list for repository auto-complete on
info
- // object form
- if (isset($request->informationObject) && isset($request->aclAction))
- {
- $informationObject =
QubitInformationObject::getById($request->informationObject);
- $deniedRepositories = QubitAcl::deniedRepositories($informationObject,
$request->aclAction);
-
- // If all repositories are denied, no response
- if (array('*') == $deniedRepositories)
- {
-
- return sfView::NONE;
- }
-
- $subquery1 = new Zend_Search_Lucene_Search_Query_MultiTerm();
- foreach ($deniedRepositories as $repositoryId)
- {
- $subquery1->addTerm(new Zend_Search_Lucene_Index_Term($repositoryId,
'id'));
- }
-
- $query = new Zend_Search_Lucene_Search_Query_Boolean(array($query));
- $query->addSubquery($subquery1, false /* prohibited */);
- }
-
if (isset($request->query))
{
$query = new Zend_Search_Lucene_Search_Query_Boolean(array($query,
Zend_Search_Lucene_Search_QueryParser::parse($request->query)));
--~--~---------~--~----~------------~-------~--~----~
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.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---