add signalement model and form on maraudes:index
This commit is contained in:
@@ -3,7 +3,7 @@ from django.forms import inlineformset_factory
|
||||
from notes.forms import NoteForm
|
||||
# Models
|
||||
from .models import Maraude, Rencontre
|
||||
from .notes import Observation
|
||||
from .notes import Observation, Signalement
|
||||
|
||||
|
||||
class MaraudeAutoDateForm(forms.ModelForm):
|
||||
@@ -24,6 +24,12 @@ class RencontreForm(forms.ModelForm):
|
||||
fields = ['lieu', 'heure_debut', 'duree']
|
||||
|
||||
|
||||
class SignalementForm(NoteForm):
|
||||
|
||||
class Meta:
|
||||
model = Signalement
|
||||
fields = ['source', 'created_date', 'created_time', 'sujet', 'text']
|
||||
|
||||
|
||||
ObservationInlineFormSet = inlineformset_factory( Rencontre, Observation,
|
||||
form=NoteForm,
|
||||
|
||||
@@ -28,4 +28,9 @@ class Observation(Note):
|
||||
def note_bg_colors(self): return ("info", "info")
|
||||
|
||||
|
||||
class Signalement(Note):
|
||||
|
||||
source = models.CharField('Source', max_length=128)
|
||||
|
||||
def note_labels(self): return [self.source]
|
||||
def note_bg_colors(self): return ('warning', 'alert')
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
{% include 'maraudes/panel_dernieres_maraudes.html' %}
|
||||
|
||||
{% include 'maraudes/panel_signalement.html' %}
|
||||
|
||||
{% if user.is_superuser %}<div class="col-md-6" id="administration">
|
||||
<div class="panel panel-danger">
|
||||
<div class="panel-heading">Administration</div>
|
||||
|
||||
@@ -18,7 +18,7 @@ from django import forms
|
||||
from django.forms import inlineformset_factory, modelformset_factory, modelform_factory
|
||||
from django.forms.extras import widgets
|
||||
from django_select2.forms import Select2Widget
|
||||
from .forms import ( RencontreForm, RencontreInlineFormSet,
|
||||
from .forms import ( RencontreForm, RencontreInlineFormSet, SignalementForm,
|
||||
ObservationInlineFormSet, ObservationInlineFormSetNoExtra,
|
||||
MaraudeAutoDateForm, MonthSelectForm, )
|
||||
|
||||
@@ -46,7 +46,7 @@ class DerniereMaraudeMixin(object):
|
||||
|
||||
|
||||
@webpage
|
||||
class IndexView(DerniereMaraudeMixin, generic.TemplateView):
|
||||
class IndexView(DerniereMaraudeMixin, generic.FormView):
|
||||
|
||||
class PageInfo:
|
||||
title = "Maraude - Tableau de bord"
|
||||
@@ -54,6 +54,7 @@ class IndexView(DerniereMaraudeMixin, generic.TemplateView):
|
||||
header_small = "Tableau de bord"
|
||||
|
||||
template_name = "maraudes/index.html"
|
||||
form_class = SignalementForm
|
||||
|
||||
|
||||
## MARAUDES
|
||||
|
||||
@@ -3,10 +3,13 @@ from .mixins import *
|
||||
def _insert_bases(cls, bases):
|
||||
old_bases = cls.__bases__
|
||||
new_bases = tuple(bases) + old_bases
|
||||
print(new_bases)
|
||||
cls.__bases__ = new_bases
|
||||
|
||||
def webpage(**options):
|
||||
""" Class decorators that insert needed bases according to options :
|
||||
-- ajax : view will return content_template for Ajax requests
|
||||
-- permissions : list of permissions needed to access view
|
||||
"""
|
||||
try: ajax = options.pop('ajax')
|
||||
except KeyError: ajax = False
|
||||
try: permissions = options.pop('permissions')
|
||||
|
||||
Reference in New Issue
Block a user