diff --git a/maraudes/admin.py b/maraudes/admin.py
index 85c357d..ce96178 100644
--- a/maraudes/admin.py
+++ b/maraudes/admin.py
@@ -1,9 +1,8 @@
from django.contrib import admin
-from .models import *
+from .models import Lieu, Rencontre, Maraude, Planning
from .notes import Observation
-
# Basic registration
admin.site.register(Lieu)
diff --git a/maraudes/forms.py b/maraudes/forms.py
index bf4d13c..c65be1a 100644
--- a/maraudes/forms.py
+++ b/maraudes/forms.py
@@ -1,11 +1,12 @@
+import calendar
from django import forms
from django.utils.translation import gettext
from django.utils import timezone
from django_select2.forms import Select2Widget
from notes.forms import UserNoteForm, SimpleNoteForm
-from notes.models import Sujet, GENRE_CHOICES
-from .models import *
-from .notes import *
+from notes.models import Note, Sujet, GENRE_CHOICES
+from .models import Maraude, Rencontre
+from .notes import Observation, Appel, Signalement
MONTHS = [
@@ -69,6 +70,12 @@ class MonthSelectForm(forms.Form):
self.fields['year'].initial = year
+class NoteForm(UserNoteForm):
+ class Meta(UserNoteForm.Meta):
+ model = Note
+ fields = ['sujet', 'text']
+
+
class AppelForm(UserNoteForm):
class Meta(UserNoteForm.Meta):
model = Appel
diff --git a/maraudes/models.py b/maraudes/models.py
index d0a91f8..4f5970a 100644
--- a/maraudes/models.py
+++ b/maraudes/models.py
@@ -128,9 +128,6 @@ class Maraude(models.Model):
class Meta:
verbose_name = "Maraude"
ordering = ['date']
- permissions = (
- ('view_maraudes', "Accès à l'application 'maraudes'"),
- )
def __str__(self):
return '%(dayname)s %(day)i %(month)s' % {
@@ -141,9 +138,7 @@ class Maraude(models.Model):
def est_terminee(self):
""" Indique si la maraude est considérée comme terminée """
- if self.heure_fin is not None:
- return True
- return False
+ return self.heure_fin is not None
est_terminee.admin_order_field = 'date'
est_terminee.boolean = True
est_terminee.short_description = 'Terminée ?'
diff --git a/maraudes/notes.py b/maraudes/notes.py
index be38acc..1ebc0b0 100644
--- a/maraudes/notes.py
+++ b/maraudes/notes.py
@@ -1,16 +1,15 @@
from django.db import models
from notes.models import Note
-
# Extends 'notes' module
-
class Observation(Note):
""" Note dans le cadre d'une rencontre """
- rencontre = models.ForeignKey('maraudes.Rencontre',
- models.CASCADE,
- related_name="observations")
+ rencontre = models.ForeignKey(
+ 'maraudes.Rencontre',
+ models.CASCADE,
+ related_name="observations")
# Note attributes proxies
def note_author(self): return self.rencontre.maraude.referent
@@ -21,7 +20,7 @@ class Observation(Note):
def note_labels(self): return [self.rencontre.lieu, self.rencontre.heure_debut]
- def note_bg_colors(self): return "info", "info"
+ def note_bg_colors(self): return "info", "dark"
class Appel(Note):
@@ -37,7 +36,9 @@ class Appel(Note):
class Signalement(Note):
- source = models.ForeignKey("utilisateurs.Organisme", on_delete=models.CASCADE)
+ source = models.ForeignKey(
+ "utilisateurs.Organisme",
+ on_delete=models.CASCADE)
def note_labels(self):
return [self.source, self.created_by]
diff --git a/maraudes/templates/maraudes/index.html b/maraudes/templates/maraudes/index.html
index afb35e6..528e296 100644
--- a/maraudes/templates/maraudes/index.html
+++ b/maraudes/templates/maraudes/index.html
@@ -93,7 +93,9 @@
-
+
+ {% include "notes/form_note_inner.html" with form=note_form %}
+
{% include "notes/form_appel_inner.html" with form=appel_form %}
diff --git a/maraudes/urls.py b/maraudes/urls.py
index d33d765..1fef096 100644
--- a/maraudes/urls.py
+++ b/maraudes/urls.py
@@ -1,16 +1,16 @@
# Maraudes URLconf
-from django.conf.urls import url
+from django.urls import path
from . import views
app_name = "maraudes"
urlpatterns = [
- url(r'^$', views.IndexView.as_view(), name="index"),
- url(r'^compte-rendu$', views.redirect_to_current_compterendu, name="cr-link"),
- url(r'^planning/$', views.PlanningView.as_view(), name="planning"),
- url(r'^lieu/create/$', views.LieuCreateView.as_view(), name="lieu-create"),
- url(r'^(?P
[0-9]+)/create/$', views.CompteRenduCreateView.as_view(), name="create"),
- url(r'^(?P[0-9]+)/finalize/$', views.FinalizeView.as_view(), name="finalize"),
+ path('', views.IndexView.as_view(), name="index"),
+ path('compte-rendu', views.redirect_to_current_compterendu, name="cr-link"),
+ path('planning/', views.PlanningView.as_view(), name="planning"),
+ path('lieu/create/', views.LieuCreateView.as_view(), name="lieu-create"),
+ path('/create/', views.CompteRenduCreateView.as_view(), name="create"),
+ path('/finalize/', views.FinalizeView.as_view(), name="finalize"),
]
diff --git a/maraudes/views.py b/maraudes/views.py
index a3495cd..2afeab9 100644
--- a/maraudes/views.py
+++ b/maraudes/views.py
@@ -17,7 +17,7 @@ from .notes import Signalement
from .forms import (RencontreForm,
ObservationInlineFormSet,
MaraudeHiddenDateForm, MonthSelectForm,
- AppelForm, SignalementForm,
+ NoteForm, AppelForm, SignalementForm,
SendMailForm)
from notes.mixins import NoteFormMixin
@@ -64,6 +64,7 @@ class IndexView(NoteFormMixin, MaraudeurMixin, generic.TemplateView):
# NoteFormMixin
forms = {
+ 'note': NoteForm,
'appel': AppelForm,
'signalement': SignalementForm,
}
diff --git a/notes/templates/notes/form_appel_inner.html b/notes/templates/notes/form_appel_inner.html
index 03adf80..d2b2e9b 100644
--- a/notes/templates/notes/form_appel_inner.html
+++ b/notes/templates/notes/form_appel_inner.html
@@ -6,7 +6,10 @@
{% bootstrap_field form.created_time size=sz form_group_class=grp_cls layout=layout %}
{% endwith %}
- {% bootstrap_field form.entrant size=sz%}
+
+
+
+
{% bootstrap_field form.sujet show_label=False %}
{% bootstrap_field form.text show_label=False %}
diff --git a/notes/templates/notes/form_note_inner.html b/notes/templates/notes/form_note_inner.html
new file mode 100644
index 0000000..c6b548a
--- /dev/null
+++ b/notes/templates/notes/form_note_inner.html
@@ -0,0 +1,10 @@
+{% load bootstrap4 %}
+
+{{ form.media.js }}{{ form.media.css }}
+
diff --git a/urls.py b/urls.py
index 467f10b..6d43fd3 100644
--- a/urls.py
+++ b/urls.py
@@ -1,8 +1,8 @@
-from django.conf.urls import url, include
+from django.urls import path, include
from django.contrib import admin
from website import urls as website_urls
urlpatterns = [
- url(r'^admin/', admin.site.urls),
- url(r'^', include(website_urls)),
+ path('admin/', admin.site.urls),
+ path('', include(website_urls)),
]
diff --git a/utilisateurs/models.py b/utilisateurs/models.py
index 80edb36..0b0c611 100644
--- a/utilisateurs/models.py
+++ b/utilisateurs/models.py
@@ -15,7 +15,8 @@ else:
try:
assert(isinstance(settings.MARAUDEURS.get('organisme'), dict))
except:
- raise ImproperlyConfigured("'organisme' key of MARAUDEURS settings is not a dict !")
+ raise ImproperlyConfigured(
+ "'organisme' key of MARAUDEURS settings is not a dict !")
def get_email_suffix(organisme):
@@ -25,7 +26,6 @@ def get_email_suffix(organisme):
return organisme.email.split("@")[1]
-
class Organisme(models.Model):
""" Organisme : Association, Entreprise, Service public, ..."""
@@ -43,10 +43,10 @@ class Organisme(models.Model):
class Professionnel(User):
""" Professionnel d'un organisme """
- organisme = models.ForeignKey(Organisme,
- models.CASCADE,
- related_name="professionnels",
- )
+ organisme = models.ForeignKey(
+ Organisme,
+ on_delete=models.CASCADE,
+ related_name="professionnels")
def make_username(self):
""" Build the username for this Professionel instance. Must be overriden."""