From 02b4d0016cfb169a4a420e3f44bf2b4cebd1576f Mon Sep 17 00:00:00 2001 From: Jacek Lebioda <jacek.lebioda.001@student.uni.lu> Date: Wed, 1 Feb 2017 11:47:41 +0100 Subject: [PATCH] 'Mark as' buttons in subjects edit, some improvements --- smash/web/models.py | 27 ++++++++++++++++++-------- smash/web/templates/_base.html | 9 ++++++--- smash/web/templates/subjects/edit.html | 10 +++++++++- smash/web/urls.py | 1 + smash/web/views.py | 11 ++++++++++- 5 files changed, 45 insertions(+), 13 deletions(-) diff --git a/smash/web/models.py b/smash/web/models.py index 0b93aea2..117748fc 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -30,6 +30,25 @@ class Subject(models.Model): ('M','Male'), ('F','Female'), ) + + STATUS_CHOICES = ( + ('NCO', 'Not contacted'), + ('TST', 'Test group'), + ('LEA', 'Level A'), + ('LEB', 'Level B'), + ('OPT', 'Opted out'), + ('REJ', 'Rejected'), + ('DEA', 'Dead') + ) + + def mark_as_dead(self): + self.subjectStatus = 'DEA' + self.save() + + def mark_as_rejected(self): + self.subjectStatus = 'REJ' + self.save() + sex = models.CharField(max_length=1, choices=SEX_CHOICES, verbose_name='Sex' @@ -76,14 +95,6 @@ class Subject(models.Model): mpowerId = models.CharField(max_length=20, verbose_name='MPower ID' ) - STATUS_CHOICES = ( - ('NCO', 'Not contacted'), - ('TST', 'Test group'), - ('LEA', 'Level A'), - ('LEB', 'Level B'), - ('OPT', 'Opted out'), - ('DEA', 'Dead') - ) subjectStatus = models.CharField(max_length=3, choices=STATUS_CHOICES, verbose_name='Status', default='NCO' diff --git a/smash/web/templates/_base.html b/smash/web/templates/_base.html index abfb6b4d..cbb02ca6 100644 --- a/smash/web/templates/_base.html +++ b/smash/web/templates/_base.html @@ -88,7 +88,8 @@ desired effect </a> <ul class="dropdown-menu"> <li class="header"> - You have 0 letters to send + You have 0 letters to send<hr /> + (Not implemented yet) </li> <li> </li> @@ -133,6 +134,8 @@ desired effect <ul class="dropdown-menu"> <li class="header"> You have 0 notifications + <hr /> + (Not implemented yet) </li> {% comment "TODO: Implement notifications" %} <li> @@ -191,9 +194,9 @@ desired effect </li> <!-- Menu Footer--> <li class="user-footer"> - <div class="pull-left"> + <!--<div class="pull-left"> <a href="#" class="btn btn-default btn-flat"><i class="fa fa-user"></i> Profile</a> - </div> + </div>--> <div class="pull-right"> <a href="{% url 'web.views.logout' %}" class="btn btn-default btn-flat"><i class="fa fa-sign-out"></i> Sign out</a> </div> diff --git a/smash/web/templates/subjects/edit.html b/smash/web/templates/subjects/edit.html index 973d1af1..eb705a01 100644 --- a/smash/web/templates/subjects/edit.html +++ b/smash/web/templates/subjects/edit.html @@ -33,7 +33,8 @@ <form method="post" action="" class="form-horizontal"> {% csrf_token %} - <div class="box-body"> + <div class="box-body"> + <div class="col-md-12"> {% for field in form %} <div class="col-md-6 form-group {% if field.errors %}has-error{% endif %}"> <label for="{# TODO #}" class="col-sm-4 control-label"> @@ -51,6 +52,13 @@ {% endif %} </div> {% endfor %} + + <div class="col-md-6"> + <a href="{% url 'web.views.subject_mark' id 0 %}" class="btn btn-warning btn-block">Mark as rejected</a> + <a href="{% url 'web.views.subject_mark' id 1 %}" class="btn btn-danger btn-block">Mark as dead</a><br /> + </div> + </div> + </div><!-- /.box-body --> <div class="box-footer"> diff --git a/smash/web/urls.py b/smash/web/urls.py index a46b4add..262a285c 100644 --- a/smash/web/urls.py +++ b/smash/web/urls.py @@ -27,6 +27,7 @@ urlpatterns = [ url(r'subjects/details/(?P<id>\d+)$', views.subject_details, name='web.views.subject_details'), url(r'subjects/edit/(?P<id>\d+)$', views.subject_edit, name='web.views.subject_edit'), url(r'subjects/delete/(?P<id>\d+)$', views.subject_delete, name='web.views.subject_delete'), + url(r'subjects/mark/(?P<id>\d+)/(?P<as_what>\d+)$', views.subject_mark, name='web.views.subject_mark'), url(r'doctors$', views.doctors, name='web.views.doctors'), url(r'doctors/add$', views.doctor_add, name='web.views.doctor_add'), diff --git a/smash/web/views.py b/smash/web/views.py index 7d36df20..81ed49c8 100644 --- a/smash/web/views.py +++ b/smash/web/views.py @@ -97,7 +97,7 @@ def subject_edit(request, id): return redirect(subjects) else: form = SubjectEditForm(instance=Subject.objects.get(id=id)) - return wrap_response(request, 'subjects/edit.html', {'form': form}) + return wrap_response(request, 'subjects/edit.html', {'form': form, 'id':id}) def subject_delete(request, id): @@ -109,6 +109,15 @@ def subject_delete(request, id): return wrap_response(request, 'subjects/delete.html', {'form': form}) +def subject_mark(request, id, as_what): + who = Subject.objects.get(id=id) + if as_what == '1': + who.mark_as_dead() + elif as_what == '0': + who.mark_as_rejected() + return redirect(subject_edit, id=id) + + def doctors(request): doctors_list = Worker.objects.order_by('-lastName') context = { -- GitLab