Browse Source

Make add ip address button

devel
Dmitry Novikov 8 years ago
parent
commit
1d950024f9
  1. 6
      abonapp/forms.py
  2. 4
      abonapp/templates/abonapp/editAbon.html
  3. 27
      abonapp/templates/abonapp/modal_ip_form.html
  4. 3
      abonapp/urls.py
  5. 15
      abonapp/views.py

6
abonapp/forms.py

@ -168,3 +168,9 @@ class MarkersForm(forms.ModelForm):
class AmountMoneyForm(forms.Form): class AmountMoneyForm(forms.Form):
amount = forms.FloatField(max_value=50000, label=_('Amount of money')) amount = forms.FloatField(max_value=50000, label=_('Amount of money'))
comment = forms.CharField(max_length=128, label=_('Comment'), required=False) comment = forms.CharField(max_length=128, label=_('Comment'), required=False)
class AddIpForm(forms.ModelForm):
class Meta:
model = models.Abon
fields = 'ip_address',

4
abonapp/templates/abonapp/editAbon.html

@ -205,12 +205,12 @@
<div class="panel-footer"> <div class="panel-footer">
<div class="btn-group btn-group-sm"> <div class="btn-group btn-group-sm">
{% if abon.ip_address %} {% if abon.ip_address %}
<a href="#" class="btn btn-primary">
<a href="{% url 'abonapp:update_ip' group.pk abon.username %}" class="btn btn-primary btn-modal">
<span class="glyphicon glyphicon-edit"></span> <span class="glyphicon glyphicon-edit"></span>
<span class="hidden-xs">{% trans 'Change' %}</span> <span class="hidden-xs">{% trans 'Change' %}</span>
</a> </a>
{% else %} {% else %}
<a href="#" class="btn btn-success btn-modal">
<a href="{% url 'abonapp:update_ip' group.pk abon.username %}" class="btn btn-success btn-modal">
<span class="glyphicon glyphicon-plus"></span> <span class="glyphicon glyphicon-plus"></span>
<span class="hidden-xs">{% trans 'Add' %}</span> <span class="hidden-xs">{% trans 'Add' %}</span>
</a> </a>

27
abonapp/templates/abonapp/modal_ip_form.html

@ -0,0 +1,27 @@
{% extends request.is_ajax|yesno:'bajax.html,base.html' %}
{% load i18n bootstrap3 %}
{% block breadcrumb %}
<ol class="breadcrumb">
<li><span class="glyphicon glyphicon-home"></span></li>
<li><a href="{% url 'abonapp:group_list' %}">{% trans 'User groups' %}</a></li>
<li><a href="{% url 'abonapp:people_list' group.id %}">{{ group.title }}</a></li>
<li><a href="{% url 'abonapp:abon_home' group.id abon.username %}">{{ abon.fio }}</a></li>
<li class="active">{% trans 'Update ip address' %}</li>
</ol>
{% endblock %}
{% block main %}
<form role="form" action="{% url 'abonapp:update_ip' group.id object.username %}" 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 'Update ip address' %}</h4>
</div>
<div class="modal-body">
{% bootstrap_form form %}
<button type="submit" class="btn btn-sm btn-primary">
<span class="glyphicon glyphicon-save"></span> {% trans 'Save' %}
</button>
</div>
</form>
{% endblock %}

3
abonapp/urls.py

@ -31,7 +31,8 @@ subscriber_patterns = [
path('periodic_pay/<int:periodic_pay_id>/', views.add_edit_periodic_pay, name='add_periodic_pay'), path('periodic_pay/<int:periodic_pay_id>/', views.add_edit_periodic_pay, name='add_periodic_pay'),
path('periodic_pay/<int:periodic_pay_id>/del/', views.del_periodic_pay, name='del_periodic_pay'), path('periodic_pay/<int:periodic_pay_id>/del/', views.del_periodic_pay, name='del_periodic_pay'),
path('ping/', views.abon_ping, name='ping'), path('ping/', views.abon_ping, name='ping'),
path('set_auto_continue_service/', views.set_auto_continue_service, name='set_auto_continue_service')
path('set_auto_continue_service/', views.set_auto_continue_service, name='set_auto_continue_service'),
path('update_ip/', views.IpUpdateView.as_view(), name='update_ip')
] ]
group_patterns = [ group_patterns = [

15
abonapp/views.py

@ -549,6 +549,21 @@ class PassportUpdateView(AbonappPermissionMixin, UpdateView):
return super(PassportUpdateView, self).get_context_data(**context) return super(PassportUpdateView, self).get_context_data(**context)
class IpUpdateView(AbonappPermissionMixin, UpdateView):
permission_required = 'abonapp.change_abon'
form_class = forms.AddIpForm
model = models.Abon
slug_url_kwarg = 'uname'
slug_field = 'username'
template_name = 'abonapp/modal_ip_form.html'
def get_context_data(self, **kwargs):
context = super(IpUpdateView, self).get_context_data(**kwargs)
context['group'] = self.object.group
context['abon'] = self.object
return context
@login_required @login_required
@only_admins @only_admins
def chgroup_tariff(request, gid): def chgroup_tariff(request, gid):

Loading…
Cancel
Save