Add Student.supervisor and mentor

This commit is contained in:
Claude Paroz 2018-02-14 18:13:22 +01:00
parent f5a2e7f1ab
commit fa96b75e9f
3 changed files with 34 additions and 1 deletions

View file

@ -95,6 +95,7 @@ class StudentAdmin(admin.ModelAdmin):
ordering = ('last_name', 'first_name')
list_filter = (('archived', ArchivedListFilter), ('klass', KlassRelatedListFilter))
search_fields = ('last_name', 'first_name', 'pcode', 'city', 'klass__name')
autocomplete_fields = ('corporation', 'instructor', 'supervisor', 'mentor')
readonly_fields = ('report_sem1_sent', 'report_sem2_sent')
fields = (('last_name', 'first_name', 'ext_id'), ('street', 'pcode', 'city', 'district'),
('email', 'tel', 'mobile'), ('gender', 'avs', 'birth_date'),
@ -102,7 +103,7 @@ class StudentAdmin(admin.ModelAdmin):
('klass', 'option_ase'),
('report_sem1', 'report_sem1_sent'),
('report_sem2', 'report_sem2_sent'),
('corporation', 'instructor'))
('corporation', 'instructor', 'supervisor', 'mentor'))
actions = ['archive']
def archive(self, request, queryset):
@ -130,6 +131,9 @@ class CorpContactAdmin(admin.ModelAdmin):
form.base_fields['sections'].widget.can_add_related = False
return form
def get_search_results(self, request, qs, term):
qs, distinct = super().get_search_results(request, qs, term)
return qs.exclude(archived=True), distinct
class ContactInline(admin.StackedInline):
model = CorpContact
@ -152,6 +156,10 @@ class CorporationAdmin(admin.ModelAdmin):
'street', ('pcode', 'city'), ('tel', 'email'), 'web', 'archived')
inlines = [ContactInline]
def get_search_results(self, request, qs, term):
qs, distinct = super().get_search_results(request, qs, term)
return qs.exclude(archived=True), distinct
class AvailabilityAdminForm(forms.ModelForm):
"""

View file

@ -0,0 +1,21 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('stages', '0005_extend_student_avs'),
]
operations = [
migrations.AddField(
model_name='student',
name='mentor',
field=models.ForeignKey(blank=True, null=True, on_delete=models.deletion.SET_NULL, related_name='rel_mentor', to='stages.CorpContact', verbose_name='Mentor'),
),
migrations.AddField(
model_name='student',
name='supervisor',
field=models.ForeignKey(blank=True, null=True, on_delete=models.deletion.SET_NULL, related_name='rel_supervisor', to='stages.CorpContact', verbose_name='Superviseur'),
),
]

View file

@ -178,6 +178,10 @@ class Student(models.Model):
on_delete=models.SET_NULL, verbose_name='Employeur')
instructor = models.ForeignKey('CorpContact', null=True, blank=True,
on_delete=models.SET_NULL, verbose_name='FEE/FPP')
supervisor = models.ForeignKey('CorpContact', related_name='rel_supervisor', verbose_name='Superviseur',
null=True, blank=True, on_delete=models.SET_NULL)
mentor = models.ForeignKey('CorpContact', related_name='rel_mentor', verbose_name='Mentor',
null=True, blank=True, on_delete=models.SET_NULL)
klass = models.ForeignKey(Klass, verbose_name='Classe', blank=True, null=True,
on_delete=models.PROTECT)
report_sem1 = models.FileField('Bulletin 1er sem.', null=True, blank=True, upload_to='bulletins')