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]))
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)
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)