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