From: yomguy Date: Tue, 18 Oct 2011 19:15:21 +0000 (-0700) Subject: fix blank item.code (now recorded as None, not '') X-Git-Tag: 1.1~42 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=86d17e9edfd7ce212d2dbb226f8018909e14bd4d;p=telemeta.git fix blank item.code (now recorded as None, not '') --- diff --git a/telemeta/models/media.py b/telemeta/models/media.py index 8a710000..b20d7caa 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -258,8 +258,8 @@ class MediaItem(MediaResource): collector_from_collection = BooleanField(_('recordist as in collection')) # Archiving data - code = CharField(_('code'), unique=True, null=True) - old_code = CharField(_('old code'), unique=False, null=True, blank=True) + code = CharField(_('code'), unique=True, blank=True) + old_code = CharField(_('old code'), unique=False, blank=True) track = CharField(_('item number')) creator_reference = CharField(_('reference')) external_references = TextField(_('published references')) @@ -325,9 +325,12 @@ class MediaItem(MediaResource): return title + class MediaItemForm(ModelForm): class Meta: model = MediaItem + def clean_code(self): + return self.cleaned_data['code'] or None class MediaItemKeyword(ModelCore): "Item keyword" diff --git a/telemeta/web/base.py b/telemeta/web/base.py index e309eaf8..db2ae0da 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -517,10 +517,10 @@ class ItemView(object): if request.method == 'POST': form = MediaItemForm(data=request.POST, files=request.FILES, instance=item) if form.is_valid(): + form.save() code = form.cleaned_data['code'] if not code: - code = public_id - form.save() + code = str(item.id) if form.files: self.cache_data.delete_item_data(code) self.cache_export.delete_item_data(code) @@ -553,11 +553,11 @@ class ItemView(object): if request.method == 'POST': form = MediaItemForm(data=request.POST, files=request.FILES, instance=item) if form.is_valid(): - code = form.cleaned_data['code'] - if not code: - code = public_id form.save() item.set_revision(request.user) + code = form.cleaned_data['code'] + if not code: + code = str(item.id) return HttpResponseRedirect('/items/'+code) else: form = MediaItemForm(instance=item) @@ -571,10 +571,10 @@ class ItemView(object): new_item = MediaItem() form = MediaItemForm(data=request.POST, files=request.FILES, instance=new_item) if form.is_valid(): + form.save() code = form.cleaned_data['code'] if not code: - code = public_id - form.save() + code = str(new_item.id) new_item.set_revision(request.user) return HttpResponseRedirect('/items/'+code) else: