added SignalementForm, updated NoteFormMixin, various fixes

This commit is contained in:
Arthur Gerbaud
2016-08-24 18:17:59 +02:00
parent 6e9a76696e
commit 746c21e52b
13 changed files with 100 additions and 38 deletions

View File

@@ -2,7 +2,6 @@ from .models import Note
from utilisateurs.models import Professionnel
from django import forms
from django.utils import timezone
from django_select2.forms import Select2Widget
from django.forms import Textarea
@@ -33,7 +32,8 @@ class SimpleNoteForm(forms.ModelForm):
class UserNoteForm(NoteForm):
""" Form that sets 'created_by' with current user id.
This requires 'request' object at initialization
It requires 'request' object at initialization
"""
class Meta(NoteForm.Meta):
fields = ['sujet', 'text', 'created_date', 'created_time']

View File

@@ -1,5 +1,4 @@
from django.views.generic.edit import FormMixin, ProcessFormView
from django.shortcuts import redirect
from django.views.generic.edit import FormMixin
from .forms import *
@@ -7,24 +6,37 @@ class NoteFormMixin(FormMixin):
form_class = None
def get_form(self):
forms = None
def get_form(self, prefix, form_class=None):
# Should add test to ensure this instance class is
# has SingleObjectMixin set with Sujet model ??
kwargs = self.get_form_kwargs()
return self.form_class(
kwargs['prefix'] = prefix
if not form_class:
form_class = self.forms[prefix]
try:
form = form_class(
**kwargs
)
except TypeError: #Forms that requires request
form = form_class(
self.request,
**kwargs
)
return form
def post(self, request, **kwargs):
form = self.get_form()
if form.is_valid():
form.save()
return self.form_valid(form)
for prefix in self.forms.keys():
form = self.get_form(prefix)
if form.is_valid():
form.save()
return self.form_valid(form)
return self.form_invalid(form)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['note_form'] = self.get_form()
context = super(FormMixin, self).get_context_data(**kwargs)
for prefix in self.forms.keys():
context['%s_form' % prefix] = self.get_form(prefix)
return context

View File

@@ -49,11 +49,11 @@ class Note(models.Model):
def note_date(self):
""" Default 'created_date' value. Child may override this method. """
return timezone.now().date()
return timezone.localtime(timezone.now()).date()
def note_time(self):
""" Default 'created_time' value. Child may override this method. """
return timezone.now().time()
return timezone.localtime(timezone.now()).time()
def note_bg_colors(self):
""" Returns (header background color, labels color).