diff --git a/stages/admin.py b/stages/admin.py
index e7b6ebb..dc06d43 100644
--- a/stages/admin.py
+++ b/stages/admin.py
@@ -360,7 +360,7 @@ class PeriodAdmin(admin.ModelAdmin):
class AvailabilityAdmin(admin.ModelAdmin):
- list_display = ('corporation', 'period', 'domain')
+ list_display = ('corporation', 'period', 'domain', 'contact')
list_filter = ('period',)
fields = (('corporation', 'period'), 'domain', 'contact', 'priority', 'comment')
form = AvailabilityAdminForm
@@ -370,7 +370,7 @@ class AvailabilityAdmin(admin.ModelAdmin):
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)
+ return super().formfield_for_foreignkey(db_field, request, **kwargs)
class TrainingAdmin(admin.ModelAdmin):
diff --git a/stages/static/js/avail_form.js b/stages/static/js/avail_form.js
index 42e6f81..31c9e00 100644
--- a/stages/static/js/avail_form.js
+++ b/stages/static/js/avail_form.js
@@ -2,11 +2,13 @@ django.jQuery(document).ready(function() {
django.jQuery('#id_corporation, .field-corporation select').change(function(ev) {
// Fill contact select
// Either in availability admin, or in stages admin with availability inlines
+ if (this.id == 'id_period') return;
if (this.id == 'id_corporation') var sel = django.jQuery('#id_contact');
else var sel = django.jQuery(this).closest('fieldset').find('.field-contact select');
- sel.html('');
var id_corp = django.jQuery("option:selected", this).val();
django.jQuery.getJSON('/corporation/' + id_corp + '/contacts/', function(data) {
+ if (data.length && data[0].corporation_id == id_corp) return
+ sel.html('');
django.jQuery.each(data, function(key, contact) {
var item = contact.first_name + ' ' + contact.last_name;
if (contact.role.length) item += ' (' + contact.role + ')';
diff --git a/stages/views/__init__.py b/stages/views/__init__.py
index 88ef08d..64280f5 100644
--- a/stages/views/__init__.py
+++ b/stages/views/__init__.py
@@ -243,7 +243,7 @@ class TrainingsByPeriodView(ListView):
class CorpContactJSONView(ListView):
""" Return all contacts from a given corporation """
- return_fields = ['id', 'first_name', 'last_name', 'role', 'is_main']
+ return_fields = ['id', 'first_name', 'last_name', 'role', 'is_main', 'corporation_id']
def get_queryset(self):
return CorpContact.objects.filter(corporation__pk=self.kwargs['pk'], archived=False)