Ajout du module comm_op

This commit is contained in:
Ambulance Clerc
2023-10-10 18:29:45 +02:00
parent 28042c851a
commit 7d37cfd1df
3 changed files with 56 additions and 5 deletions

View File

@@ -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)

View File

@@ -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"

View File

@@ -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"
verbose_name = "Communication importante"
verbose_name_plural = "Communications importantes"