Project

General

Profile

« Previous | Next » 

Revision 6c5b2d74

Added by Jérôme Schneider about 13 years ago

dossiers: add update patientrecord (civil status and physiology)

  • calebasse/dossiers/forms.py: add PhysiologyForm
  • calebasse/dossiers/models.py: add physiology fields
  • calebasse/dossiers/templates/dossiers/patientrecord_update.html: add
    forms
  • calebasse/dossiers/views.py: add PhysiologyForm to PatientRecordView

View differences:

calebasse/dossiers/forms.py
model = PatientRecord
fields = ('first_name', 'last_name', 'birthdate', 'gender', 'nationality')
class PhysiologyForm(ModelForm):
class Meta:
model = PatientRecord
fields = ('size', 'weight', 'pregnancy_term')
calebasse/dossiers/models.py
editable=True)
contacts = models.ManyToManyField('personnes.People',
related_name='contact_of')
birthdate = models.DateField(null=True, blank=True)
nationality = models.CharField(max_length=70, null=True, blank=True)
birthdate = models.DateField(verbose_name=u"Date de naissance",
null=True, blank=True)
nationality = models.CharField(verbose_name=u"Nationalité",
max_length=70, null=True, blank=True)
paper_id = models.CharField(max_length=12,
null=True, blank=True)
last_state = models.ForeignKey(FileState, related_name='+',
......
comment = models.TextField(verbose_name=u"Commentaire",
null=True, blank=True, default=None)
# Physiology
size = models.IntegerField(verbose_name=u"Taille (cm)",
null=True, blank=True, default=None)
weight = models.IntegerField(verbose_name=u"Poids (kg)",
null=True, blank=True, default=None)
pregnancy_term = models.IntegerField(verbose_name=u"Terme en semaines",
null=True, blank=True, default=None)
def __init__(self, *args, **kwargs):
super(PatientRecord, self).__init__(*args, **kwargs)
if not hasattr(self, 'service'):
calebasse/dossiers/templates/dossiers/patientrecord_update.html
</div>
<div id="tabs-2"> <!-- Fiche administrative -->
<div class="frame">
<form method="post" id="services-form">
{% csrf_token %}
<div class="frame inline">
<h3>État civil</h3>
<button class="save">✔</button>
<p><label>Nom :</label> <input value="Bouclier"/>
<label>Prénom(s) :</label> <input value="Guillaume"/></p>
<p><label>Date de naissance :</label> <input value="1/1/2005"/>
<label>Genre :</label> <input value="M"/>
<label>Nationalité :</label> <input value="française"/></p>
<p>
{{ forms.id.last_name.label_tag }} : {{ forms.id.last_name }}
{{ forms.id.first_name.label_tag }} : {{ forms.id.first_name }}
</p>
<p>
{{ forms.id.birthdate.label_tag }} : {{ forms.id.birthdate }}
{{ forms.id.gender.label_tag }} : {{ forms.id.gender }}
{{ forms.id.nationality.label_tag }} : {{ forms.id.nationality }}
</p>
</div>
</form>
<div class="frame">
<form method="post" id="services-form">
{% csrf_token %}
<div class="frame inline">
<h3>Physiologie</h3>
<button class="save">✔</button>
<p><label>Taille (cm) :</label> <input value="176"/>
<p>
{% for field in forms.physiology %}
{{ field.label_tag }} : {{ field }}
{% endfor %}
</p>
<!-- <label>Taille (cm) :</label> <input value="176"/>
<label>Poids (kg) :</label> <input value="68"/>
<label>Terme en semaines :</label> <input/></p>
<label>Terme en semaines :</label> <input/></p> -->
</div>
</form>
<div class="frame">
<h3>Inscription</h3>
calebasse/dossiers/views.py
from calebasse.cbv import ListView, MultiUpdateView, FormView, ServiceViewMixin
from calebasse.agenda.models import Occurrence
from calebasse.dossiers.models import PatientRecord, Status, FileState
from calebasse.dossiers.forms import SearchForm, CivilStatusForm, StateForm
from calebasse.dossiers.forms import SearchForm, CivilStatusForm, StateForm, PhysiologyForm
from calebasse.dossiers.states import STATES_MAPPING, STATE_CHOICES_TYPE
from calebasse.ressources.models import Service
......
"""
"""
model = PatientRecord
forms_classes = {'civil_status': CivilStatusForm}
forms_classes = {
'id': CivilStatusForm,
'physiology': PhysiologyForm
}
template_name = 'dossiers/patientrecord_update.html'
success_url = './'
success_url = './view'
def get_context_data(self, **kwargs):
ctx = super(PatientRecordView, self).get_context_data(**kwargs)

Also available in: Unified diff