diff --git a/smash/web/forms.py b/smash/web/forms.py index 2079ee1de4575ecfaf54fe6b61d22629b6bb84e8..a5f4cfb1453d408bcc7a66288c384be55e7b6e41 100644 --- a/smash/web/forms.py +++ b/smash/web/forms.py @@ -2,31 +2,40 @@ from django import forms from django.forms import ModelForm from .models import * +""" +Redundancy? Maybe yes, but if need arises, contents of forms can be more easily customized +""" + class SubjectAddForm(ModelForm): class Meta: model = Subject fields = '__all__' + class SubjectDetailForm(ModelForm): class Meta: model = Subject fields = '__all__' + class SubjectEditForm(ModelForm): class Meta: model = Subject fields = '__all__' + class WorkerAddForm(ModelForm): class Meta: model = Worker fields = '__all__' + class WorkerDetailForm(ModelForm): class Meta: model = Worker fields = '__all__' + class WorkerEditForm(ModelForm): class Meta: model = Worker diff --git a/smash/web/models.py b/smash/web/models.py index bc35407b3334842f732b5167e7a75eafdce51eba..247894053d5a4f0d006e0864ba15df2bedc98ad2 100644 --- a/smash/web/models.py +++ b/smash/web/models.py @@ -27,8 +27,13 @@ class Subject(models.Model): ('M','Male'), ('F','Female'), ) - sex = models.CharField(max_length=1, choices=SEX_CHOICES) - firstName = models.CharField(max_length=50) + sex = models.CharField(max_length=1, + choices=SEX_CHOICES, + verbose_name='Sex' + ) + firstName = models.CharField(max_length=50, + verbose_name='First name' + ) lastName = models.CharField(max_length=50) languages = models.ManyToManyField(Language) phoneNo = models.CharField(max_length=20) diff --git a/smash/web/templates/subjects/delete.html b/smash/web/templates/subjects/delete.html index ca5bce92b8404cc42f7317b4a8b3ffd4165d4bfe..e10a3e29704cccd5f3cbb8d1aa93bf771129bd4d 100644 --- a/smash/web/templates/subjects/delete.html +++ b/smash/web/templates/subjects/delete.html @@ -24,7 +24,7 @@ {% block content %} <form method="post" action=""> - {{ formset.as_ul }} + {{ form.as_ul }} {% csrf_token %} <button type="submit" class="btn btn-block btn-danger">Delete</button> diff --git a/smash/web/templates/subjects/details.html b/smash/web/templates/subjects/details.html index 69fc9717ad7e24e32b43e98311eb04a508619c73..b2a71afbf79be5164a053a8ea0a6d0fe1f666d6f 100644 --- a/smash/web/templates/subjects/details.html +++ b/smash/web/templates/subjects/details.html @@ -8,24 +8,57 @@ {% endblock styles %} {% block page_title %}'newsubject'{% endblock page_title %} -{% block page_header %}New subject{% endblock page_header %} -{% block page_description %}adding{% endblock page_description %} +{% block page_header %}Details of the patient{% endblock page_header %} +{% block page_description %}{% endblock page_description %} + +{% block title %}{{ block.super }} - Details of patient {% endblock %} {% block breadcrumb %} - <li><a href="#"><i class="fa fa-dashboard"></i> Dashboard</a></li> - <li class="active">Workers</li> + <li> + <a href=""><i class="fa fa-dashboard"></i> Dashboard</a> + </li> + <li class="active"> + <a href="{% url 'web.views.subjects' %}">Subjects</a> + </li> {% endblock breadcrumb %} {% block maincontent %} -{% block title %}{{object_name}} Form{% endblock %} - {% block content %} -<form method="post" action=""> - {{ formset.as_ul }} - {% csrf_token %} +<div class="box box-info"> + {% comment %} <div class="box-header with-border"> + <h3 class="box-title">Details of patient</h3> + </div>{% endcomment %} + + <form class="form-horizontal"> + <div class="box-body"> + {% for field in form %} + <div class="form-group"> + <label for="inputEmail3" class="col-sm-2 control-label"> + {{ field.label }} + </label> + + <div class="col-sm-10"> + <!-- + <input class="form-control" id="inputEmail3" placeholder="Email" type="email"> + --> + {{ field }} + </div> + + {% if field.help_text %} + <span class="help-block"> + {{ field.help_text }} + </span> + {% endif %} + </div> + {% endfor %} + </div><!-- /.box-body --> - <a href="{% url 'web.views.subjects' %}" class="btn btn-block btn-default">Back</a> + <div class="box-footer"> + <a href="{% url 'web.views.subjects' %}" class="btn btn-block btn-default">Back</a> + </div><!-- /.box-footer --> + </form> +</div> </form> {% endblock %} diff --git a/smash/web/templates/subjects/edit.html b/smash/web/templates/subjects/edit.html index 5acfa49ec5d78292b310072170057a4e9274bff5..f2781f1e15db57965ca1dceeb46e2b87f144d1e5 100644 --- a/smash/web/templates/subjects/edit.html +++ b/smash/web/templates/subjects/edit.html @@ -22,7 +22,7 @@ {% block content %} <form method="post" action=""> - {{ formset.as_ul }} + {{ form.as_ul }} {% csrf_token %} <button type="submit" class="btn btn-block btn-success">Save</button> diff --git a/smash/web/views.py b/smash/web/views.py index a53b8b082360c1e56726a519a5aa4ff6f274556e..eec71faef86a0a444328549670ee9fd871b1d2f7 100644 --- a/smash/web/views.py +++ b/smash/web/views.py @@ -7,8 +7,8 @@ from .forms import * from .auth import * # Own wrapper for django logging in/out from django.forms import modelformset_factory from django.shortcuts import render +import collections -# Create your views here. def index(request): if request.user.is_authenticated(): return redirect(assignments) @@ -37,11 +37,12 @@ def logout(request): return redirect('/login?error=' + state[1]) - def assignments(request): template = loader.get_template("assignments/index.html") details = Worker.get_details(request.user) + # TODO: Make a details decorator + return HttpResponse(template.render({ 'person' : details[0], 'role': details[1] @@ -57,43 +58,45 @@ def subjects(request): return HttpResponse(template.render(context,request)) + def subjectadd(request): - SubjectFormSet = modelformset_factory(Subject , fields='__all__') + subjectFormSet = modelformset_factory(Subject , fields='__all__') if request.method == 'POST': - formset = SubjectFormSet(request.POST, request.FILES) + formset = subjectFormSet(request.POST, request.FILES) if formset.is_valid(): formset.save() return redirect(subjects) else: - formset = SubjectFormSet(queryset=Subject.objects.none()) + formset = subjectFormSet(queryset=Subject.objects.none()) return render(request, 'subjects/add.html', {'formset': formset}) def subjectdet(request, ids): - SubjectFormSet = modelformset_factory(Subject , fields='__all__') - formset = SubjectDetailForm(instance=Subject.objects.get(id=ids)) - return render(request, 'subjects/details.html', {'formset': formset}) + form = SubjectDetailForm(instance=Subject.objects.get(id=ids)) + + + return render(request, 'subjects/details.html', {'form': form}) def subjectedit(request, ids): - SubjectFormSet = modelformset_factory(Subject , fields='__all__') if request.method == 'POST': - formset = SubjectEditForm(request.POST, request.FILES, instance=Subject.objects.get(id=ids)) - if formset.is_valid(): - formset.save() + form = SubjectEditForm(request.POST, request.FILES, instance=Subject.objects.get(id=ids)) + if form.is_valid(): + form.save() return redirect(subjects) else: - formset = SubjectEditForm(instance=Subject.objects.get(id=ids)) - return render(request, 'subjects/edit.html', {'formset': formset}) + form = SubjectEditForm(instance=Subject.objects.get(id=ids)) + return render(request, 'subjects/edit.html', {'form': form}) + def subjectdelete(request, ids): - SubjectFormSet = modelformset_factory(Subject , fields='__all__') if request.method == 'POST': Subject.objects.get(id=ids).delete() return redirect(subjects) else: - formset = SubjectEditForm(instance=Subject.objects.get(id=ids)) - return render(request, 'subjects/delete.html', {'formset': formset}) + form = SubjectEditForm(instance=Subject.objects.get(id=ids)) + return render(request, 'subjects/delete.html', {'form': form}) + def doctors(request): doctors_list = Worker.objects.order_by('-lastName')