mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-04-03 16:51:26 +00:00
fix: Suppression d'un PROFILE si aucun PROFILE_ROLE n'y est associé [N3WTS-1]
This commit is contained in:
@ -128,7 +128,21 @@ class TeacherDetailView(APIView):
|
|||||||
return JsonResponse(teacher_serializer.errors, safe=False)
|
return JsonResponse(teacher_serializer.errors, safe=False)
|
||||||
|
|
||||||
def delete(self, request, id):
|
def delete(self, request, id):
|
||||||
return delete_object(Teacher, id, related_field='profile_role')
|
# Suppression du Teacher et du ProfileRole associé
|
||||||
|
teacher = getObject(_objectName=Teacher, _columnName='id', _value=id)
|
||||||
|
profile_role = getattr(teacher, 'profile_role', None)
|
||||||
|
profile = getattr(profile_role, 'profile', None) if profile_role else None
|
||||||
|
|
||||||
|
# Supprime le Teacher (ce qui supprime le ProfileRole via on_delete=models.CASCADE)
|
||||||
|
response = delete_object(Teacher, id, related_field='profile_role')
|
||||||
|
|
||||||
|
# Si un profile était associé, vérifier s'il reste des ProfileRole
|
||||||
|
if profile:
|
||||||
|
from Auth.models import ProfileRole # import local pour éviter les imports circulaires
|
||||||
|
if not ProfileRole.objects.filter(profile=profile).exists():
|
||||||
|
profile.delete()
|
||||||
|
|
||||||
|
return response
|
||||||
|
|
||||||
@method_decorator(csrf_protect, name='dispatch')
|
@method_decorator(csrf_protect, name='dispatch')
|
||||||
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
||||||
|
|||||||
@ -152,6 +152,13 @@ const TeachersSection = ({
|
|||||||
// Vérifier si l'email correspond à un profil existant
|
// Vérifier si l'email correspond à un profil existant
|
||||||
const existingProfile = profiles.find((profile) => profile.email === email);
|
const existingProfile = profiles.find((profile) => profile.email === email);
|
||||||
|
|
||||||
|
// Ajout du log si l'adresse email est déjà utilisée pour un profil existant
|
||||||
|
if (existingProfile) {
|
||||||
|
logger.info(
|
||||||
|
`Adresse email déjà utilisée pour le profil ${existingProfile.id}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
setFormData((prevData) => ({
|
setFormData((prevData) => ({
|
||||||
...prevData,
|
...prevData,
|
||||||
associated_profile_email: email,
|
associated_profile_email: email,
|
||||||
|
|||||||
84
premier-pas.md
Normal file
84
premier-pas.md
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# 🧭 Premiers Pas avec N3WT-SCHOOL
|
||||||
|
|
||||||
|
Bienvenue dans **N3WT-SCHOOL** !
|
||||||
|
Ce guide rapide vous accompagne dans les premières étapes de configuration de votre instance afin de la rendre pleinement opérationnelle pour votre établissement.
|
||||||
|
|
||||||
|
> **ℹ️ Version bêta**
|
||||||
|
> N3WT-SCHOOL est actuellement en version bêta. Certaines fonctionnalités sont encore en cours de développement (par exemple : création d'une vue dédiée aux professeurs, génération automatique de factures, renforcement de la sécurité du site, etc).
|
||||||
|
> Il est donc possible que vous rencontriez des bugs ou des comportements inattendus. Merci de votre compréhension et de vos retours !
|
||||||
|
|
||||||
|
## ✅ Étapes à suivre :
|
||||||
|
|
||||||
|
1. **Configurer la signature électronique des documents via Docuseal**
|
||||||
|
2. **Activer l'envoi d'e-mails depuis la plateforme**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✍️ 1. Configuration de la signature électronique (Docuseal)
|
||||||
|
|
||||||
|
Pour permettre la signature électronique des documents administratifs (inscriptions, conventions, etc.), N3WT-SCHOOL s'appuie sur [**Docuseal**](https://docuseal.com), un service sécurisé de signature électronique.
|
||||||
|
|
||||||
|
### Étapes :
|
||||||
|
|
||||||
|
1. Créez un compte sur Docuseal :
|
||||||
|
👉 [https://docuseal.com/sign_up](https://docuseal.com/sign_up)
|
||||||
|
|
||||||
|
2. Une fois connecté, accédez à la section API :
|
||||||
|
👉 [https://console.docuseal.com/api](https://console.docuseal.com/api)
|
||||||
|
|
||||||
|
3. Copiez votre **X-Auth-Token** personnel.
|
||||||
|
Ce jeton permettra à N3WT-SCHOOL de se connecter à votre compte Docuseal.
|
||||||
|
|
||||||
|
4. **Envoyez votre X-Auth-Token à l'équipe N3WT-SCHOOL** pour qu'un administrateur puisse finaliser la configuration :
|
||||||
|
✉️ Contact : [contact@n3wtschool.com](mailto:contact@n3wtschool.com)
|
||||||
|
|
||||||
|
> ⚠️ Cette opération doit impérativement être réalisée par un administrateur N3WT-SCHOOL.
|
||||||
|
> Ne partagez pas ce token en dehors de ce cadre.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📧 2. Configuration de l'envoi d’e-mails
|
||||||
|
|
||||||
|
N3WT-SCHOOL assure la gestion des inscriptions de façon entièrement dématérialisée, avec l’envoi automatique d’e-mails à chaque étape clé du parcours (notifications aux étudiants, accusés de réception, transmission de documents, etc.).
|
||||||
|
Pour permettre le bon fonctionnement de ces envois automatiques, il est nécessaire que vous configuriez votre mot de passe dans les paramètres de messagerie (SMTP) de votre établissement dans le menu **Paramètres** de l’application.
|
||||||
|
|
||||||
|
### Informations requises :
|
||||||
|
|
||||||
|
- Hôte SMTP
|
||||||
|
- Port SMTP
|
||||||
|
- Type de sécurité (TLS / SSL)
|
||||||
|
- Adresse e-mail (utilisateur SMTP)
|
||||||
|
- Mot de passe ou **mot de passe applicatif**
|
||||||
|
|
||||||
|
La plupart des champs ont déjà été pré-remplis grâce aux informations fournies lors de votre inscription : un vrai gain de temps !
|
||||||
|
Il ne vous reste plus qu’à saisir votre mot de passe pour finaliser la configuration et profiter pleinement de l’envoi automatique d’e-mails.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔐 Mot de passe applicatif (Gmail, Outlook, etc.)
|
||||||
|
|
||||||
|
Certains fournisseurs (notamment **Gmail**, **Yahoo**, **iCloud**) ne permettent pas d’utiliser directement votre mot de passe personnel pour des applications tierces.
|
||||||
|
Vous devez créer un **mot de passe applicatif**.
|
||||||
|
|
||||||
|
### Exemple : Créer un mot de passe applicatif avec Gmail
|
||||||
|
|
||||||
|
1. Connectez-vous à [votre compte Google](https://myaccount.google.com)
|
||||||
|
2. Allez dans **Sécurité > Validation en 2 étapes**
|
||||||
|
3. Activez la validation en 2 étapes si ce n’est pas déjà fait
|
||||||
|
4. Ensuite, allez dans **Mots de passe des applications**
|
||||||
|
5. Sélectionnez une application (ex. : "Autre (personnalisée)") et nommez-la "N3WT-SCHOOL"
|
||||||
|
6. Copiez le mot de passe généré et utilisez-le comme **mot de passe SMTP**
|
||||||
|
|
||||||
|
> 📎 Consultez l’aide officielle de Google :
|
||||||
|
> [Créer un mot de passe d’application – Google](https://support.google.com/accounts/answer/185833)
|
||||||
|
|
||||||
|
> ℹ️ Si vous rencontrez la moindre difficulté pour générer ou utiliser un mot de passe applicatif, n'hésitez pas à contacter l'équipe N3WT-SCHOOL : nous sommes à votre disposition pour vous accompagner dans cette démarche.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 Vous êtes prêt·e !
|
||||||
|
|
||||||
|
Une fois ces deux configurations effectuées, votre instance N3WT-SCHOOL est prête à fonctionner pleinement.
|
||||||
|
Vous pourrez ensuite ajouter vos formations, étudiants, documents et automatiser toute votre gestion scolaire.
|
||||||
|
|
||||||
|
Merci de votre confiance et n’hésitez pas à nous faire part de vos retours pour améliorer la plateforme !
|
||||||
BIN
premier-pas.pdf
Normal file
BIN
premier-pas.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user