Exemplo n.º 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]))
Exemplo n.º 2
0
    def disable(self):
        """
            Disable the language identified by 'lang_id'.
        """
        try:
            lang_id = int(self.request.params['lang_id'])
            language = Language.disable(self.session, lang_id)
            self.session.flush()

        except QuotaError as e:
            self.log.exception(e)
            self.session.rollback()
            success = False
            msg = self.request.translate(
                        u"Non è possibile rimuovere tutte le lingue")

        except Exception as e:
            self.session.rollback()
            success = False
            msg = self.request.translate(
                    u"Errore durante il tentativo di rimuovere la lingua.")
            self.log.exception('Unable to remove the requested language: %s', e)

        else:
            self.session.commit()
            success = True
            msg = self.request.translate(u"Lingua rimossa con successo.")
            self.log.debug("Language remove successfully.")
            self.proxy.invalidate(language=language)

        finally:
            return dict(success=success, msg=msg)
Exemplo n.º 3
0
    def test_disable(self):

        self.populate(self.session)

        language = self.session.query(Language).\
                        filter(Language.lang==u'it').one()

        self.assertEqual(language, Language.disable(self.session, language.id))

        criterion = NodeInfo.lang.has(id=language.id)
        translations = self.session.query(NodeInfo).filter(criterion).count()

        self.assertEqual(translations, 0)