Exemple #1
0
 def test_create_translations(self):
     self.populate(self.session)
     en = self.session.query(Language).filter(Language.lang == 'en').one()
     it = self.session.query(Language).filter(Language.lang == 'it').one()
     q = self.session.query(PageInfo).filter(PageInfo.lang == en)
     self.assertNotEqual(q.all(), [])
     Language.disable(self.session, 2)
     self.assertEqual(q.all(), [])
     Language.enable(self.session, 2, 1)
     translations = q.all()
     self.assertNotEqual(translations, [])
     self.assertEqual(set([t.lang for t in translations]), set([en]))
Exemple #2
0
    def test_enable(self):

        self.populate(self.session)

        language = self.session.query(Language).\
                        filter(Language.lang==u'en').one()
        language.enabled = False

        src_language = self.session.query(Language).\
                            filter(Language.lang==u'it').one()
        dst_language = self.session.query(Language).\
                            filter(Language.lang==u'de').one()

        language = Language.enable(self.session,
                                   dst_language.id,
                                   src_language.id)

        self.assertEqual(dst_language, language)

        original = self.session.query(NodeInfo).\
                        filter(NodeInfo.lang.has(id=src_language.id)).count()
        translations = self.session.query(NodeInfo).\
                            filter(NodeInfo.lang.has(id=dst_language.id)).count()

        self.assertEqual(translations, original)
Exemple #3
0
    def enable(self):
        """
            Enable the language identified by 'lang_id'.
        """
        try:
            def_lang = self.request.registry.settings['default_locale_name']
            def_lang = Language.get_by_lang(self.session, def_lang)
            language = Language.enable(self.session,
                                       int(self.request.params['lang_id']),
                                       def_lang.id)
            self.session.flush()

        except QuotaError as e:
            self.log.exception(e)
            self.session.rollback()
            success = False
            msg = self.request.translate(
                    'Hai raggiunto il numero massimo di lingue acquistate.')

        except Exception as e:
            self.log.exception('Cannot enable requested language: %s', e)
            self.session.rollback()
            success = False
            msg=self.request.translate(
                u"Errore durante la procedura di aggiunta della lingua.")

        else:
            self.log.debug('Enabled: %s', language)
            self.session.commit()
            name = language.locale.get_display_name().title()
            success = True
            msg = self.request.translate(
                u'Lingua %s aggiunta con successo.' % name)
            self.proxy.invalidate(language=language)

        finally:
            return dict(success=success, msg=msg)