コード例 #1
0
ファイル: admin_options.py プロジェクト: aemb87/yawd-admin
def _init_option(optionset_label, name, siteoption):
    db_option, created = AppOption.objects.get_or_create(name = name, optionset_label = optionset_label)
    
    if siteoption.lang_dependant:
        ret = {}
        for l in get_supported_languages():
            ret[l] = ''
        db_option.value = json.dumps(ret)
    else:
        ret = ''
        db_option.value = ret

    if db_option.lang_dependant != siteoption.lang_dependant:
        db_option.lang_dependant = siteoption.lang_dependant

    if created:
        db_option.save()

    return ret
コード例 #2
0
def _init_option(optionset_label, name, siteoption):
    db_option, created = AppOption.objects.get_or_create(name = name, optionset_label = optionset_label)
    
    if siteoption.lang_dependant:
        ret = {}
        for l in get_supported_languages():
            ret[l] = ''
        db_option.value = json.dumps(ret)
    else:
        ret = ''
        db_option.value = ret

    if db_option.lang_dependant != siteoption.lang_dependant:
        db_option.lang_dependant = siteoption.lang_dependant

    if created:
        db_option.save()

    return ret
コード例 #3
0
    def __init__(self, **kwargs):
        self.form = forms.Form(**kwargs)

        # load option values from the database
        self.value_dict = get_options(optionset_label=self.optionset_label,
                                      current_only=False)
        self.formfields = []
        self.langformfields = {}

        for (attr, value) in self.option_fields:

            if not attr in self.value_dict or self.value_dict[attr] is None:
                self.value_dict[attr] = _init_option(self.optionset_label,
                                                     attr, value)

            if value.lang_dependant:
                for lang in get_supported_languages():
                    # generate the form field
                    field_name = '%s_%s' % (attr, lang)
                    lang_field = copy.deepcopy(value.field)
                    lang_field.label = '%s (%s)' % (force_text(
                        lang_field.label), lang.upper())

                    self.form.fields[field_name] = lang_field
                    try:
                        self.form.fields[field_name].initial = self.value_dict[
                            attr][lang]
                    except KeyError:
                        self.form.fields[field_name].initial = ''

                    # add to land dependant options
                    self.lang_options[field_name] = (attr, lang)

                    # langformfields fieldset
                    if not lang in self.langformfields:
                        self.langformfields[lang] = []
                    self.langformfields[lang].append(self.form[field_name])
            else:
                self.form.fields[attr] = value.field
                self.form.fields[attr].initial = self.value_dict[attr]
                self.formfields.append(self.form[attr])
コード例 #4
0
ファイル: admin_options.py プロジェクト: aemb87/yawd-admin
    def __init__(self, **kwargs):
        self.form = forms.Form(**kwargs)

        #load option values from the database
        self.value_dict = get_options(optionset_label = self.optionset_label, current_only=False)
        self.formfields = []
        self.langformfields = {}

        for (attr, value) in self.option_fields:

            if not attr in self.value_dict or self.value_dict[attr] is None:
                self.value_dict[attr] = _init_option(self.optionset_label, attr, value)

            if value.lang_dependant:
                for lang in get_supported_languages():
                    #generate the form field
                    field_name = '%s_%s' % (attr, lang)
                    lang_field = copy.deepcopy(value.field)
                    lang_field.label = '%s (%s)' % (force_text(lang_field.label), lang.upper())
                    
                    self.form.fields[field_name] = lang_field
                    try:
                        self.form.fields[field_name].initial = self.value_dict[attr][lang]
                    except KeyError:
                        self.form.fields[field_name].initial = ''
                    
                    #add to land dependant options
                    self.lang_options[field_name] = (attr, lang)
                    
                    #langformfields fieldset
                    if not lang in self.langformfields:
                        self.langformfields[lang] = []
                    self.langformfields[lang].append(self.form[field_name])
            else:
                self.form.fields[attr] = value.field
                self.form.fields[attr].initial = self.value_dict[attr]
                self.formfields.append(self.form[attr])