diff --git a/stages/admin.py b/stages/admin.py index ce903ce..08bb3eb 100644 --- a/stages/admin.py +++ b/stages/admin.py @@ -41,8 +41,8 @@ class CorpContactAdmin(admin.ModelAdmin): list_display = ('__str__', 'corporation', 'role') ordering = ('last_name', 'first_name') search_fields = ('last_name', 'first_name', 'role') - fields = (('corporation',), ('sections', 'is_main', 'always_cc'), - ('title', 'last_name', 'first_name'), + fields = (('corporation',), ('title', 'last_name', 'first_name'), + ('sections', 'is_main', 'always_cc', 'archived'), 'role', ('tel', 'email')) formfield_overrides = { models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple}, @@ -56,8 +56,8 @@ class CorpContactAdmin(admin.ModelAdmin): class ContactInline(admin.StackedInline): model = CorpContact - fields = (('sections', 'is_main', 'always_cc'), - ('title', 'last_name', 'first_name'), + fields = (('title', 'last_name', 'first_name'), + ('sections', 'is_main', 'always_cc', 'archived'), ('role', 'tel', 'email')) extra = 1 formfield_overrides = { @@ -139,6 +139,8 @@ class AvailabilityAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == "corporation": kwargs["queryset"] = Corporation.objects.filter(archived=False).order_by('name') + if db_field.name == "contact": + kwargs["queryset"] = CorpContact.objects.filter(archived=False) return super(AvailabilityAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) diff --git a/stages/migrations/0007_corpcontact_archived.py b/stages/migrations/0007_corpcontact_archived.py new file mode 100644 index 0000000..4fda6e5 --- /dev/null +++ b/stages/migrations/0007_corpcontact_archived.py @@ -0,0 +1,17 @@ +# Generated by Django 1.9.1 on 2016-01-18 12:37 +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('stages', '0006_corporation_parent'), + ] + + operations = [ + migrations.AddField( + model_name='corpcontact', + name='archived', + field=models.BooleanField(default=False, verbose_name='Archivé'), + ), + ] diff --git a/stages/models.py b/stages/models.py index 1509a07..916657c 100644 --- a/stages/models.py +++ b/stages/models.py @@ -152,6 +152,7 @@ class CorpContact(models.Model): role = models.CharField(max_length=40, verbose_name='Fonction', blank=True) tel = models.CharField(max_length=20, blank=True, verbose_name='Téléphone') email = models.CharField(max_length=100, blank=True, verbose_name='Courriel') + archived = models.BooleanField(default=False, verbose_name='Archivé') sections = models.ManyToManyField(Section, blank=True) class Meta: diff --git a/stages/views.py b/stages/views.py index 2df0261..1c30006 100644 --- a/stages/views.py +++ b/stages/views.py @@ -130,7 +130,7 @@ class CorpContactJSONView(ListView): return_fields = ['id', 'first_name', 'last_name', 'role', 'is_main'] def get_queryset(self): - return CorpContact.objects.filter(corporation__pk=self.kwargs['pk']) + return CorpContact.objects.filter(corporation__pk=self.kwargs['pk'], archived=False) def render_to_response(self, context): serialized = [dict([(field, getattr(obj, field)) for field in self.return_fields])