diff --git a/stages/admin.py b/stages/admin.py index cc886b9..7b2922c 100644 --- a/stages/admin.py +++ b/stages/admin.py @@ -13,6 +13,12 @@ class StudentAdmin(admin.ModelAdmin): fields = (('last_name', 'first_name'), ('pcode', 'city'), 'birth_date', 'klass', 'archived') + def get_readonly_fields(self, request, obj=None): + if 'edit' not in request.GET: + return self.fields + else: + return self.readonly_fields + class ReferentAdmin(admin.ModelAdmin): list_display = ('__unicode__', 'abrev') @@ -93,6 +99,10 @@ class AvailabilityAdmin(admin.ModelAdmin): return super(AvailabilityAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs) +class TrainingAdmin(admin.ModelAdmin): + search_fields = ('student__first_name', 'student__last_name', 'availability__corporation__name') + + admin.site.register(Section) admin.site.register(Level) admin.site.register(Klass) @@ -103,4 +113,4 @@ admin.site.register(CorpContact, CorpContactAdmin) admin.site.register(Domain) admin.site.register(Period, PeriodAdmin) admin.site.register(Availability, AvailabilityAdmin) -admin.site.register(Training) +admin.site.register(Training, TrainingAdmin) diff --git a/stages/models.py b/stages/models.py index 4bd5a90..9c8330e 100644 --- a/stages/models.py +++ b/stages/models.py @@ -28,6 +28,7 @@ class Level(models.Model): class Meta: verbose_name = "Niveau" + verbose_name_plural = "Niveaux" def __unicode__(self): return self.name diff --git a/stages/static/js/attribution.js b/stages/static/js/attribution.js index e1dec15..28d18cf 100644 --- a/stages/static/js/attribution.js +++ b/stages/static/js/attribution.js @@ -193,8 +193,10 @@ $(document).ready(function() { // Update referent select var parsed = $('#referent_select option:selected').text().match(/(.*)\((\d+)\)/); - $('#referent_select option:selected').text(parsed[1] +' (' + (parseInt(parsed[2]) + 1) + ')'); - $('#referent_select').val(''); + if (parsed) { + $('#referent_select option:selected').text(parsed[1] +' (' + (parseInt(parsed[2]) + 1) + ')'); + $('#referent_select').val(''); + } update_trainings($('#period_select').val()); } diff --git a/stages/views.py b/stages/views.py index 27cd89a..981b359 100644 --- a/stages/views.py +++ b/stages/views.py @@ -71,7 +71,7 @@ class AttributionView(TemplateView): def section_periods(request, pk): """ Return all periods from a section (JSON) """ section = get_object_or_404(Section, pk=pk) - periods = [(p.id, p.dates) for p in section.period_set.all()] + periods = [(p.id, p.dates) for p in section.period_set.all().order_by('start_date')] return HttpResponse(json.dumps(periods), content_type="application/json") def section_classes(request, pk):