Include the tabimport import utility

This commit is contained in:
Claude Paroz 2012-11-13 09:40:31 +01:00
parent 2c2b5078f8
commit e0fd4b42ea
6 changed files with 26 additions and 0 deletions

View file

@ -4,6 +4,14 @@ from __future__ import unicode_literals
from django.db import models
def is_int(s):
try:
int(s)
return True
except ValueError:
return False
class Section(models.Model):
""" Filières """
name = models.CharField(max_length=20)
@ -44,6 +52,19 @@ class Student(models.Model):
def __unicode__(self):
return '%s %s' % (self.last_name, self.first_name)
@classmethod
def prepare_import(cls, values):
''' Hook for tabimport, before new object get created '''
if 'klass' in values:
try:
k = Klass.objects.get(name=values['klass'])
except Klass.DoesNotExist:
raise Exception("La classe '%s' n'existe pas encore" % values['klass'])
values['klass'] = k
if 'city' in values and is_int(values['city'][:4]):
values['pcode'], _, values['city'] = values['city'].partition(' ')
return values
class Referent(models.Model):
first_name = models.CharField(max_length=40, verbose_name='Prénom')