Changement module heures supplémentaire

Les heures supple sont maintenant supprimable en cascade avec user, utilisation d'un string mémoire
This commit is contained in:
Ambulance Clerc
2023-05-31 16:16:09 +02:00
parent c8d1b5caad
commit f51db5ae8e
2 changed files with 23 additions and 4 deletions

View File

@@ -35,9 +35,9 @@ class Collabs_hour_Admin(admin.ModelAdmin):
class Meta: class Meta:
verbose_name = 'Heure supplémentaire' verbose_name = 'Heure supplémentaire'
verbose_name_plural = 'Heures supplémentaires' verbose_name_plural = 'Heures supplémentaires'
list_display = ('dtDate', 'nHour', 'nMinutes', 'user', 'sBases', 'type', 'get_total_hour_by_user', 'has_remarques', 'bNoticed') list_display = ('dtDate', 'nHour', 'nMinutes', 'sTargetUser', 'sBases', 'type', 'get_total_hour_by_user', 'has_remarques', 'bNoticed')
list_filter = [('dtDate', DateRangeFilter), ('user', admin.RelatedOnlyFieldListFilter),'sBases','type', 'bNoticed'] list_filter = [('dtDate', DateRangeFilter), 'sTargetUser','sBases','type', 'bNoticed']
search_fields = ['userName'] search_fields = ['userName']
readonly_fields = ["userName"] readonly_fields = ["userName"]

View File

@@ -7,6 +7,9 @@ from django.conf import settings
from django.utils import timezone from django.utils import timezone
from django.contrib import admin from django.contrib import admin
from django.dispatch import receiver
from django.db.models.signals import pre_save
#test #test
BASES_CHOICES = [ BASES_CHOICES = [
@@ -33,7 +36,8 @@ class Collabs_hour(models.Model):
userName = models.CharField("Auteur", max_length=100) userName = models.CharField("Auteur", max_length=100)
user = models.ForeignKey(settings.AUTH_USER_MODEL, limit_choices_to={'groups__name': "Intervenants"}, verbose_name="Collaborateur", on_delete=models.DO_NOTHING) user = models.ForeignKey(settings.AUTH_USER_MODEL, limit_choices_to={'groups__name': "Intervenants"}, verbose_name="Collaborateur", on_delete=models.SET_NULL, null=True)
sTargetUser = models.CharField("Collaborateur", blank=True, max_length=150, null=True, default="")
nHour = models.PositiveIntegerField("Heures", default=0, validators=[MinValueValidator(0), MaxValueValidator(23)]) nHour = models.PositiveIntegerField("Heures", default=0, validators=[MinValueValidator(0), MaxValueValidator(23)])
nMinutes = models.PositiveIntegerField("Minutes", default=0, validators=[MinValueValidator(0), MaxValueValidator(60)]) nMinutes = models.PositiveIntegerField("Minutes", default=0, validators=[MinValueValidator(0), MaxValueValidator(60)])
sRemarques = models.TextField("Remarques", blank=True) sRemarques = models.TextField("Remarques", blank=True)
@@ -86,7 +90,7 @@ class Collabs_hour(models.Model):
ret = True ret = True
return ret return ret
def __str__(self): def __str__(self):
return f"Heure supplémentaire: {self.user} : {self.dtCreated.strftime('%d.%m.%Y')} " return f"Heure supplémentaire: {self.sTargetUser} : {self.dtCreated.strftime('%d.%m.%Y')} "
class Meta: class Meta:
verbose_name = "heure supplémentaire" verbose_name = "heure supplémentaire"
@@ -95,3 +99,18 @@ class Collabs_hour(models.Model):
("can_notice", "Peut noter comme traitée"), ("can_notice", "Peut noter comme traitée"),
) )
all = Collabs_hour.objects.all()
for item in all:
print(item)
item.sTargetUser = "testDEV"
if item.user is not None:
item.sTargetUser = f"{item.user.first_name} {item.user.last_name}"
item.save()
@receiver(pre_save, sender=Collabs_hour)
def on_update(instance,**kwargs):
if instance.user is not None:
instance.sTargetUser = f"{instance.user.first_name} {instance.user.last_name}"