def applyRecentProjectMarker(obj, event): recent = obj.recent if recent is True: mark(obj, IRecentMarker) else: erase(obj, IRecentMarker) obj.reindexObject(idxs=['object_provides'])
def _removePersistentUtility(portal): catalog = api.portal.get_tool('portal_catalog') brains = catalog(portal_type='PlominoDatabase') for brain in brains: db = brain.getObject() for doc in db.getAllDocuments(): if IIolDocument.providedBy(doc): erase(doc,IIolDocument)
def __call__(self): marker.erase(self.context, self.marker) self.context.reindexObject() notify(zope.lifecycleevent.ObjectModifiedEvent(self.context)) extra = view_url(self.context) getToolByName(self.context, 'portal_css').cookResources() self.request.response.redirect('%s%s' % (self.context.absolute_url(), extra))
def set_actions(context): """ Set registration actions """ if getattr(context, "is_registration_form", False): mark(context, IEasyFormRegistrationEnabled) updateActionsSchema(context) else: erase(context, IEasyFormRegistrationEnabled) context.reindexObject(idxs=["object_provides"])
def _set_sql_folder_id(self, value): old_value = self.context.sql_folder_id if value: self.context.sql_folder_id = value else: self.context.sql_folder_id = None if value != old_value: site = getSite() old_object = None if old_value: if hasattr(old_value, 'startswith') and old_value.startswith('/'): try: old_object = site.restrictedTraverse(old_value) except: pass else: try: old_object = uuidToObject(old_value) except: pass new_object = None if value: try: new_object = uuidToObject(value) except: pass if old_object: marker.erase(old_object, ISQLTraverser) if IAnnotations(old_object).get( 'collective.behavior.sql.sql_type'): del IAnnotations( old_object)['collective.behavior.sql.sql_type'] # catalog = getToolByName(getSite(), "portal_catalog") # ordering = old_object.getOrdering() # virtualbrains = catalog.searchResults(portal_type=self.context.id, sql_virtual=True) # for brain in virtualbrains: # while brain.getId in ordering.idsInOrder(): # ordering.notifyRemoved(brain.getId) if new_object: marker.mark(new_object, ISQLTraverser) IAnnotations(new_object)[ 'collective.behavior.sql.sql_type'] = self.context.id else: registerPublisherForFTI(self)
def _set_sql_folder_id(self, value): old_value = self.context.sql_folder_id self.context.sql_folder_id = value if value != old_value: old_object = old_value and old_value.to_object or None new_object = value and value.to_object or None if old_object: marker.erase(old_object, ISQLTraverser) if IAnnotations(old_object).get('collective.behavior.sql.sql_type'): del IAnnotations(old_object)['collective.behavior.sql.sql_type'] catalog = getToolByName(getSite(), "portal_catalog") # ordering = old_object.getOrdering() virtualbrains = catalog.searchResults(portal_type=self.context.id, sql_virtual=True) # for brain in virtualbrains: # while brain.getId in ordering.idsInOrder(): # ordering.notifyRemoved(brain.getId) if new_object: marker.mark(new_object, ISQLTraverser) IAnnotations(new_object)['collective.behavior.sql.sql_type'] = self.context.id
def ObjectModifiedEventHandler(instance, event): """ Called if the object is modified """ if instance.portal_type in ['Sample', 'VirusSample']: if not ISharableSample.providedBy(instance) and \ instance.getField('AllowSharing').get(instance): alsoProvides(instance, ISharableSample) instance.reindexObject() if ISharableSample.providedBy(instance) and \ not instance.getField('AllowSharing').get(instance): erase(instance, ISharableSample) instance.reindexObject() if not instance.getField('Barcode').get(instance): instance.getField('Barcode').set(instance, instance.getId()) if instance.getField('Barcode').get(instance) != instance.getId(): instance.setId(instance.getField('Barcode').get(instance))
def __call__(self): marker.erase(self.context, self.marker) extra = view_url(self.context) self.request.response.redirect('%s%s' % (self.context.absolute_url(), extra))
def handleCancelCheckout( event ): marker.erase( event.baseline, interfaces.IBaseline )
def handleWCDeleted( event ): marker.erase( event.baseline, interfaces.IBaseline )
def handleCheckin( event ): marker.erase( event.object, interfaces.IWorkingCopy ) marker.erase( event.baseline, interfaces.IBaseline )
def __call__(self): marker.erase( self.context, self.marker ) extra = view_url(self.context) self.request.response.redirect( '%s%s' % (self.context.absolute_url(), extra) )
def __call__(self): marker.erase( self.context, self.marker ) self.request.response.redirect( '%s/view' % self.context.absolute_url() )
def handleCancel(self, action): marker.erase(self.context, self.marker) self.request.RESPONSE.redirect(self.context.absolute_url())
def handleCheckin(event): marker.erase(event.object, interfaces.IWorkingCopy) marker.erase(event.baseline, interfaces.IBaseline)
def handleCancelCheckout(event): marker.erase(event.baseline, interfaces.IBaseline)
def handleWCDeleted(event): marker.erase(event.baseline, interfaces.IBaseline)