Issam MOUZOUN
|
Monday 21 December 2009 8:07:40 am
Hello, I develop a subscription module, any people can subscribe and must attach file (ezbinaryfile) and wait my approbation,. My problem is i can't preview the attached document during before approving I developp with ez 4.1.3 Thanks
|
Jérôme Vieilledent
|
Tuesday 22 December 2009 1:15:03 am
OK, I found out where the problem is, and this is a registered bug.
When running content/download, eZ Publish will check the node assignments of the attribute parent object. But in that case, the object has no node assignment because it's not published yet ! Problem occurs in kernel/content/download.php, lines 52 to 79
// Get locations.
$nodeAssignments = $contentObject->attribute( 'assigned_nodes' );
if ( count( $nodeAssignments ) === 0 )
{
// oops, no locations. probably it's related object. Let's check his owners
$ownerList = eZContentObject::fetch( $contentObjectID )->reverseRelatedObjectList( false, false, false, false );
foreach ( $ownerList as $owner )
{
if ( is_object( $owner ) )
{
$ownerNodeAssignments = $owner->attribute( 'assigned_nodes' );
$nodeAssignments = array_merge( $nodeAssignments, $ownerNodeAssignments );
}
}
}
// If exists location that current user has access to and location is visible.
$canAccess = false;
foreach ( $nodeAssignments as $nodeAssignment )
{
if ( ( eZContentObjectTreeNode::showInvisibleNodes() || !$nodeAssignment->attribute( 'is_invisible' ) ) and $nodeAssignment->canRead() )
{
$canAccess = true;
break;
}
}
if ( !$canAccess )
return $Module->handleError( eZError::KERNEL_NOT_AVAILABLE, 'kernel' );
|