Propositions liées à la qualité du code (pep8, pylint, ...) #58
|
@ -7,6 +7,8 @@ from .models import Message
|
||||||
|
|
||||||
@admin.register(Message)
|
@admin.register(Message)
|
||||||
class MessageAdmin(admin.ModelAdmin):
|
class MessageAdmin(admin.ModelAdmin):
|
||||||
|
"""La classe `MessageAdmin` contrôle la gestion des messages
|
||||||
|
"""
|
||||||
list_display = ("sender", "recipient", "written_at", "is_read", "read_at")
|
list_display = ("sender", "recipient", "written_at", "is_read", "read_at")
|
||||||
ordering = ("written_at", "sender")
|
ordering = ("written_at", "sender")
|
||||||
search_fields = ("sender", "recipient", "message_title")
|
search_fields = ("sender", "recipient", "message_title")
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
"""Configuration et représentation des forms liés aux messages."""
|
"""Configuration et représentation des forms liés aux messages."""
|
||||||
|
|
||||||
from datetime import date
|
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from people.models import Gymnast
|
|
||||||
from .models import Message
|
from .models import Message
|
||||||
|
|
||||||
|
|
||||||
class MessageForm(forms.ModelForm):
|
class MessageForm(forms.ModelForm):
|
||||||
|
"""Formulaire de base pour la création et la modification de messages
|
||||||
|
"""
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Message
|
model = Message
|
||||||
fields = (
|
fields = (
|
||||||
|
|
|
@ -1,10 +1,23 @@
|
||||||
|
"""Modelisation de tout ce qui touche à la communication entre utilisateurs.
|
||||||
|
|
||||||
|
Cette application gère:
|
||||||
|
|
||||||
|
* Les messages
|
||||||
|
* Ah, c'est tout en fait :-)
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
from django.db import models
|
|
||||||
from django.contrib.auth.models import User
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from django.db import models
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
from base.models import Markdownizable
|
from base.models import Markdownizable
|
||||||
|
|
||||||
|
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
class Message(Markdownizable):
|
class Message(Markdownizable):
|
||||||
"""Représente un message échangé entre deux utilisateurs.
|
"""Représente un message échangé entre deux utilisateurs.
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,19 @@
|
||||||
# coding=UTF-8
|
"""Tests liés au modèle de l'application Communication"""
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from .models import Message
|
|
||||||
from django.contrib.auth.models import User
|
|
||||||
import pytest
|
|
||||||
|
|
||||||
def test_message_tostring():
|
from django.contrib.auth import get_user_model
|
||||||
|
|
||||||
|
from .models import Message
|
||||||
|
|
||||||
|
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
|
def test_message_to_string():
|
||||||
|
"""Vérifie la représentation textuelle d'un message
|
||||||
|
"""
|
||||||
timing = datetime.now()
|
timing = datetime.now()
|
||||||
u = User(username='fred', password='fredpassword')
|
user = User(username='fred', password='fredpassword')
|
||||||
m = Message(sender=u, written_at=timing, title="test")
|
message = Message(sender=user, written_at=timing, title="test")
|
||||||
assert str(m) == "fred - " + str(timing) + " : test"
|
assert str(message) == "fred - " + str(timing) + " : test"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"""Définition des routes d'actions permettant de contrôler les messages et la communication."""
|
"""Définition des routes d'actions permettant de contrôler les messages et la communication."""
|
||||||
|
|
||||||
from django.urls import path, re_path
|
from django.urls import path
|
||||||
|
|
||||||
from . import views
|
from . import views
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
"""Vues et fonctions pour tout ce qui touche à la communication entre plusieurs utilisateurs."""
|
"""Vues et fonctions pour tout ce qui touche à la communication entre plusieurs utilisateurs."""
|
||||||
|
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.contrib.auth.models import User
|
|
||||||
from django.http import HttpResponse, HttpResponseRedirect
|
from django.http import HttpResponse, HttpResponseRedirect
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
from django.views.decorators.http import require_http_methods
|
from django.views.decorators.http import require_http_methods
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
from .forms import MessageForm
|
from .forms import MessageForm
|
||||||
from .models import Message
|
from .models import Message
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def get_number_of_unread_message(request):
|
def get_number_of_unread_message(request):
|
||||||
"""Récupère le nombre de messages non lus associés à l'utilisateur en session.
|
"""Récupère le nombre de messages non lus associés à l'utilisateur en session.
|
||||||
|
@ -103,8 +104,8 @@ def compose_message(request):
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save()
|
form.save()
|
||||||
return HttpResponseRedirect(reverse("sent_messages"))
|
return HttpResponseRedirect(reverse("sent_messages"))
|
||||||
else:
|
|
||||||
print("Invalid form")
|
print("Invalid form")
|
||||||
else:
|
else:
|
||||||
form = MessageForm()
|
form = MessageForm()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue