improved NoteFormMixin, added Appel model and form in 'suivi'

This commit is contained in:
Arthur Gerbaud
2016-08-17 17:39:24 +02:00
parent d940bc5b1c
commit 9812aa858c
11 changed files with 76 additions and 50 deletions

13
suivi/notes.py Normal file
View File

@@ -0,0 +1,13 @@
from django.db import models
from notes.models import Note
class Appel(Note):
entrant = models.BooleanField( "Appel entrant ?")
def save(self, **kwargs):
print('save', self)
return super().save(**kwargs)
def note_labels(self): return ["Reçu" if self.entrant else "Émis", self.created_by]
def note_bg_colors(self): return ("warning", "info")

View File

@@ -1,3 +1,5 @@
<div class="col-md-6 col-md-offset-6">
{% include "suivi/appel_form.html" %}
</div>

View File

@@ -1,12 +1,12 @@
from django.shortcuts import render, reverse
from django.views import generic
from website import decorators as website
from sujets.models import Sujet
from .forms import *
from notes.mixins import NoteFormMixin
from notes.forms import AutoNoteForm
# Create your views here.
from website import decorators as website
webpage = website.webpage(
ajax=False,
permissions=['sujets.view_sujets'],
@@ -16,23 +16,37 @@ webpage = website.webpage(
@webpage
class IndexView(generic.TemplateView):
class IndexView(NoteFormMixin, generic.TemplateView):
class PageInfo:
title = "Suivi des bénéficiaires"
header = "Suivi"
header_small = "Tableau de bord"
#TemplateView
#NoteFormMixin
form_class = AppelForm
success_url = "/suivi/"
#FormView
template_name = "suivi/index.html"
def get_initial(self):
return {'created_date': timezone.now().date(),
'created_time': timezone.now().time()}
from notes.mixins import SujetNoteFormMixin
@webpage
class SuiviSujetView(SujetNoteFormMixin, generic.DetailView):
class SuiviSujetView(NoteFormMixin, generic.DetailView):
class PageInfo:
title = "Sujet - {{sujet}}"
header = "{{sujet}}"
header_small = "suivi"
#NoteFormMixin
form_class = AutoNoteForm
def get_success_url(self):
return reverse('suivi:details', kwargs={'pk': self.get_object().pk})
def get_form_kwargs(self):
kwargs = super().get_form_kwargs()
kwargs['sujet'] = self.get_object()
return kwargs
#DetailView
model = Sujet
template_name = "suivi/details.html"
@@ -40,8 +54,6 @@ class SuiviSujetView(SujetNoteFormMixin, generic.DetailView):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.insert_menu("sujets/menu_sujet.html")
def get_success_url(self):
return reverse('suivi:details', kwargs={'pk': self.get_object().pk})
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context['notes'] = self.object.notes.by_date(reverse=True)