Ajout champs remarks/accred/accred_from pour Corporation
This commit is contained in:
parent
acac24fce3
commit
f345ec77b4
3 changed files with 54 additions and 10 deletions
|
|
@ -332,7 +332,7 @@ class ContactInline(admin.StackedInline):
|
|||
|
||||
@admin.register(Corporation)
|
||||
class CorporationAdmin(admin.ModelAdmin):
|
||||
list_display = ('name', 'short_name', 'pcode', 'city', 'district', 'ext_id')
|
||||
list_display = ('name', 'short_name', 'pcode', 'city', 'district', 'accred_from', 'ext_id')
|
||||
list_editable = ('short_name',) # Temporarily?
|
||||
list_filter = (('archived', ArchivedListFilter),)
|
||||
search_fields = ('name', 'street', 'pcode', 'city')
|
||||
|
|
@ -345,6 +345,8 @@ class CorporationAdmin(admin.ModelAdmin):
|
|||
('pcode', 'city', 'district'),
|
||||
('tel', 'email'),
|
||||
'web',
|
||||
('accred', 'accred_from'),
|
||||
'remarks',
|
||||
'archived',
|
||||
)
|
||||
inlines = [ContactInline]
|
||||
|
|
@ -358,19 +360,25 @@ class CorporationAdmin(admin.ModelAdmin):
|
|||
"""
|
||||
Export all Corporations in Excel file.
|
||||
"""
|
||||
export_fields = OrderedDict([
|
||||
(getattr(f, 'verbose_name', f.name), f.name)
|
||||
for f in Corporation._meta.get_fields() if f.name in (
|
||||
'name', 'short_name', 'sector', 'typ', 'street', 'pcode',
|
||||
'city', 'district', 'tel', 'email', 'web', 'ext_id', 'archived'
|
||||
)
|
||||
])
|
||||
fields = [
|
||||
('name', 40), ('short_name', 19), ('sector', 11), ('typ', 10),
|
||||
('street', 25), ('pcode', 6), ('city', 18), ('district', 8),
|
||||
('tel', 14), ('email', 24), ('web', 25), ('accred', 6), ('accred_from', 8),
|
||||
('remarks', 30), ('ext_id', 8), ('archived', 6),
|
||||
]
|
||||
export_fields = {
|
||||
getattr(f, 'verbose_name', f.name): f.name
|
||||
for f in Corporation._meta.get_fields() if f.name in dict(fields)
|
||||
}
|
||||
export = OpenXMLExport('Exportation')
|
||||
export.write_line(export_fields.keys(), bold=True)
|
||||
export.write_line(
|
||||
export_fields.keys(), bold=True,
|
||||
col_widths=[dict(fields)[f] for f in export_fields.values()]
|
||||
)
|
||||
for corp in queryset.values_list(*export_fields.values()):
|
||||
values = []
|
||||
for value, field_name in zip(corp, export_fields.values()):
|
||||
if field_name == 'archived':
|
||||
if field_name in ('archived', 'accred'):
|
||||
value = 'Oui' if value else ''
|
||||
values.append(value)
|
||||
export.write_line(values)
|
||||
|
|
|
|||
26
stages/migrations/0038_corporation_accred_and_remarks.py
Normal file
26
stages/migrations/0038_corporation_accred_and_remarks.py
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('stages', '0037_student_start_educ'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='corporation',
|
||||
name='accred',
|
||||
field=models.BooleanField(default=False, verbose_name='Accréditation'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='corporation',
|
||||
name='accred_from',
|
||||
field=models.PositiveSmallIntegerField(blank=True, choices=[(2024, '2024'), (2025, '2025'), (2026, '2026'), (2027, '2027'), (2028, '2028')], null=True, verbose_name='Depuis'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='corporation',
|
||||
name='remarks',
|
||||
field=models.TextField(blank=True, verbose_name='Remarques'),
|
||||
),
|
||||
]
|
||||
|
|
@ -446,6 +446,13 @@ class StudentFile(models.Model):
|
|||
|
||||
|
||||
class Corporation(models.Model):
|
||||
YEAR_CHOICES = (
|
||||
(2024, "2024"),
|
||||
(2025, "2025"),
|
||||
(2026, "2026"),
|
||||
(2027, "2027"),
|
||||
(2028, "2028"),
|
||||
)
|
||||
ext_id = models.IntegerField(null=True, blank=True, verbose_name='ID externe')
|
||||
name = models.CharField(max_length=100, verbose_name='Nom')
|
||||
short_name = models.CharField(max_length=40, blank=True, verbose_name='Nom court')
|
||||
|
|
@ -460,6 +467,9 @@ class Corporation(models.Model):
|
|||
tel = models.CharField(max_length=20, blank=True, verbose_name='Téléphone')
|
||||
email = models.EmailField(blank=True, verbose_name='Courriel')
|
||||
web = models.URLField(blank=True, verbose_name='Site Web')
|
||||
accred = models.BooleanField("Accréditation", default=False)
|
||||
accred_from = models.PositiveSmallIntegerField("Depuis", choices=YEAR_CHOICES, blank=True, null=True)
|
||||
remarks = models.TextField("Remarques", blank=True)
|
||||
archived = models.BooleanField(default=False, verbose_name='Archivé')
|
||||
|
||||
class Meta:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue