diff --git a/Reskreen/settings.py b/Reskreen/settings.py index e26e9c3..7cb31af 100644 --- a/Reskreen/settings.py +++ b/Reskreen/settings.py @@ -133,6 +133,8 @@ USE_I18N = True USE_TZ = False +DATE_FORMAT = "d.m.Y" +USE_L10N = False # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/4.0/howto/static-files/ diff --git a/collabs/admin.py b/collabs/admin.py index 0418c25..8925c95 100644 --- a/collabs/admin.py +++ b/collabs/admin.py @@ -2,6 +2,7 @@ from django.contrib import admin from rangefilter.filters import DateRangeFilter from django.contrib.auth.models import User from django.db.models import Q +from django.shortcuts import render from collabs.models import * @@ -37,7 +38,6 @@ class Collabs_hour_Admin(admin.ModelAdmin): list_editable = ['bNoticed'] list_filter = [('dtDate', DateRangeFilter), ('user', admin.RelatedOnlyFieldListFilter),'sBases','type'] - search_fields = ['userName'] readonly_fields = ["userName"] diff --git a/collabs/list_pdf_export.py b/collabs/list_pdf_export.py new file mode 100644 index 0000000..fba4a89 --- /dev/null +++ b/collabs/list_pdf_export.py @@ -0,0 +1,15 @@ +from django.http import HttpResponse +from django.template.loader import get_template +from xhtml2pdf import pisa + + +def render_to_pdf(template_src, context_dict={}): + template = get_template(template_src) + html = template.render(context_dict) + response = HttpResponse(content_type='application/pdf') + pdf_status = pisa.CreatePDF(html, dest=response) + + if pdf_status.err: + return HttpResponse('Some errors were encountered
' + html + '') + + return response \ No newline at end of file diff --git a/collabs/migrations_dev/__init__.py b/collabs/migrations_dev/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/collabs/models.py b/collabs/models.py index 3b45fda..779cb14 100644 --- a/collabs/models.py +++ b/collabs/models.py @@ -10,6 +10,11 @@ from django.contrib import admin #test +BASES_CHOICES = [ + ('1', 'Monthey'), + ('2', 'Uvrier'), + ] + class Collabs_hour_types(models.Model): @@ -27,10 +32,7 @@ class Collabs_hour_types(models.Model): class Collabs_hour(models.Model): - BASES_CHOICES = [ - ('1', 'Monthey'), - ('2', 'Uvrier'), - ] + 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) @@ -50,18 +52,17 @@ class Collabs_hour(models.Model): def get_total_hour_by_user(self): #objs = Collabs_hour.objects.filter(user_id=self.user_id,dtCreated__year=self.dtCreated.year, dtCreated__month=self.dtCreated.month) objs = Collabs_hour.objects.filter(user_id=self.user_id, dtDate__year=self.dtDate.year , dtDate__month=self.dtDate.month) - print(f"user {self.user} dtCreated__year {self.dtDate.year} dtCreated__month {self.dtDate.month}") + # print(f"user {self.user} dtCreated__year {self.dtDate.year} dtCreated__month {self.dtDate.month}") #print( Collabs_hour.objects.all()) total = 0.0 for object in objs: total += object.nHour + object.nMinutes/60 - print(f"hour = {object.nHour} minutes = {object.nMinutes} = {object.nMinutes/60}") + # print(f"hour = {object.nHour} minutes = {object.nMinutes} = {object.nMinutes/60}") + - print(total) - print(objs) if total > 0.0: hours = int(total) minutes = (total*60) % 60 @@ -74,6 +75,9 @@ class Collabs_hour(models.Model): return ret_string + def get_bases_name(self): + return BASES_CHOICES[int(self.sBases)-1][1] + @admin.display(description='Présence de remarques', boolean=True) def has_remarques(self): ret = False diff --git a/collabs/templates/pdf_template.html b/collabs/templates/pdf_template.html new file mode 100644 index 0000000..9a6bd77 --- /dev/null +++ b/collabs/templates/pdf_template.html @@ -0,0 +1,58 @@ + + + + + + +
N° | +Date | +Heures | +Minutes | +Collaborateur | +Types | +Total du mois | +
---|---|---|---|---|---|---|
{{forloop.counter}} | +{{data.dtDate}} | +{{data.nHour}} | +{{data.nMinutes}} | +{{data.user}} ({{data.get_bases_name}}) | +{{data.type}} | +{{data.get_total_hour_by_user}} | +
diff --git a/templates/admin/collabs/pdf_template.html b/templates/admin/collabs/pdf_template.html new file mode 100644 index 0000000..5663bda --- /dev/null +++ b/templates/admin/collabs/pdf_template.html @@ -0,0 +1,54 @@ + +
+ + + + +N° | +Date | +Heures | +Minutes | +Collaborateur | +Types | +Total du mois | +
---|---|---|---|---|---|---|
{{forloop.counter}} | +{{data.date}} | +{{data.hours}} | +{{data.minutes}} | +{{data.user}} ({{data.bases}}) | +{{data.types}} | +{{data.total}} | +