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:
|
||||
verbose_name = 'Heure supplémentaire'
|
||||
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']
|
||||
readonly_fields = ["userName"]
|
||||
|
@@ -7,6 +7,9 @@ from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from django.contrib import admin
|
||||
|
||||
from django.dispatch import receiver
|
||||
from django.db.models.signals import pre_save
|
||||
|
||||
#test
|
||||
|
||||
BASES_CHOICES = [
|
||||
@@ -33,7 +36,8 @@ class Collabs_hour(models.Model):
|
||||
|
||||
|
||||
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)])
|
||||
nMinutes = models.PositiveIntegerField("Minutes", default=0, validators=[MinValueValidator(0), MaxValueValidator(60)])
|
||||
sRemarques = models.TextField("Remarques", blank=True)
|
||||
@@ -86,7 +90,7 @@ class Collabs_hour(models.Model):
|
||||
ret = True
|
||||
return ret
|
||||
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:
|
||||
verbose_name = "heure supplémentaire"
|
||||
@@ -95,3 +99,18 @@ class Collabs_hour(models.Model):
|
||||
("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