Exemple #1
0
 def Title(self, language=None, prefix_with_reference_number=True):
     title = ITranslatedTitle(self).translated_title(language)
     if prefix_with_reference_number:
         title = self._prefix_with_reference_number(title)
     if isinstance(title, unicode):
         return title.encode('utf-8')
     return title or ''
 def Title(self, language=None, prefix_with_reference_number=True):
     title = ITranslatedTitle(self).translated_title(language)
     if prefix_with_reference_number:
         title = self._prefix_with_reference_number(title)
     if isinstance(title, unicode):
         return title.encode('utf-8')
     return title or ''
 def migrate_repositoryfolder_titles(self, repositoryfolder):
     """Because the repositoryfolder is required, we set the current title
     for both languages.
     """
     ITranslatedTitle(
         repositoryfolder).title_de = repositoryfolder.effective_title
     ITranslatedTitle(
         repositoryfolder).title_fr = repositoryfolder.effective_title
     repositoryfolder.reindexObject()
    def test_title_setter(self):
        self.login(self.manager)

        for lang in TranslatedTitle.SUPPORTED_LANGUAGES:
            setattr(ITranslatedTitle(self.repository_root),
                    u'title_{}'.format(lang), self.titles[lang].upper())

        for lang in TranslatedTitle.SUPPORTED_LANGUAGES:
            self.assertEquals(
                self.titles[lang].upper(),
                getattr(ITranslatedTitle(self.repository_root),
                        'title_{}'.format(lang)))
    def test_title_setter(self):
        repository_root = create(Builder('repository_root'))

        for lang in TranslatedTitle.SUPPORTED_LANGUAGES:
            setattr(ITranslatedTitle(repository_root),
                    u'title_{}'.format(lang), u'TITLE {}'.format(lang.upper()))

        for lang in TranslatedTitle.SUPPORTED_LANGUAGES:
            self.assertEquals(
                u'TITLE {}'.format(lang.upper()),
                getattr(ITranslatedTitle(repository_root),
                        'title_{}'.format(lang)))
    def __call__(self):
        query = {'portal_type': ['opengever.private.root']}
        for folder in self.objects(query, 'Set title on private root folders'):
            idxs = []

            if not ITranslatedTitle(folder).title_de:
                ITranslatedTitle(folder).title_de = u'Meine Ablage'
                idxs.append('title_de')
            if not ITranslatedTitle(folder).title_fr:
                ITranslatedTitle(folder).title_fr = u'Mon depot'
                idxs.append('title_fr')

            if idxs:
                folder.reindexObject(idxs=idxs)
Exemple #7
0
    def get_number_mapping(self):
        items = []
        intid_util = getUtility(IIntIds)

        for prefix, intid in self.get_child_mapping().iteritems():
            obj = intid_util.queryObject(intid)

            if obj:
                title = ITranslatedTitle(obj).translated_title()
                active = (self.get_prefix_mapping()[intid] == prefix)
            else:
                # if a repositoryfolder is already removed the intid
                # utility raises an KeyError. But the number should still
                # be in the list, because it should be available to remove
                # via the reference prefix manager.
                active = False
                title = _('label_already_removed',
                          '-- Already removed object --')

            items.append({'prefix': prefix, 'title': title, 'active': active})

        def key_sorter(obj):
            key = obj['prefix']
            if (key.isdigit()):
                return int(key)
            return key

        return sorted(items, key=key_sorter)
Exemple #8
0
    def get_repository_title(self):
        # TODO: use disposition itself instead of the first dossier
        parent = self.dossiers[0].obj
        while not IRepositoryRoot.providedBy(parent):
            parent = aq_parent(aq_inner(parent))

        return ITranslatedTitle(parent).translated_title()
