1581:добавил вывод area, подкрутил вывод остальных полей

remotes/origin/stage6
Alexander Burdeiny 9 years ago
parent ad4d7f2132
commit c7ace07ee9
  1. 39
      emencia/django/newsletter/forms.py
  2. 32
      emencia/django/newsletter/templates/newsletter/recommend/create.html
  3. 14
      emencia/django/newsletter/templates/newsletter/recommend/list.html
  4. 2
      templates/c_admin/expobanner/paid_create.html
  5. 3
      templates/client/accounts/mailing_settings.html

@ -129,7 +129,7 @@ class MailingSettingsForm(forms.ModelForm):
th = ML_ModelMultipleChoiceField(
label=_(u'Тематики'), required=False,
queryset=Theme.objects.all())
area = ML_ModelMultipleChoiceField(
area = forms.ModelMultipleChoiceField(
label=_(u'Регион'), required=False,
queryset=Area.objects.all())
@ -153,21 +153,29 @@ class MailingSettingsForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MailingSettingsForm, self).__init__(*args, **kwargs)
for field in ['f_countries', 'r_cities', 'tg', 'th']:
for field in ['f_countries', 'r_cities', 'tg', 'th', 'area']:
self.fields[field].widget.attrs.update({'style': 'display: none;'})
if self.instance and self.instance.pk:
if self.instance.f_countries:
self.fields['f_countries'].c_queryset = self.instance.f_countries.distinct()
self.fields['f_countries'].widget.choices = self.fields['f_countries'].choices
if self.instance.r_cities:
self.fields['r_cities'].c_queryset = self.instance.r_cities.distinct()
self.fields['r_cities'].widget.choices = self.fields['r_cities'].choices
if self.instance.tags:
self.fields['tg'].c_queryset = self.instance.tags.distinct()
self.fields['tg'].widget.choices = self.fields['tg'].choices
if self.instance.themes:
self.fields['th'].c_queryset = self.instance.themes.distinct()
self.fields['th'].widget.choices = self.fields['th'].choices
# area
self.initial['area'] = set(self.instance.f_countries.values_list('area_id', flat=True))
# foreign countries
self.fields['f_countries'].c_queryset = self.instance.f_countries.distinct()
self.fields['f_countries'].widget.choices = self.fields['f_countries'].choices
# russia cities
self.fields['r_cities'].c_queryset = self.instance.r_cities.distinct()
self.fields['r_cities'].widget.choices = self.fields['r_cities'].choices
# tag
self.initial['tg'] = set(self.instance.tags.values_list('pk', flat=True))
self.fields['tg'].c_queryset = self.instance.tags.distinct()
self.fields['tg'].widget.choices = self.fields['tg'].choices
# theme
self.initial['th'] = set(self.instance.themes.values_list('pk', flat=True))
self.fields['th'].c_queryset = self.instance.themes.distinct()
self.fields['th'].widget.choices = self.fields['th'].choices
def save(self):
obj = super(MailingSettingsForm, self).save(commit=False)
@ -194,7 +202,8 @@ class MailingSettingsForm(forms.ModelForm):
countries_add.update(c)
if countries_add:
obj.f_countries.add(*countries_add)
#
obj.r_cities = self.cleaned_data['r_cities'] or []
obj.tags = self.cleaned_data.get('tg') or []
obj.themes = self.cleaned_data.get('th') or []
obj.save()

@ -51,6 +51,38 @@ $(function(){
}
});
$('#id_conference').select2({
placeholder: 'Найти',
width: 'element',
ajax: {
url: '/admin/conference/search/',
dataType: "json",
quietMillis: 200,
multiple: true,
data: function(term, page){
return {term: term,
page: page};
},
results: function (data) {
var results = [];
$.each(data, function(index, item){
results.push({
id: item.id,
text: item.label
});
});
return {results: results};
}
},
initSelection : function(element, callback) {
var id= $(element).val();
var text = $(element).attr('data-init-text');
callback({id: id, text:text});
}
});
});
</script>
{% endblock %}

@ -10,15 +10,12 @@
<div class="box-content">
<table class="table table-hover">
{% comment %}
<colgroup>
<col width="30%">
<col width="20%">
<col width="60%">
<col width="20%">
<col width="10%">
<col width="10%">
<col width="10%">
</colgroup>
{% comment %}
{% endcomment %}
@ -37,8 +34,11 @@
{# <td>{{ item.theme }}</td> #}
<td>{{ item.event }}</td>
<td><a href="{% url 'newsletters_recommends_edit' item.id %}">{% trans "Изменить" %}</a> </td>
<td><a href="{% url 'newsletters_recommends_delete' item.id %}">{% trans "Удалить" %}</a> </td>
<td>
<a href="{% url 'newsletters_recommends_edit' item.id %}">{% trans "Изменить" %}</a>
<a href="{% url 'newsletters_recommends_delete' item.id %}">{% trans "Удалить" %}</a>
</td>
{# <td><a href="{% url 'newsletters_recommends_delete' item.id %}">{% trans "Удалить" %}</a></td> #}
</tr>
{% endfor %}
</tbody>

@ -71,7 +71,7 @@
callback({id: id, text:text});
}
});
});
});
</script>
{% endblock %}

@ -72,7 +72,6 @@
</li>
<li>
{{ form.r_cities.label_tag }}
{{ form.r_cities }}
</li>
@ -90,7 +89,7 @@
</li>
<li>
{{ form.f_countries.label_tag }}
{{ form.area }}
{{ form.f_countries }}
</li>
</ul>

Loading…
Cancel
Save