mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
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:
1
Back-End/GestionMessagerie/__init__.py
Normal file
1
Back-End/GestionMessagerie/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
default_app_config = 'GestionMessagerie.apps.GestionMessagerieConfig'
|
||||
3
Back-End/GestionMessagerie/admin.py
Normal file
3
Back-End/GestionMessagerie/admin.py
Normal file
@ -0,0 +1,3 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
5
Back-End/GestionMessagerie/apps.py
Normal file
5
Back-End/GestionMessagerie/apps.py
Normal file
@ -0,0 +1,5 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
class GestionMessagerieConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'GestionMessagerie'
|
||||
15
Back-End/GestionMessagerie/models.py
Normal file
15
Back-End/GestionMessagerie/models.py
Normal 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
|
||||
16
Back-End/GestionMessagerie/serializers.py
Normal file
16
Back-End/GestionMessagerie/serializers.py
Normal 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
|
||||
9
Back-End/GestionMessagerie/urls.py
Normal file
9
Back-End/GestionMessagerie/urls.py
Normal 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"),
|
||||
]
|
||||
32
Back-End/GestionMessagerie/views.py
Normal file
32
Back-End/GestionMessagerie/views.py
Normal 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)
|
||||
Reference in New Issue
Block a user