def addTranslation(self, language, *args, **kwargs):
    """Adds a translation."""
    if self.hasTranslation(language):
        translation = self.getTranslation(language)
        raise AlreadyTranslated(translation.absolute_url())

    locator = ILocateTranslation(self)
    parent = locator.findLocationForTranslation(language)

    notify(events.ObjectWillBeTranslatedEvent(self, language))

    canonical = self.getCanonical()
    kwargs[config.KWARGS_TRANSLATION_KEY] = canonical

    factory = ITranslationFactory(self)
    translation = factory.createTranslation(
        parent, language, *args, **kwargs)
    # special handling for Belgium
    ppath = '/'.join(parent.getPhysicalPath())
    if not ppath.startswith('/osha/portal/fop/belgium'):
        translation.unmarkCreationFlag()
    translation.reindexObject()
    notify(events.ObjectTranslatedEvent(self, translation, language))

    return translation
    def addTranslation(self, language, *args, **kwargs):
        """Adds a translation."""
        if self.hasTranslation(language):
            translation = self.getTranslation(language)
            raise AlreadyTranslated(translation.absolute_url())

        locator = ILocateTranslation(self)
        parent = locator.findLocationForTranslation(language)

        notify(events.ObjectWillBeTranslatedEvent(self, language))

        canonical = self.getCanonical()
        kwargs[config.KWARGS_TRANSLATION_KEY] = canonical

        factory = ITranslationFactory(self)
        translation = factory.createTranslation(parent, language, *args,
                                                **kwargs)
        translation.reindexObject()
        notify(events.ObjectTranslatedEvent(self, translation, language))

        return translation
Exemplo n.º 3
0
    def addTranslation(self, language, *args, **kwargs):
        """Adds a translation."""
        if self.hasTranslation(language):
            translation = self.getTranslation(language)
            raise AlreadyTranslated(translation.absolute_url())

        locator = ILocateTranslation(self)
        parent = locator.findLocationForTranslation(language)

        notify(events.ObjectWillBeTranslatedEvent(self, language))

        canonical = self.getCanonical()
        kwargs[config.KWARGS_TRANSLATION_KEY] = canonical

        factory = ITranslationFactory(self)
        translation = factory.createTranslation(
            parent, language, *args, **kwargs)
        translation.reindexObject()
        notify(events.ObjectTranslatedEvent(self, translation, language))

        return translation
Exemplo n.º 4
0
def addTranslation(self, language, *args, **kwargs):
    """Adds a translation."""
    if self.hasTranslation(language):
        translation = self.getTranslation(language)
        raise AlreadyTranslated(translation.absolute_url())

    locator = ILocateTranslation(self)
    parent = locator.findLocationForTranslation(language)

    notify(events.ObjectWillBeTranslatedEvent(self, language))

    canonical = self.getCanonical()
    kwargs[config.KWARGS_TRANSLATION_KEY] = canonical

    factory = ITranslationFactory(self)
    translation = factory.createTranslation(parent, language, *args, **kwargs)
    # special handling for Belgium
    ppath = '/'.join(parent.getPhysicalPath())
    if not ppath.startswith('/osha/portal/fop/belgium'):
        translation.unmarkCreationFlag()
    translation.reindexObject()
    notify(events.ObjectTranslatedEvent(self, translation, language))

    return translation