示例#1
0
    def enable(cls, session, id_, translation_lang_id):
        """ Enable the language 'id_'
            if the number of enabled languages did not reach 'max_languages',
            then create translations for that language:
            create translations for each NodeInfo
            from 'translation_lang_id' to 'lang_id'.
        """
        max_ = Setting.get(session, 'max_languages').value
        enabled = cls.count(session, Language.enabled == True)
        if enabled >= max_:
            msg = 'The maximum number of enabled languages was reached.'
            raise QuotaError(msg)

        language = cls.get(session, id_)
        language.enabled = True
        log.debug('Enabled language: %s', language)

        NodeInfo.create_translations(session,
                                     translation_lang_id,
                                     language)

        return language