Browse Source

Добавил работу с улицами

devel
bashmak 9 years ago
parent
commit
9eb69619df
  1. 10
      abonapp/forms.py
  2. 27
      abonapp/locale/ru/LC_MESSAGES/django.po
  3. 38
      abonapp/templates/abonapp/modal_addstreet.html
  4. 38
      abonapp/templates/abonapp/modal_editstreet.html
  5. 8
      abonapp/templates/abonapp/peoples.html
  6. 3
      abonapp/urls_abon.py
  7. 54
      abonapp/views.py

10
abonapp/forms.py

@ -121,3 +121,13 @@ class ExtraFieldForm(forms.ModelForm):
'field_type': forms.Select(attrs={'class': 'form-control'}), 'field_type': forms.Select(attrs={'class': 'form-control'}),
'data': forms.TextInput(attrs={'class': 'form-control'}) 'data': forms.TextInput(attrs={'class': 'form-control'})
} }
class AbonStreetForm(forms.ModelForm):
class Meta:
model = models.AbonStreet
fields = '__all__'
widgets = {
'name': forms.TextInput(attrs={'class': 'form-control', 'required':'', 'autofocus':''}),
'group': forms.Select(attrs={'class': 'form-control'})
}

27
abonapp/locale/ru/LC_MESSAGES/django.po

@ -653,6 +653,33 @@ msgstr "Не найдены улицы для группы"
msgid "Services of subscriber" msgid "Services of subscriber"
msgstr "Купленные абонентом услуги (назначенные тарифные планы)" msgstr "Купленные абонентом услуги (назначенные тарифные планы)"
msgid "Add street"
msgstr "Добавить улицу"
msgid "Edit streets"
msgstr "Редактировать улицы"
msgid "Street successfully saved"
msgstr "Улица успешно сохранена"
msgid "Streets has been saved"
msgstr "Улицы сохранены"
msgid "Street title"
msgstr "Название улицы"
msgid "One of these streets has not been found"
msgstr "Одна из этих улиц не была найдена"
msgid "The street has not been found"
msgstr "Улица не найдена"
msgid "The street successfully deleted"
msgstr "Улица успешно удалена"
msgid "Streets has not been found"
msgstr "Улицы не найдены"
#: abonapp/templates/abonapp/services.html:9 #: abonapp/templates/abonapp/services.html:9
msgid "Priority" msgid "Priority"
msgstr "Приоритет" msgstr "Приоритет"

38
abonapp/templates/abonapp/modal_addstreet.html

@ -0,0 +1,38 @@
{% load i18n %}
<form role="form" action="{% url 'abonapp:street_add' gid %}" method="post"> {% csrf_token %}
<div class="modal-header primary">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title"><span class="glyphicon glyphicon-plus"></span>{% trans 'Add street' %}</h4>
</div>
{% include 'message_block.html' %}
<div class="modal-body">
<div class="form-group-sm">
<label for="id_name">{% trans 'Street title' %}</label>
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-font"></span></span>
{{ form.name }}{{ form.name.errors }}
</div>
</div>
<div class="form-group-sm">
<label for="id_group">{% trans 'User group' %}</label>
<div class="input-group">
<span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span>
{{ form.group }}{{ form.group.errors }}
</div>
</div>
<div class="btn-group">
<button type="submit" class="btn btn-sm btn-success">
<span class="glyphicon glyphicon-plus"></span> {% trans 'Add' %}
</button>
<button type="reset" class="btn btn-sm btn-default">
<span class="glyphicon glyphicon-remove-circle"></span> {% trans 'Reset' %}
</button>
</div>
</div>
</form>

38
abonapp/templates/abonapp/modal_editstreet.html

@ -0,0 +1,38 @@
{% load i18n %}
<form role="form" action="{% url 'abonapp:street_edit' gid %}" method="post"> {% csrf_token %}
<div class="modal-header primary">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title"><span class="glyphicon glyphicon-edit"></span>{% trans 'Edit streets' %}</h4>
</div>
{% include 'message_block.html' %}
<div class="modal-body">
{% for street in streets %}
<div class="form-group">
<div class="input-group input-group-sm">
<input type="text" class="form-control" value="{{ street.name }}" name="sname">
<input type="hidden" name="sid" value="{{ street.pk }}">
<span class="input-group-btn">
<a href="{% url 'abonapp:street_del' gid street.pk %}" class="btn btn-danger">
<span class="glyphicon glyphicon-remove"></span>
</a>
</span>
</div>
</div>
{% empty %}
<h4>{% trans 'Streets has not been found' %}</h4>
{% endfor %}
<div class="btn-group">
<button type="submit" class="btn btn-sm btn-primary">
<span class="glyphicon glyphicon-save"></span> {% trans 'Save' %}
</button>
<button type="reset" class="btn btn-sm btn-default">
<span class="glyphicon glyphicon-remove-circle"></span> {% trans 'Reset' %}
</button>
</div>
</div>
</form>

