diff --git a/stages/admin.py b/stages/admin.py index 0c4b660..2f9efdc 100644 --- a/stages/admin.py +++ b/stages/admin.py @@ -245,6 +245,7 @@ class CorpContactAdmin(admin.ModelAdmin): fields = (('civility', 'last_name', 'first_name'), ('street', 'pcode', 'city'), ('birth_date', 'nation'), + ('etat_civil', 'etat_depuis'), ('permis_sejour', 'date_validite'), ('corporation',), ('sections', 'is_main', 'always_cc', 'archived'), diff --git a/stages/migrations/0036_corpcontact_etat_civil.py b/stages/migrations/0036_corpcontact_etat_civil.py new file mode 100644 index 0000000..b06be06 --- /dev/null +++ b/stages/migrations/0036_corpcontact_etat_civil.py @@ -0,0 +1,21 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('stages', '0035_contact_permis_sejour'), + ] + + operations = [ + migrations.AddField( + model_name='corpcontact', + name='etat_civil', + field=models.CharField(blank=True, max_length=20, verbose_name='État-civil'), + ), + migrations.AddField( + model_name='corpcontact', + name='etat_depuis', + field=models.DateField(blank=True, null=True, verbose_name='Depuis le'), + ), + ] diff --git a/stages/models.py b/stages/models.py index 16f749f..e9f9c46 100644 --- a/stages/models.py +++ b/stages/models.py @@ -485,6 +485,8 @@ class CorpContact(models.Model): last_name = models.CharField(max_length=40, verbose_name='Nom') birth_date = models.DateField(blank=True, null=True, verbose_name='Date de naissance') nation = models.CharField("Nationalité", max_length=40, blank=True) + etat_civil = models.CharField("État-civil", max_length=20, blank=True) + etat_depuis = models.DateField("Depuis le", blank=True, null=True) role = models.CharField(max_length=40, blank=True, verbose_name='Fonction') street = models.CharField(max_length=100, blank=True, verbose_name='Rue') pcode = models.CharField(max_length=4, blank=True, verbose_name='Code postal') diff --git a/stages/pdf.py b/stages/pdf.py index d862824..08be45a 100644 --- a/stages/pdf.py +++ b/stages/pdf.py @@ -29,9 +29,7 @@ style_smallx = PS(name='CORPS', fontName="Helvetica-BoldOblique", fontSize=6, al LOGO_EPC = find('img/logo_EPC.png') LOGO_ESNE = find('img/logo_ESNE.png') LOGO_EPC_LONG = find('img/header.gif') -LOGO_CIFOM = find('img/logo_CIFOM.png') -LOGO_CPLN = find('img/logo_CPLN.jpg') -LOGO_CPMB = find('img/logo_CPMB.png') +LOGO_CPNE = find('img/logo_CPNE.jpg') class HorLine(Flowable): @@ -55,10 +53,10 @@ class EpcBaseDocTemplate(SimpleDocTemplate): super().__init__( filelike, pagesize=A4, - lefMargin=2.5 * cm, bottomMargin=1 * cm, topMargin=1 * cm, rightMargin=2.5 * cm + lefMargin=2.5 * cm, bottomMargin=1 * cm, topMargin=0 * cm, rightMargin=2.5 * cm ) self.page_frame = Frame( - self.leftMargin, self.bottomMargin, self.width - 2.5, self.height - 3 * cm, + self.leftMargin, self.bottomMargin, self.width - 2.5, self.height - 2.15 * cm, id='first_table', showBoundary=0, leftPadding=0 * cm ) self.story = [] @@ -80,18 +78,12 @@ class EpcBaseDocTemplate(SimpleDocTemplate): footer.drawOn(canvas, doc.leftMargin, h) canvas.restoreState() - def header_cifom(self, canvas, doc): + def header_cpne(self, canvas, doc): canvas.saveState() top = doc.height - 1.5 * cm logo_height = 1.5 * cm canvas.drawImage( - LOGO_CIFOM, doc.leftMargin, top, 1.7 * cm, logo_height, preserveAspectRatio=True - ) - canvas.drawImage( - LOGO_CPLN, doc.leftMargin + 2.4 * cm, top, 1.5 * cm, logo_height, preserveAspectRatio=True - ) - canvas.drawImage( - LOGO_CPMB, doc.leftMargin + 4.6 * cm, top, 3.6 * cm, logo_height, preserveAspectRatio=True + LOGO_CPNE, doc.leftMargin, top, 7.5 * cm, logo_height, preserveAspectRatio=True ) canvas.restoreState() @@ -301,7 +293,7 @@ class CompensationForm: self.story.append(Spacer(0, 0.2 * cm)) quest_url = 'https://edus2.rpn.ch/DocumentsRHPersonnelEcolesPro/Formulaire%20imp%C3%B4t%20%C3%A0%20la%20source%202021.pdf' data = [ - [self.formating('CENTRE/ECOLE :', style=style_normal), 'École Santé-social Pierre-Coullery', '', ''], + [self.formating('PÔLE :', style=style_normal), 'École Santé-social Pierre-Coullery', '', ''], [Paragraph('COORDONNÉES PERSONNELLES :', style=style_bold_italic), '', '', ''], [self.formating('Nom : '), person.last_name or self.points, self.formating('N° de téléphone :'), person.tel or ''], [self.formating('Prénom :'), person.first_name or self.points, self.formating('N° AVS :'), person.avs or ''], @@ -312,7 +304,8 @@ class CompensationForm: [ self.formating('Date de naissance :'), django_format(person.birth_date, 'j F Y') if person.birth_date else '', - self.formating('État civil :'), self.formating('Depuis le :'), + self.formating(f'État civil : {person.etat_civil or ""}'), + self.formating(f'Depuis le : %s' % django_format(person.etat_depuis, 'j F Y') if person.etat_depuis else ''), ], [ self.formating('Nationalité :'), person.nation or '', @@ -328,8 +321,8 @@ class CompensationForm: style=style_bold_italic), '', '', ''], [Paragraph('COORDONNÉES DE PAIEMENT :', style=style_bold_italic), '', '', ''], - [Paragraph('N° de ccp ou compte bancaire (IBAN) :', style_normal), person.iban or '', '', ''], - [Paragraph('Si banque, nom et adresse de celle-ci :', style_normal), person.bank or '', '', ''], + [Paragraph('N° de ccp ou compte bancaire (IBAN) :', style_normal), '', person.iban or ''], + [Paragraph('Si banque, nom et adresse de celle-ci :', style_normal), '', person.bank or ''], ] t = Table(data, colWidths=[3.5 * cm, 4 * cm, 3 * cm, 5.5 * cm], hAlign=TA_LEFT) @@ -347,6 +340,8 @@ class CompensationForm: ('SPAN', (0, 11), (-1, 11)), # infos permis ('SPAN', (0, 12), (-1, 12)), # coord paiement ('TOPPADDING', (0, 12), (-1, 12), 14), # coord paiement + ('SPAN', (0, 13), (1, 13)), # ccp/IBAN + ('SPAN', (0, 14), (1, 14)), # banque ])) self.story.append(t) self.story.append(Spacer(0, 0.5 * cm)) @@ -426,7 +421,7 @@ class ExpertEdeLetterPdf(CompensationForm, EpcBaseDocTemplate): super().__init__(out) self.addPageTemplates([ PageTemplate(id='FirstPage', frames=[self.page_frame], onPage=self.header), - PageTemplate(id='ISOPage', frames=[self.page_frame], onPage=self.header_cifom), + PageTemplate(id='ISOPage', frames=[self.page_frame], onPage=self.header_cpne), ]) def exam_data(self): @@ -527,7 +522,7 @@ class CompensationPDFForm(CompensationForm, EpcBaseDocTemplate): def __init__(self, out, *args, **kwargs): super().__init__(out, *args, **kwargs) self.addPageTemplates([ - PageTemplate(id='FirstPage', frames=[self.page_frame], onPage=self.header_cifom) + PageTemplate(id='FirstPage', frames=[self.page_frame], onPage=self.header_cpne) ]) def produce(self): diff --git a/stages/static/img/logo_CIFOM.png b/stages/static/img/logo_CIFOM.png deleted file mode 100644 index 96c1502..0000000 Binary files a/stages/static/img/logo_CIFOM.png and /dev/null differ diff --git a/stages/static/img/logo_CPLN.jpg b/stages/static/img/logo_CPLN.jpg deleted file mode 100644 index aa9c287..0000000 Binary files a/stages/static/img/logo_CPLN.jpg and /dev/null differ diff --git a/stages/static/img/logo_CPMB.png b/stages/static/img/logo_CPMB.png deleted file mode 100644 index f1e537d..0000000 Binary files a/stages/static/img/logo_CPMB.png and /dev/null differ diff --git a/stages/static/img/logo_CPNE.jpg b/stages/static/img/logo_CPNE.jpg new file mode 100644 index 0000000..5a6854f Binary files /dev/null and b/stages/static/img/logo_CPNE.jpg differ