Пример #1
0
def applyRecentProjectMarker(obj, event):
    recent = obj.recent
    if recent is True:
        mark(obj, IRecentMarker)
    else:
        erase(obj, IRecentMarker)
    obj.reindexObject(idxs=['object_provides'])
Пример #2
0
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)
Пример #3
0
 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"])
Пример #5
0
    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)
Пример #6
0
    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
Пример #7
0
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))
Пример #9
0
def handleCancelCheckout( event ):
    marker.erase( event.baseline, interfaces.IBaseline )
Пример #10
0
def handleWCDeleted( event ):
    marker.erase( event.baseline, interfaces.IBaseline ) 
Пример #11
0
def handleCheckin( event ):
    marker.erase( event.object, interfaces.IWorkingCopy )
    marker.erase( event.baseline, interfaces.IBaseline )
Пример #12
0
 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) )
Пример #13
0
 def __call__(self):
     marker.erase( self.context, self.marker )
     self.request.response.redirect( '%s/view' % self.context.absolute_url() )
Пример #14
0
 def handleCancel(self, action):
     marker.erase(self.context, self.marker)
     self.request.RESPONSE.redirect(self.context.absolute_url())
Пример #15
0
def handleCheckin(event):
    marker.erase(event.object, interfaces.IWorkingCopy)
    marker.erase(event.baseline, interfaces.IBaseline)
Пример #16
0
def handleCancelCheckout(event):
    marker.erase(event.baseline, interfaces.IBaseline)
Пример #17
0
def handleWCDeleted(event):
    marker.erase(event.baseline, interfaces.IBaseline)