8
abonapp/templates/abonapp/peoples.html

@ -149,6 +149,14 @@
{% empty %} {% empty %}
<a href="#" class="list-group-item">{% trans 'No streets found for that group' %}</a> <a href="#" class="list-group-item">{% trans 'No streets found for that group' %}</a>
{% endfor %} {% endfor %}
<div class="btn-group btn-group-sm btn-group-justified">
<a href="{% url 'abonapp:street_add' abon_group.pk %}" class="btn btn-success btn-modal" data-toggle="tooltip" title="{% trans 'Add street' %}">
<span class="glyphicon glyphicon-plus"></span> {% trans 'Add' %}
</a>
<a href="{% url 'abonapp:street_edit' abon_group.pk %}" class="btn btn-primary btn-modal" data-toggle="tooltip" title="{% trans 'Edit streets' %}">
<span class="glyphicon glyphicon-edit"></span> {% trans 'Edit' %}
</a>
</div>
</div> </div>
</div> </div>
</div> </div>

3
abonapp/urls_abon.py

@ -6,6 +6,9 @@ urlpatterns = [
url(r'^$', views.peoples, name='people_list'), url(r'^$', views.peoples, name='people_list'),
url(r'^addabon$', views.addabon, name='add_abon'), url(r'^addabon$', views.addabon, name='add_abon'),
url(r'^services$', views.chgroup_tariff, name='ch_group_tariff'), url(r'^services$', views.chgroup_tariff, name='ch_group_tariff'),
url(r'^street/add$', views.street_add, name='street_add'),
url(r'^street/edit', views.street_edit, name='street_edit'),
url(r'^street/(?P<sid>\d+)/delete$', views.street_del, name='street_del'),
url(r'^(?P<uid>\d+)$', views.abonhome, name='abon_home'), url(r'^(?P<uid>\d+)$', views.abonhome, name='abon_home'),
url(r'^(?P<uid>\d+)/services$', views.abon_services, name='abon_services'), url(r'^(?P<uid>\d+)/services$', views.abon_services, name='abon_services'),

54
abonapp/views.py

@ -873,6 +873,60 @@ def save_user_dev_port(request, gid, uid):
return redirect('abonapp:abon_home', gid, uid) return redirect('abonapp:abon_home', gid, uid)
@login_required
@permission_required('abonapp.add_abonstreet')
def street_add(request, gid):
if request.method == 'POST':
frm = forms.AbonStreetForm(request.POST)
if frm.is_valid():
frm.save()
messages.success(request, _('Street successfully saved'))
return redirect('abonapp:people_list', gid)
else:
messages.error(request, _('fix form errors'))
else:
frm = forms.AbonStreetForm(initial={'group': gid})
return render_to_text('abonapp/modal_addstreet.html', {
'form': frm,
'gid': gid
}, request=request)
@login_required
@permission_required('abonapp.change_abonstreet')
def street_edit(request, gid):
try:
if request.method == 'POST':
streets_pairs = [(int(sid), sname) for sid, sname in zip(request.POST.getlist('sid'), request.POST.getlist('sname'))]
for sid, sname in streets_pairs:
street = models.AbonStreet.objects.get(pk=sid)
street.name = sname
street.save()
messages.success(request, _('Streets has been saved'))
else:
return render_to_text('abonapp/modal_editstreet.html', {
'gid': gid,
'streets': models.AbonStreet.objects.filter(group=gid)
}, request=request)
except models.AbonStreet.DoesNotExist:
messages.error(request, _('One of these streets has not been found'))
return redirect('abonapp:people_list', gid)
@login_required
@permission_required('abonapp.delete_abonstreet')
def street_del(request, gid, sid):
try:
models.AbonStreet.objects.get(pk=sid, group=gid).delete()
messages.success(request, _('The street successfully deleted'))
except models.AbonStreet.DoesNotExist:
messages.error(request, _('The street has not been found'))
return redirect('abonapp:people_list', gid)
# API's # API's
def abons(request): def abons(request):

Loading…
Cancel
Save