Пример #1
0
    def disable_langs(self, store):
        c = len(EnabledLanguage.get_all_strings(store))
        i = store.find(ConfigL10N).count()
        n = i/c

        EnabledLanguage.remove_old_lang(store, 'en')

        c_f = len(EnabledLanguage.get_all_strings(store))
        i_f = store.find(ConfigL10N).count()

        self.assertTrue(i-i_f == n and c_f == c-1)
Пример #2
0
def enable_disable_languages(store, request):
    cur_enabled_langs = EnabledLanguage.get_all_strings(store)
    new_enabled_langs = [unicode(y) for y in request['languages_enabled']]

    if len(new_enabled_langs) < 1:
        raise errors.InvalidInputFormat("No languages enabled!")

    if request['default_language'] not in new_enabled_langs:
        raise errors.InvalidInputFormat(
            "Invalid lang code for chosen default_language")

    appdata = None
    for lang_code in new_enabled_langs:
        if lang_code not in LANGUAGES_SUPPORTED_CODES:
            raise errors.InvalidInputFormat("Invalid lang code: %s" %
                                            lang_code)
        if lang_code not in cur_enabled_langs:
            if appdata is None:
                appdata = load_appdata()
            log.debug("Adding a new lang %s" % lang_code)
            EnabledLanguage.add_new_lang(store, lang_code, appdata)

    for lang_code in cur_enabled_langs:
        if lang_code not in new_enabled_langs:
            EnabledLanguage.remove_old_lang(store, lang_code)
Пример #3
0
    def enable_langs(self, store):
        res = EnabledLanguage.get_all_strings(store)

        self.assertTrue(u'en' in res)
        self.assertTrue(len(res) == len(LANGUAGES_SUPPORTED))

        c = store.find(ConfigL10N).count()
        self.assertTrue(c > 1500 and c < 2300)
Пример #4
0
def wizard(store, request, language):
    node = NodeFactory(store)

    if node.get_val('wizard_done'):
        # TODO report as anomaly
        log.err("DANGER: Wizard already initialized!")
        raise errors.ForbiddenOperation
    try:
        node._query_group()

        nn = unicode(request['node']['name'])
        node.set_val('name', nn)
        node.set_val('default_language', language)
        node.set_val('wizard_done', True)

        node_l10n = NodeL10NFactory(store, lang_code=language)

        node_l10n.set_val('description', nn)
        node_l10n.set_val('header_title_homepage', nn)
        node_l10n.set_val('presentation', nn)

        context = db_create_context(store, request['context'], language)

        langs_to_drop = EnabledLanguage.get_all_strings(store)
        langs_to_drop.remove(language)
        for lang_code in langs_to_drop:
            EnabledLanguage.remove_old_lang(store, lang_code)

        request['receiver']['contexts'] = [context.id]
        request['receiver']['language'] = language
        db_create_receiver(store, request['receiver'], language)

        admin_dict = {
            'username': u'admin',
            'password': request['admin']['password'],
            'role': u'admin',
            'state': u'enabled',
            'deletable': False,
            'name': u'Admin',
            'public_name': u'Admin',
            'description': u'',
            'mail_address': request['admin']['mail_address'],
            'language': language,
            'password_change_needed': False,
            'pgp_key_remove': False,
            'pgp_key_fingerprint': '',
            'pgp_key_public': '',
            'pgp_key_expiration': datetime_null()
        }

        db_create_admin_user(store, admin_dict, language)

    except Exception as excep:
        log.err("Failed wizard initialization %s" % excep)
        raise excep
Пример #5
0
def db_admin_serialize_node(store, language):
    node_dict = NodeFactory(store).admin_export()

    # Contexts and Receivers relationship
    configured = store.find(models.ReceiverContext).count() > 0
    custom_homepage = os.path.isfile(
        os.path.join(GLSettings.static_path, "custom_homepage.html"))

    misc_dict = {
        'version': PrivateFactory(store).get_val('version'),
        'languages_supported': LANGUAGES_SUPPORTED,
        'languages_enabled': EnabledLanguage.get_all_strings(store),
        'configured': configured,
        'custom_homepage': custom_homepage,
    }

    l10n_dict = NodeL10NFactory(store).localized_dict(language)

    return utils.sets.disjoint_union(node_dict, misc_dict, l10n_dict)