From 8e814615589db676e049893e87201a380721b75f Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 20 Jan 2017 16:12:59 +0100 Subject: [PATCH] Exclude IpAuth FTM, use some native charfield, fix collection validation function --- app/settings.py | 2 +- telemeta/models/collection.py | 14 ++++++++------ telemeta/models/corpus.py | 1 + telemeta/models/fields.py | 6 ------ telemeta/models/fonds.py | 1 + telemeta/models/resource.py | 10 +++++----- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/app/settings.py b/app/settings.py index 5115889b..a56fd02b 100644 --- a/app/settings.py +++ b/app/settings.py @@ -159,7 +159,7 @@ INSTALLED_APPS = ( 'sorl.thumbnail', 'timezones', 'jqchat', - 'ipauth', + # 'ipauth', 'extra_views', 'debug_toolbar', 'bootstrap3', diff --git a/telemeta/models/collection.py b/telemeta/models/collection.py index 419d765c..60a6eb55 100644 --- a/telemeta/models/collection.py +++ b/telemeta/models/collection.py @@ -40,17 +40,19 @@ collection_unpublished_code_regex = getattr(settings, 'COLLECTION_UNPUBLISHED_CO collection_code_regex = '(?:%s|%s)' % (collection_published_code_regex, collection_unpublished_code_regex) + +def is_valid_collection_code(value): + "Check if the collection code is well formed" + regex = '^' + collection_code_regex + '$' + if not re.match(regex, value): + raise ValidationError(u'%s is not a valid collection code' % value) + + class MediaCollection(MediaResource): "Describe a collection of items" element_type = 'collection' - def is_valid_collection_code(value): - "Check if the collection code is well formed" - regex = '^' + collection_code_regex + '$' - if not re.match(regex, value): - raise ValidationError(u'%s is not a valid collection code' % value) - # General informations title = CharField(_('title'), required=True) alt_title = CharField(_('original title / translation')) diff --git a/telemeta/models/corpus.py b/telemeta/models/corpus.py index ffd0ea20..f7a06b56 100644 --- a/telemeta/models/corpus.py +++ b/telemeta/models/corpus.py @@ -36,6 +36,7 @@ class MediaCorpus(MediaBaseResource): children = models.ManyToManyField(MediaCollection, related_name="corpus", verbose_name=_('collections'), blank=True) + recorded_from_year = IntegerField(_('recording year (from)'), help_text=_('YYYY')) recorded_to_year = IntegerField(_('recording year (until)'), help_text=_('YYYY')) diff --git a/telemeta/models/fields.py b/telemeta/models/fields.py index 3616ca88..8629d043 100644 --- a/telemeta/models/fields.py +++ b/telemeta/models/fields.py @@ -228,12 +228,6 @@ class CharField(models.CharField): kwargs['max_length'] = 250 super(CharField, self).__init__(*args, **normalize_field(kwargs, '')) - def deconstruct(self): - name, path, args, kwargs = super(CharField, self).deconstruct() - print kwargs - del kwargs["max_length"] - return name, path, args, kwargs - class IntegerField(models.IntegerField): """IntegerField normalized with normalize_field()""" diff --git a/telemeta/models/fonds.py b/telemeta/models/fonds.py index e5b8dc13..a46dcef0 100644 --- a/telemeta/models/fonds.py +++ b/telemeta/models/fonds.py @@ -26,6 +26,7 @@ from django.utils.translation import ugettext_lazy as _ from telemeta.models.core import * from telemeta.models.resource import * from telemeta.models.corpus import * +from django.db import models class MediaFonds(MediaBaseResource): diff --git a/telemeta/models/resource.py b/telemeta/models/resource.py index 54c1031e..9fe346f3 100644 --- a/telemeta/models/resource.py +++ b/telemeta/models/resource.py @@ -58,11 +58,11 @@ class MediaResource(ModelCore): class MediaBaseResource(MediaResource): "Describe a media base resource" - title = CharField(_('title'), required=True) - description = CharField(_('description_old')) - descriptions = TextField(_('description')) - code = CharField(_('code'), unique=True, required=True) - public_access = CharField(_('public access'), choices=PUBLIC_ACCESS_CHOICES, max_length=16, default="metadata") + title = models.CharField(_('title'), max_length=250) + description = models.CharField(_('description_old'), max_length=250, blank=True, null=True) + descriptions = models.TextField(_('description'), blank=True) + code = models.CharField(_('code'), unique=True, max_length=250) + public_access = models.CharField(_('public access'), choices=PUBLIC_ACCESS_CHOICES, max_length=16, default="metadata") def __unicode__(self): return self.code -- 2.39.5