Exemple #9
0
    def test_translated_attribute_can_be_set_to_none(self):
        repository_root = create(Builder('repository_root')
                                 .having(title_de=u"Ablage",
                                         title_fr=u"syst\xe8me d'ordre"))
        root_translation = ITranslatedTitle(repository_root)

        repository_root.title_de = None
        repository_root.title_fr = None

        self.assertIsNone(root_translation.translated_title())
        self.assertIsNone(root_translation.translated_title(language='de'))
        self.assertIsNone(root_translation.translated_title(language='fr'))

        self.assertEqual('', repository_root.Title())
        self.assertEqual('', repository_root.Title(language='de'))
        self.assertEqual('', repository_root.Title(language='fr'))
    def test_translated_attribute_can_be_set_to_none(self):
        repository_root = create(
            Builder('repository_root').having(title_de=u"Ablage",
                                              title_fr=u"syst\xe8me d'ordre"))
        root_translation = ITranslatedTitle(repository_root)

        repository_root.title_de = None
        repository_root.title_fr = None

        self.assertIsNone(root_translation.translated_title())
        self.assertIsNone(root_translation.translated_title(language='de'))
        self.assertIsNone(root_translation.translated_title(language='fr'))

        self.assertEqual('', repository_root.Title())
        self.assertEqual('', repository_root.Title(language='de'))
        self.assertEqual('', repository_root.Title(language='fr'))
    def test_translated_title_returns_title_in_fallback_language_when_asked_language_not_supported(
            self, browser):
        self.login(self.regular_user, browser=browser)

        self.assertEquals(
            u"Ordnungssystem",
            ITranslatedTitle(
                self.repository_root).translated_title(language='it'))
    def test_translated_title_returns_title_in_asked_language(self, browser):
        self.login(self.regular_user, browser=browser)

        set_preferred_language(self.portal.REQUEST, 'de-ch')

        self.assertEquals(
            u"Syst\xe8me de classement",
            ITranslatedTitle(
                self.repository_root).translated_title(language='fr'))
    def test_translated_title_returns_title_in_fallback_language_when_asked_language_not_supported(
            self, browser):
        repository_root = create(
            Builder('repository_root').having(title_de=u"Ablage",
                                              title_fr=u"syst\xe8me d'ordre"))

        self.assertEquals(
            u"Ablage",
            ITranslatedTitle(repository_root).translated_title(language='it'))
    def test_translated_title_returns_title_in_asked_language(self, browser):
        repository_root = create(
            Builder('repository_root').having(title_de=u"Ablage",
                                              title_fr=u"syst\xe8me d'ordre"))

        set_preferred_language(self.portal.REQUEST, 'de-ch')
        self.assertEquals(
            u"syst\xe8me d'ordre",
            ITranslatedTitle(repository_root).translated_title(language='fr'))
Exemple #15
0
    def test_translated_title_config_is_consistent(self):
        self.assertEqual(len(TRANSLATED_TITLE_NAMES),
                         len(TranslatedTitle.SUPPORTED_LANGUAGES))

        names = ['title_{}'.format(code) for code in
                 TranslatedTitle.SUPPORTED_LANGUAGES]
        self.assertItemsEqual(names, TRANSLATED_TITLE_NAMES)

        self.assertItemsEqual(names, ITranslatedTitle.names())
    def test_title_getter(self):
        titles = dict(
            (u'title_{}'.format(lang), u'Repository title in {}'.format(lang))
            for lang in TranslatedTitle.SUPPORTED_LANGUAGES)
        repository_root = create(Builder('repository_root').having(**titles))

        for lang in TranslatedTitle.SUPPORTED_LANGUAGES:
            self.assertEquals(
                u"Repository title in {}".format(lang),
                getattr(ITranslatedTitle(repository_root),
                        'title_{}'.format(lang)))
    def test_translated_title_config_is_consistent(self):
        self.assertEqual(len(TRANSLATED_TITLE_NAMES),
                         len(TranslatedTitle.SUPPORTED_LANGUAGES))

        names = [
            'title_{}'.format(code)
            for code in TranslatedTitle.SUPPORTED_LANGUAGES
        ]
        self.assertItemsEqual(names, TRANSLATED_TITLE_NAMES)

        self.assertItemsEqual(names, ITranslatedTitle.names())
 def title(self):
     return ITranslatedTitle(self.context).translated_title()
Exemple #19
0
 def migrate_titles(self, obj):
     ITranslatedTitle(obj).title_de = IBasic(obj).title
     obj.reindexObject()
Exemple #20
0
def title_fr_indexer(obj):
    if ITranslatedTitleSupport.providedBy(obj):
        return ITranslatedTitle(obj).title_fr
    return None
Exemple #21
0
 def migrate_repositoryroot_titles(self, repositoryroot):
     ITranslatedTitle(repositoryroot).title_de = IBasic(
         repositoryroot).title
     repositoryroot.reindexObject()
Exemple #22
0
 def get_title(self, obj):
     if ITranslatedTitleSupport.providedBy(obj):
         return ITranslatedTitle(obj).title_de
     return obj.title
 def migrate_titles(self, obj):
     ITranslatedTitle(obj).title_de = IOpenGeverBase(obj).title
     obj.reindexObject()