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:
@@ -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"]
|
||||||
|
@@ -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}"
|
Reference in New Issue
Block a user