diff --git a/stages/admin.py b/stages/admin.py index 39239aa..295e1a3 100644 --- a/stages/admin.py +++ b/stages/admin.py @@ -1,3 +1,6 @@ +# -*- encoding: utf-8 -*- +from __future__ import unicode_literals + from django import forms from django.contrib import admin from django.db import models @@ -18,6 +21,11 @@ class StudentAdmin(admin.ModelAdmin): search_fields = ('last_name', 'first_name', 'pcode', 'city', 'klass__name') fields = (('last_name', 'first_name'), 'street', ('pcode', 'city'), 'email', ('tel', 'mobile'), 'birth_date', 'klass', 'archived') + actions = ['archive'] + + def archive(self, request, queryset): + queryset.update(archived=True) + archive.short_description = "Marquer les étudiants sélectionnés comme archivés" '''def get_readonly_fields(self, request, obj=None): if 'edit' not in request.GET: diff --git a/stages/models.py b/stages/models.py index 8d23ace..5ec405d 100644 --- a/stages/models.py +++ b/stages/models.py @@ -88,8 +88,10 @@ class Student(models.Model): except Klass.DoesNotExist: raise Exception("La classe '%s' n'existe pas encore" % values['klass']) values['klass'] = k + # See if postal code included in city, and split them if 'city' in values and is_int(values['city'][:4]): values['pcode'], _, values['city'] = values['city'].partition(' ') + values['archived'] = False return values