def getObject( self ): """ """ if self.__categId: if not conference.CategoryManager().hasKey(self.__categId): raise errors.NoReportError(_("There is no category with id '%s', or it has been deleted") % self.__categId) obj = conference.CategoryManager().getById(self.__categId) if self.__materialId is not None or self.__resId is not None: return None # obsolete - attachments don't use WebLocator return obj if not self.__confId: return None obj = conference.ConferenceHolder().getById( self.__confId ) if obj is None: raise errors.NoReportError("The event you are trying to access does not exist or has been deleted") if self.__notifTplId: obj = obj.getAbstractMgr().getNotificationTplById(self.__notifTplId) return obj if self.__trackId: obj = obj.getTrackById( self.__trackId ) return obj if self.__contribTypeId: obj = obj.getContribTypeById(self.__contribTypeId) return obj if self.__abstractId: obj = obj.getAbstractMgr().getAbstractById( self.__abstractId ) if obj == None: raise errors.NoReportError("The abstract you are trying to access does not exist or has been deleted") if self.__resId: return obj.getAttachmentById( self.__resId ) if self.__sessionId: obj = obj.getSessionById( self.__sessionId ) if obj == None: raise errors.NoReportError("The session you are trying to access does not exist or has been deleted") if self.__slotId: obj = obj.getSlotById( self.__slotId ) if self.__contribId: obj = obj.getContributionById( self.__contribId ) if obj == None: raise errors.NoReportError(_("The contribution you are trying to access does not exist or has been deleted")) if self.__reviewId: #obj must be a Contribution obj = obj.getReviewManager().getReviewById(self.__reviewId) if obj == None: raise errors.NoReportError("The review you are tring to access does not exist or has been deleted") if self.__subContribId and self.__contribId: obj = obj.getSubContributionById( self.__subContribId ) if obj == None: raise errors.NoReportError("The subcontribution you are trying to access does not exist or has been deleted") if not self.__materialId: return obj assert self.__materialId == 'reviewing' mat = reviewing_factory_get(obj) if mat is None or self.__resId is None: return mat return mat.getResourceById(self.__resId)
def _getMaterial(self, forceCreate=True): """ Returns the Material object to which the resource is being added """ assert self._materialId == 'reviewing' # only reviewing still uses this... material = reviewing_factory_get(self._target) if material is None and forceCreate: material = reviewing_factory_create(self._target) newlyCreated = True else: newlyCreated = False return material, newlyCreated
def getObject(self): """ """ if self.__categId: if not conference.CategoryManager().hasKey(self.__categId): raise errors.NoReportError( _("There is no category with id '%s', or it has been deleted" ) % self.__categId) obj = conference.CategoryManager().getById(self.__categId) if self.__materialId is not None or self.__resId is not None: return None # obsolete - attachments don't use WebLocator return obj if not self.__confId: return None obj = conference.ConferenceHolder().getById(self.__confId) if obj is None: raise errors.NoReportError( "The event you are trying to access does not exist or has been deleted" ) if self.__notifTplId: obj = obj.getAbstractMgr().getNotificationTplById( self.__notifTplId) return obj if self.__trackId: obj = obj.getTrackById(self.__trackId) return obj if self.__contribTypeId: obj = obj.getContribTypeById(self.__contribTypeId) return obj if self.__abstractId: obj = obj.getAbstractMgr().getAbstractById(self.__abstractId) if obj == None: raise errors.NoReportError( "The abstract you are trying to access does not exist or has been deleted" ) if self.__resId: return obj.getAttachmentById(self.__resId) if self.__sessionId: obj = obj.getSessionById(self.__sessionId) if obj == None: raise errors.NoReportError( "The session you are trying to access does not exist or has been deleted" ) if self.__slotId: obj = obj.getSlotById(self.__slotId) if self.__contribId: obj = obj.getContributionById(self.__contribId) if obj == None: raise errors.NoReportError( _("The contribution you are trying to access does not exist or has been deleted" )) if self.__reviewId: #obj must be a Contribution obj = obj.getReviewManager().getReviewById(self.__reviewId) if obj == None: raise errors.NoReportError( "The review you are tring to access does not exist or has been deleted" ) if self.__subContribId and self.__contribId: obj = obj.getSubContributionById(self.__subContribId) if obj == None: raise errors.NoReportError( "The subcontribution you are trying to access does not exist or has been deleted" ) if not self.__materialId: return obj assert self.__materialId == 'reviewing' mat = reviewing_factory_get(obj) if mat is None or self.__resId is None: return mat return mat.getResourceById(self.__resId)