diff --git a/README.md b/README.md index c2894f1..277f581 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,13 @@ Привязывать на карте к точкам топологии устройства Есть привязка монтажника к группам абонентов Есть менеджер задач на абонентов. Это оператор может выбрать абонента и описать проблему. Система отправит оповещение через telegram ответственному за групу указанного абонента монтажнику с текстом проблемы, адресом и телефоном абонента. + +## Установка(не завершил описание): +На ArchLinux нужые пакеты я устанавливаю так: +``` +# pacman -Sy mariadb-clients python3 python-pip nginx uwsgi +``` +Дальше ставим всё для python через pip: +``` +# pip install git+https://github.com/nerosketch/djing.git +``` diff --git a/abonapp/templates/abonapp/buy_tariff.html b/abonapp/templates/abonapp/buy_tariff.html index 430c3da..8e84d97 100644 --- a/abonapp/templates/abonapp/buy_tariff.html +++ b/abonapp/templates/abonapp/buy_tariff.html @@ -28,7 +28,7 @@ @@ -44,4 +44,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/abonapp/views.py b/abonapp/views.py index 1573f7d..69c3dcf 100644 --- a/abonapp/views.py +++ b/abonapp/views.py @@ -309,27 +309,30 @@ def opt82(request, gid, uid): try: abon = models.Abon.objects.get(pk=uid) if request.method == 'POST': - if abon.opt82 is None: + try: + opt82_instance = models.Opt82.objects.get( + mac=request.POST.get('mac'), + port=request.POST.get('port') + ) + except models.Opt82.DoesNotExist: frm = forms.Opt82Form(request.POST) - else: - frm = forms.Opt82Form(request.POST, instance=abon.opt82) - if frm.is_valid(): - abon.opt82 = frm.save() - abon.save(update_fields=['opt82']) - else: - messages.error(request, _('fix form errors')) + if frm.is_valid(): + opt82_instance = frm.save() + else: + messages.error(request, _('fix form errors')) + return redirect('abonapp:abon_home', gid=gid, uid=uid) + + abon.opt82 = opt82_instance else: act = request.GET.get('act') if act is not None and act == 'release': if abon.opt82 is not None: abon.opt82.delete() abon.opt82 = None - abon.save(update_fields=['opt82']) + abon.save(update_fields=['opt82']) except models.Abon.DoesNotExist: messages.error(request, _('User does not exist')) - except models.Opt82.DoesNotExist: - messages.error(request, _('')) return redirect('abonapp:abon_home', gid=gid, uid=uid) diff --git a/taskapp/migrations/0013_auto_20170413_1944.py b/taskapp/migrations/0013_auto_20170413_1944.py new file mode 100644 index 0000000..6feeb90 --- /dev/null +++ b/taskapp/migrations/0013_auto_20170413_1944.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2017-04-13 16:44 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('taskapp', '0012_auto_20170407_0124'), + ] + + operations = [ + migrations.AlterField( + model_name='task', + name='attachment', + field=models.ImageField(blank=True, null=True, upload_to='task_attachments/%Y.%m.%d'), + ), + ] diff --git a/taskapp/models.py b/taskapp/models.py index e738742..649ad70 100644 --- a/taskapp/models.py +++ b/taskapp/models.py @@ -67,7 +67,7 @@ class Task(models.Model): out_date = models.DateField(null=True, blank=True, default=_delta_add_days) time_of_create = models.DateTimeField(auto_now_add=True) state = models.CharField(max_length=1, choices=TASK_STATES, default=TASK_STATES[0][0]) - attachment = models.ImageField(upload_to='media/task_attachments/%Y.%m.%d', blank=True, null=True) + attachment = models.ImageField(upload_to='task_attachments/%Y.%m.%d', blank=True, null=True) mode = models.CharField(max_length=2, choices=TASK_TYPES, default=TASK_TYPES[0][0]) abon = models.ForeignKey(Abon, on_delete=models.SET_NULL, null=True, blank=True, related_name='+')