Init et définitions du models.py

This commit is contained in:
Ambulance Clerc
2023-08-11 17:23:46 +02:00
parent bef530d449
commit a4b8f41851
7 changed files with 135 additions and 0 deletions

0
studenteval/__init__.py Normal file
View File

5
studenteval/admin.py Normal file
View File

@@ -0,0 +1,5 @@
from django.contrib import admin
from studenteval.models import cl_Student_eval
# Register your models here.
admin.site.register(cl_Student_eval)

7
studenteval/apps.py Normal file
View File

@@ -0,0 +1,7 @@
from django.apps import AppConfig
class StudentevalConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'studenteval'
verbose_name = "Suivi étudiants - stagiaires"

100
studenteval/models.py Normal file
View File

@@ -0,0 +1,100 @@
from django.db import models
from django.conf import settings
from django.utils import timezone
import uuid
EVAL_TYPE = [
('1', 'Intervention'),
('2', 'Journée'),
]
INTER_NATURE = [
('1', 'Trauma'),
('2', 'non-Trauma'),
]
INTER_PRIORITY = [
('1', 'P1'),
('2', 'P2'),
('3', 'P3'),
('4', 'S1'),
('5', 'S2'),
('6', 'S3'),
('7', 'Exercice'),
]
INTER_COMPLEXITY = [
('1', 'Stable / Simple'),
('2', 'Stable / Complexe'),
('3', 'Instable / Simple'),
('4', 'Instable / Complexe'),
]
STUDENT_ROLE = [
('1', 'Leader'),
('2', 'Équipier'),
('3', '3e position (observateur'),
]
EVAL_MODE = [
('1', 'Auto-évaluation'),
('2', 'Ecadrant'),
]
class cl_Student_eval(models.Model):
uuid = models.UUIDField(default=uuid.uuid4(), editable=False, primary_key=True)
# Informations sur l'auteur
Author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="Auteur", on_delete=models.SET_NULL, null=True, related_name="eval_author")
sAuthor = models.CharField("Auteur", max_length=120)
Author_2e = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="Second auteur", on_delete=models.SET_NULL, null=True, related_name="eval_second_author")
sAuthor_2e = models.CharField("Second auteur", max_length=120)
#Information sur l 'étudiant/stagiaire
Student = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="Nom du stagiaire/étudaint", on_delete=models.SET_NULL, null=True)
sStudent = models.CharField("Nom de l'étudiant/stagiaire", max_length=120)
#Information sur le suivi
nEval_Type = models.CharField('Type de suivi', max_length=1, choices=EVAL_TYPE, default=1)
dtDate = models.DateField("Date", default=timezone.now)
sRef = models.CharField("N° de référence / FIP", max_length=120)
nEval_Mode = models.CharField('Mode de suivi ', max_length=1, choices=EVAL_MODE, default=1)
sDesc_neg = models.TextField("Points à améliorer")
sDesc_pos = models.TextField("Points positifs")
sDesc_global = models.TextField("Avis global sur l'intervention/journée/exercice")
#Information sur l'intervention
nInter_Nature = models.CharField('Nature', max_length=1, choices=INTER_NATURE, default=1)
nInter_Priority = models.CharField('Priorité', max_length=1, choices=INTER_PRIORITY, default=1)
nInter_Complexity = models.CharField('Nature de complexité', max_length=1, choices=INTER_COMPLEXITY, default=1)
sInter_Desc = models.TextField("Description courte")
nStudent_Roles = models.CharField("Rôle de l'étudiant/stagiaire", max_length=1, choices=STUDENT_ROLE, default=1)
#Automatic data
dtUpdated = models.DateTimeField('date updated', auto_now=True)
dtCreated = models.DateTimeField('date published', auto_now_add=True)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.a_evals = None
def get_all_evals_for_student(self,sStudent):
self.a_evals = []
evals = cl_Student_eval.objects.filter(sStudent=sStudent).order_by('sRef')
for eval in evals:
self.a_evals.append({"uuid":eval.uuid,"sRef":eval.sRef, "nEval_Mode": eval.nEval_Mode, "eval":eval})
print(self.a_evals)
return self.a_evals
def __str__(self):
return f"{ self.sStudent } => {self.sRef} ({ EVAL_MODE[self.nEval_Mode]})"
class Meta:
verbose_name = "Suivi étudiants - stagiaires"
verbose_name_plural = "Suivis étudiants - stagiaires"

3
studenteval/tests.py Normal file
View File

@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

17
studenteval/urls.py Normal file
View File

@@ -0,0 +1,17 @@
from django.urls import path
from . import views
'''
app_name = "studenteval"
urlpatterns = [
#path('vhc', views.view_vhc, name='view_vhc'),
#path('peremptions', views.view_peremptions, name='view_peremptions'),
]
'''

3
studenteval/views.py Normal file
View File

@@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.