Propositions liées à la qualité du code (pep8, pylint, ...) #58

Merged
Fred merged 7 commits from propal/pep8-pylint into master 2021-06-19 08:29:36 +02:00
6 changed files with 41 additions and 19 deletions
Showing only changes of commit 9780834fc6 - Show all commits

View File

@ -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")

View File

@ -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 = (

View File

@ -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.

View File

@ -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"

View File

@ -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

View File

@ -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.
@ -80,7 +81,7 @@ def delete_message(request, messageid):
""" """
try: try:
message = Message.objects.get(pk=messageid) message = Message.objects.get(pk=messageid)
if message.sender == request.user or message.recipient == request.user : if message.sender == request.user or message.recipient == request.user :
message.delete() message.delete()
else: else:
@ -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()