Author: david
Date: Tue Jul 26 12:23:42 2011
New Revision: 9381
Log:
Throw exception if no publication status set for information object. Fixes
issue 2017.
Modified:
trunk/plugins/qbAclPlugin/lib/QubitAcl.class.php
Modified: trunk/plugins/qbAclPlugin/lib/QubitAcl.class.php
==============================================================================
--- trunk/plugins/qbAclPlugin/lib/QubitAcl.class.php Mon Jul 25 22:50:10
2011 (r9380)
+++ trunk/plugins/qbAclPlugin/lib/QubitAcl.class.php Tue Jul 26 12:23:42
2011 (r9381)
@@ -170,12 +170,20 @@
self::getInstance()->addRole($role);
}
- // If attempting to read a draft information object, test viewDraft & read
- if ('read' == $action && $resource instanceOf QubitInformationObject &&
null !== $publicationStatus = $resource->getPublicationStatus() &&
QubitTerm::PUBLICATION_STATUS_DRAFT_ID == $publicationStatus->statusId)
+ // If attempting to read a draft information object, check viewDraft
permission
+ if ('read' == $action && $resource instanceOf QubitInformationObject)
{
- $instance = self::getInstance()->buildAcl($resource, $options);
+ if (null === $resource->getPublicationStatus())
+ {
+ throw new sfException('No publication status set for information
object id: '.$resource->id);
+ }
- return ($instance->acl->isAllowed($role, $resource, 'read') &&
$instance->acl->isAllowed($role, $resource, 'viewDraft'));
+ if (QubitTerm::PUBLICATION_STATUS_DRAFT_ID ==
$resource->getPublicationStatus()->statusId)
+ {
+ $instance = self::getInstance()->buildAcl($resource, $options);
+
+ return ($instance->acl->isAllowed($role, $resource, 'read') &&
$instance->acl->isAllowed($role, $resource, 'viewDraft'));
+ }
}
// If resource is a new object (no id yet) figure out if we should test
--
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.