From 7d37cfd1df23421db88058a294bf7f4ccdc7044d Mon Sep 17 00:00:00 2001 From: Ambulance Clerc Date: Tue, 10 Oct 2023 18:29:45 +0200 Subject: [PATCH] Ajout du module comm_op --- comm_op/admin.py | 39 +++++++++++++++++++++++++++++++++++++++ comm_op/apps.py | 1 + comm_op/models.py | 21 ++++++++++++++++----- 3 files changed, 56 insertions(+), 5 deletions(-) diff --git a/comm_op/admin.py b/comm_op/admin.py index 8c38f3f..f490989 100644 --- a/comm_op/admin.py +++ b/comm_op/admin.py @@ -1,3 +1,42 @@ from django.contrib import admin +from comm_op.models import comm_opMessage +from django.contrib.auth.models import User # Register your models here. + +@admin.register(comm_opMessage) +class MessageAdmin(admin.ModelAdmin): + always_show_username = True + fieldsets = [ + (None, {'fields': ['sKey','sTitle','sDesc']}), + ('Date information', {'fields': ['dtStart','dtEnd']}), + ('Auteur', {'fields': ['Author']}), + ] + + list_display = ('sKey', 'sTitle', 'dtStart', 'dtEnd', 'sAuthor', 'bDone') + #list_filter = ['pub_date'] + #search_fields = ['question_txt'] + + def save_model(self, request, obj, form, change): + obj.sAuthor = obj.Author.first_name + " " + obj.Author.last_name + obj.sAuthor = obj.Author.first_name + " " + obj.Author.last_name + obj.save() + + def formfield_for_foreignkey(self, db_field, request=None, **kwargs): + field = super(MessageAdmin, self).formfield_for_foreignkey( db_field, request, **kwargs) + if db_field.remote_field.model == User: + field.label_from_instance = self.get_user_label + return field + + def formfield_for_manytomany(self, db_field, request=None, **kwargs): + field = super(MessageAdmin, self).formfield_for_manytomany( db_field, request, **kwargs) + if db_field.remote_field.model == User: + field.label_from_instance = self.get_user_label + return field + + def get_user_label(self, user): + name = user.get_full_name() + username = user.username + if not self.always_show_username: + return name or username + return (name and name != username and '%s (%s)' % (name, username) or username) diff --git a/comm_op/apps.py b/comm_op/apps.py index 288f5ed..5f76ac8 100644 --- a/comm_op/apps.py +++ b/comm_op/apps.py @@ -4,3 +4,4 @@ from django.apps import AppConfig class CommOpConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'comm_op' + verbose_name = "Référent journalier" diff --git a/comm_op/models.py b/comm_op/models.py index 5e8504b..43a9dc2 100644 --- a/comm_op/models.py +++ b/comm_op/models.py @@ -1,14 +1,25 @@ from django.db import models +from django.conf import settings +from django.utils import timezone # Create your models here. -class cr_Category(models.Model): - sName = models.CharField("Désignation", max_length=250) +class comm_opMessage(models.Model): + sKey = models.CharField("Clé d'identification", max_length=100) + sTitle = models.CharField('Titre', max_length=250) + sDesc = models.TextField('Description') + dtStart = models.DateField("Date de début", default=timezone.now) + dtEnd = models.DateField("Date de fin", blank=True, null=True) + bDone = models.BooleanField("Effectuée", default=False) + sAuthor = models.CharField("Auteur", max_length=120) + Author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name="Auteur", on_delete=models.DO_NOTHING) dtUpdated = models.DateTimeField('date updated', auto_now=True) dtCreated = models.DateTimeField('date published', auto_now_add=True) + + def __str__(self): - return self.sName + return self.sKey + " -- " + self.sTitle class Meta: - verbose_name = "catégorie" - verbose_name_plural = "catégories" \ No newline at end of file + verbose_name = "Communication importante" + verbose_name_plural = "Communications importantes" \ No newline at end of file