From a0bcc21475f5770dc8489045e7c0d70c9e6d2308 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Fri, 23 Aug 2013 16:41:51 +0200 Subject: [PATCH] Add archive action and 'desarchive' on import --- stages/admin.py | 8 ++++++++ stages/models.py | 2 ++ 2 files changed, 10 insertions(+) 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