From 702779f25b621d329bc12ca8303251a70d5b8f5e Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 11 Jun 2018 12:00:42 +0200 Subject: [PATCH] voucher has information about person that issued it --- smash/web/forms/voucher_forms.py | 1 + .../web/migrations/0114_auto_20180611_0950.py | 17 +++ .../web/migrations/0115_auto_20180611_0950.py | 137 ++++++++++++++++++ smash/web/models/voucher.py | 2 + smash/web/views/voucher.py | 14 +- 5 files changed, 168 insertions(+), 3 deletions(-) create mode 100644 smash/web/migrations/0114_auto_20180611_0950.py create mode 100644 smash/web/migrations/0115_auto_20180611_0950.py diff --git a/smash/web/forms/voucher_forms.py b/smash/web/forms/voucher_forms.py index 7768920a..67dabe3c 100644 --- a/smash/web/forms/voucher_forms.py +++ b/smash/web/forms/voucher_forms.py @@ -47,6 +47,7 @@ class VoucherForm(ModelForm): self.fields['number'].widget.attrs['readonly'] = True self.fields['number'].required = False + self.fields['issue_worker'].widget.attrs['readonly'] = True self.fields['issue_date'].widget.attrs['readonly'] = True self.fields['issue_date'].required = False diff --git a/smash/web/migrations/0114_auto_20180611_0950.py b/smash/web/migrations/0114_auto_20180611_0950.py new file mode 100644 index 00000000..510157da --- /dev/null +++ b/smash/web/migrations/0114_auto_20180611_0950.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2018-06-11 09:50 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ('web', '0113_auto_20180608_1258'), + ] + + operations = [ + migrations.RunSQL('delete from web_voucherpartnersession;'), + migrations.RunSQL('delete from web_voucher;'), + ] diff --git a/smash/web/migrations/0115_auto_20180611_0950.py b/smash/web/migrations/0115_auto_20180611_0950.py new file mode 100644 index 00000000..62cb7874 --- /dev/null +++ b/smash/web/migrations/0115_auto_20180611_0950.py @@ -0,0 +1,137 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.7 on 2018-06-11 09:50 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ('web', '0114_auto_20180611_0950'), + ] + + operations = [ + migrations.AddField( + model_name='voucher', + name='issue_worker', + field=models.ForeignKey(default=0, on_delete=django.db.models.deletion.CASCADE, + related_name='issued_vouchers', to='web.Worker', verbose_name=b'Issued by'), + preserve_default=False, + ), + migrations.AlterField( + model_name='studycolumns', + name='comments', + field=models.BooleanField(default=True, verbose_name=b'Comments'), + ), + migrations.AlterField( + model_name='studycolumns', + name='datetime_contact_reminder', + field=models.BooleanField(default=True, verbose_name=b'Please make a contact on'), + ), + migrations.AlterField( + model_name='studycolumns', + name='default_location', + field=models.BooleanField(default=True, verbose_name=b'Default appointment location'), + ), + migrations.AlterField( + model_name='studycolumns', + name='diagnosis', + field=models.BooleanField(default=True, verbose_name=b'Diagnosis'), + ), + migrations.AlterField( + model_name='studycolumns', + name='flying_team', + field=models.BooleanField(default=True, verbose_name=b'Default flying team location (if applicable)'), + ), + migrations.AlterField( + model_name='studycolumns', + name='health_partner', + field=models.BooleanField(default=False, verbose_name=b'Health partner'), + ), + migrations.AlterField( + model_name='studycolumns', + name='health_partner_feedback_agreement', + field=models.BooleanField(default=False, verbose_name=b'Agrees to give information to referral'), + ), + migrations.AlterField( + model_name='studycolumns', + name='information_sent', + field=models.BooleanField(default=True, verbose_name=b'Information sent'), + ), + migrations.AlterField( + model_name='studycolumns', + name='mpower_id', + field=models.BooleanField(default=True, verbose_name=b'MPower ID'), + ), + migrations.AlterField( + model_name='studycolumns', + name='nd_number', + field=models.BooleanField(default=True, verbose_name=b'ND number'), + ), + migrations.AlterField( + model_name='studycolumns', + name='pd_in_family', + field=models.BooleanField(default=True, verbose_name=b'PD in family'), + ), + migrations.AlterField( + model_name='studycolumns', + name='postponed', + field=models.BooleanField(default=True, verbose_name=b'Postponed'), + ), + migrations.AlterField( + model_name='studycolumns', + name='previously_in_study', + field=models.BooleanField(default=False, verbose_name=b'Previously in PDP study'), + ), + migrations.AlterField( + model_name='studycolumns', + name='referral', + field=models.BooleanField(default=True, verbose_name=b'Referred by'), + ), + migrations.AlterField( + model_name='studycolumns', + name='referral_letter', + field=models.BooleanField(default=False, verbose_name=b'Referral letter'), + ), + migrations.AlterField( + model_name='studycolumns', + name='resign_reason', + field=models.BooleanField(default=True, verbose_name=b'Resign reason'), + ), + migrations.AlterField( + model_name='studycolumns', + name='resigned', + field=models.BooleanField(default=True, verbose_name=b'Resigned'), + ), + migrations.AlterField( + model_name='studycolumns', + name='screening', + field=models.BooleanField(default=False, verbose_name=b'Screening'), + ), + migrations.AlterField( + model_name='studycolumns', + name='screening_number', + field=models.BooleanField(default=True, verbose_name=b'Screening number'), + ), + migrations.AlterField( + model_name='studycolumns', + name='type', + field=models.BooleanField(default=True, verbose_name=b'Type'), + ), + migrations.AlterField( + model_name='studycolumns', + name='voucher_types', + field=models.BooleanField(default=False, verbose_name=b'Voucher types'), + ), + migrations.AlterField( + model_name='studycolumns', + name='vouchers', + field=models.BooleanField(default=False, verbose_name=b'Vouchers'), + ), + migrations.AlterField( + model_name='studycolumns', + name='year_of_diagnosis', + field=models.BooleanField(default=True, verbose_name=b'Year of diagnosis (YYYY)'), + ), + ] diff --git a/smash/web/models/voucher.py b/smash/web/models/voucher.py index 7de7d714..2f47fae0 100644 --- a/smash/web/models/voucher.py +++ b/smash/web/models/voucher.py @@ -21,6 +21,8 @@ class Voucher(models.Model): issue_date = models.DateField(verbose_name='Issue date', null=False) expiry_date = models.DateField(verbose_name='Expiry date', null=False) + issue_worker = models.ForeignKey(Worker, verbose_name='Issued by', null=False, related_name='issued_vouchers') + hours = models.IntegerField( verbose_name='Hours', default=0, diff --git a/smash/web/views/voucher.py b/smash/web/views/voucher.py index 53234277..d3284437 100644 --- a/smash/web/views/voucher.py +++ b/smash/web/views/voucher.py @@ -11,7 +11,7 @@ from django_cron import CronJobBase, Schedule from web.views.notifications import get_today_midnight_date from web.forms import VoucherForm -from web.models import Voucher, StudySubject, MailTemplate +from web.models import Voucher, StudySubject, MailTemplate, Worker from web.models.constants import GLOBAL_STUDY_ID, VOUCHER_STATUS_NEW, VOUCHER_STATUS_EXPIRED, CRON_JOB_TIMEOUT from . import WrappedView @@ -36,6 +36,15 @@ class VoucherCreateView(CreateView, WrappedView): success_url = reverse_lazy('web.views.vouchers') success_message = "Voucher type created" + def get_initial(self): + worker = Worker.get_by_user(self.request.user) + worker_id = None + if worker is not None: + worker_id = worker.id + return { + 'issue_worker': worker_id, + } + def form_valid(self, form): form.instance.study_id = GLOBAL_STUDY_ID # noinspection PyUnresolvedReferences @@ -70,8 +79,7 @@ class VoucherEditView(SuccessMessageMixin, UpdateView, WrappedView): def get_context_data(self, *args, **kwargs): context = super(VoucherEditView, self).get_context_data(*args, **kwargs) - context['mail_templates']= MailTemplate.get_voucher_mail_templates([]) - print context + context['mail_templates'] = MailTemplate.get_voucher_mail_templates([]) return context -- GitLab