chore: Initial Commit

feat: Gestion des inscriptions [#1]
feat(frontend): Création des vues pour le paramétrage de l'école [#2]
feat: Gestion du login [#6]
fix: Correction lors de la migration des modèle [#8]
feat: Révision du menu principal [#9]
feat: Ajout d'un footer [#10]
feat: Création des dockers compose pour les environnements de
développement et de production [#12]
doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
This commit is contained in:
Luc SORIGNET
2024-11-18 10:02:58 +01:00
committed by N3WT DE COMPET
commit af0cd1c840
228 changed files with 22694 additions and 0 deletions

View File

@ -0,0 +1 @@
default_app_config = 'GestionMessagerie.apps.GestionMessagerieConfig'

View File

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@ -0,0 +1,5 @@
from django.apps import AppConfig
class GestionMessagerieConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'GestionMessagerie'

View File

@ -0,0 +1,15 @@
from django.contrib.auth.models import AbstractUser
from django.db import models
from django.utils.translation import gettext_lazy as _
from django.conf import settings
from GestionLogin.models import Profil
class Messagerie(models.Model):
id = models.AutoField(primary_key=True)
objet = models.CharField(max_length=200, default="", blank=True)
emetteur = models.ForeignKey(Profil, on_delete=models.PROTECT, related_name='messages_envoyes')
destinataire = models.ForeignKey(Profil, on_delete=models.PROTECT, related_name='messages_recus')
corpus = models.CharField(max_length=200, default="", blank=True)
def __str__(self):
return 'Messagerie_'+self.id

View File

@ -0,0 +1,16 @@
from rest_framework import serializers
from GestionLogin.models import Profil
from GestionMessagerie.models import Messagerie
class MessageSerializer(serializers.ModelSerializer):
destinataire_profil = serializers.SerializerMethodField()
emetteur_profil = serializers.SerializerMethodField()
class Meta:
model = Messagerie
fields = '__all__'
def get_destinataire_profil(self, obj):
return obj.destinataire.email
def get_emetteur_profil(self, obj):
return obj.emetteur.email

View File

@ -0,0 +1,9 @@
from django.urls import path, re_path
from GestionMessagerie.views import MessagerieView, MessageView
urlpatterns = [
re_path(r'^messagerie/([0-9]+)$', MessagerieView.as_view(), name="messagerie"),
re_path(r'^message$', MessageView.as_view(), name="message"),
re_path(r'^message/([0-9]+)$', MessageView.as_view(), name="message"),
]

View File

@ -0,0 +1,32 @@
from django.http.response import JsonResponse
from rest_framework.views import APIView
from rest_framework.parsers import JSONParser
from .models import *
from GestionMessagerie.serializers import MessageSerializer
from N3wtSchool import bdd
class MessagerieView(APIView):
def get(self, request, _idProfile):
messagesList = bdd.getObjects(_objectName=Messagerie, _columnName='destinataire__id', _value=_idProfile)
messages_serializer = MessageSerializer(messagesList, many=True)
return JsonResponse(messages_serializer.data, safe=False)
class MessageView(APIView):
def get(self, request, _id):
message=bdd.getObject(Messagerie, "id", _id)
message_serializer=MessageSerializer(message)
return JsonResponse(message_serializer.data, safe=False)
def post(self, request):
message_data=JSONParser().parse(request)
message_serializer = MessageSerializer(data=message_data)
if message_serializer.is_valid():
message_serializer.save()
return JsonResponse('Nouveau Message ajouté', safe=False)
return JsonResponse(message_serializer.errors, safe=False)