added Note form on suivi/details view

This commit is contained in:
Arthur Gerbaud
2016-08-14 00:52:46 +02:00
parent 9d69fc2454
commit d934e6508a
3 changed files with 56 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
from .models import Note
from django import forms
from django.utils import timezone
from django_select2.forms import Select2Widget
from django.forms import Textarea
@@ -18,3 +18,49 @@ class NoteForm(forms.ModelForm):
# Get data for extra fields of Note
return super().save(*args, **kwargs)
class UserNoteForm(forms.ModelForm):
class Meta:
model = Note
fields = ['sujet', 'text', 'created_date', 'created_time']
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def save(self, commit=True):
instance = super().save(commit=False)
instance.created_by = None #TODO: Get user with needed Class
if commit:
instance.save()
return instance
class NoteAutoDateForm(UserNoteForm):
class Meta(UserNoteForm.Meta):
model = Note
fields = ['text']
widgets = {
'text': Textarea(attrs={'rows':4, 'placeholder': "Texte"}),
}
def __init__(self, request, **kwargs):
self.sujet = kwargs.pop('sujet')
self.pk = kwargs.pop('pk')
self.user = request.user
args = []
if request.POST:
args = (request.POST, request.FILES)
super().__init__(*args)
def save(self, commit=True):
instance = super().save(commit=False)
instance.sujet = self.sujet
instance.created_date = timezone.now().date()
instance.created_time = timezone.now().time()
if commit:
instance.save()
return instance

View File

@@ -12,7 +12,12 @@
</div>
<div id="collapseNotesAjout" class="panel-collapse collapse" role="tabpanel" aria-labelledby="notesAjoutHeading">
<div class="panel-body">
Formulaire d'ajout d'une note
<form method="POST" action="">{% csrf_token %}
{% bootstrap_form note_form show_label=False %}
</div>
<div class="panel-footer text-right">
{% bootstrap_button "Enregistrer" button_type="submit" %}
</form>
</div>
</div>
</div>

View File

@@ -27,8 +27,10 @@ class IndexView(generic.TemplateView):
def get_panels(self):
return ["suivi/panel_sujets.html", "suivi/panel_admin.html"]
from notes.mixins import NoteFormMixin
@webpage
class SuiviSujetView(generic.DetailView):
class SuiviSujetView(NoteFormMixin, generic.DetailView):
model = Sujet
template_name = "suivi/details.html"
context_object_name = "sujet"