Esempio n. 1
0
def getVersionIdForIndex(obj):
    """indexes versionid
    """
    try:
        ver = IVersionControl(obj)
        return ver.getVersionId()
    except (TypeError, ValueError):  #ComponentLookupError,
        # The catalog expects AttributeErrors when a value can't be found
        raise AttributeError
Esempio n. 2
0
def getVersionIdForIndex(obj):
    """indexes versionid
    """
    try:
        ver = IVersionControl(obj)
        return ver.getVersionId()
    except (TypeError, ValueError): #ComponentLookupError,
        # The catalog expects AttributeErrors when a value can't be found
        raise AttributeError
Esempio n. 3
0
    def __call__(self, *args, **kwargs):
        if not IVersionControl:
            return self._redirect("eea.versions NOT installed", "warn")

        try:
            version = IVersionControl(self.context)
            return self.fixVersion(version.getVersionId())
        except Exception as err:
            logger.exception(err)
            return self._redirect("Couldn't synchronize older versions", "warn")
Esempio n. 4
0
    def __call__(self, *args, **kwargs):
        if not IVersionControl:
            return self._redirect("eea.versions NOT installed", "warn")

        try:
            version = IVersionControl(self.context)
            return self.fixVersion(version.getVersionId())
        except Exception as err:
            logger.exception(err)
            return self._redirect("Couldn't synchronize older versions",
                                  "warn")
Esempio n. 5
0
def move_soer_content(context):
    """ Move relevant soer content under /soer
    """
    ctool = getToolByName(context, 'portal_catalog')

    soer_2015 = context.restrictedTraverse("/www/SITE/soer-2015")
    soer_2020 = context.restrictedTraverse("/www/SITE/soer-2020")
    soer = context.restrictedTraverse("/www/SITE/soer")

    paths = ["/www/SITE/soer"]
    vers_dict = {}
    for path in paths:
        brains = ctool.searchResults(path=path, Language="all")

        for brain in brains:
            obj = brain.getObject()
            try:
                control = IVersionControl(obj)
            except:
                continue
            version_id = control.getVersionId() or None

            if obj.id in ['soer-2015', 'soer-2020'
                          ] and obj.portal_type == 'Folder':
                logger.info('UPDATING FOLDER %s' % obj.absolute_url())
                vers_dict.update({obj.id.split('-')[-1]: version_id})
            else:
                vers_dict.update({obj.id: version_id})

    content.move(soer_2015, soer, '2015')
    content.move(soer_2020, soer, '2020')
    soer_2020_intro = context.restrictedTraverse("/www/SITE/soer/2020/intro")
    content.copy(soer_2020_intro, soer)

    # set default page
    soer.default_page = 'intro'
    soer._p_changed = True
    soer.reindexObject()

    paths = ["/www/SITE/soer"]
    for path in paths:
        brains = ctool.searchResults(path=path, Language="all")

        for brain in brains:
            obj = brain.getObject()
            try:
                control = IVersionControl(obj)
            except:
                continue

            version_id = control.getVersionId() or None
            if vers_dict.get(obj.id, None):
                if vers_dict.get(obj.id, None) == version_id:
                    logger.info('GOOD OBJECT %s' % obj.absolute_url())
                else:
                    logger.info('BAD OBJECT %s' % obj.absolute_url())
                    control.setVersionId(vers_dict.get(obj.id))
                    obj._p_changed = True
                    obj.reindexObject()
                    transaction.commit()

    logger.info('Finished moving soer content ... DONE')
    return 'Done moving'