]> git.parisson.com Git - telemeta.git/commitdiff
fix blank item.code (now recorded as None, not '')
authoryomguy <yomguy@parisson.com>
Tue, 18 Oct 2011 19:15:21 +0000 (12:15 -0700)
committeryomguy <yomguy@parisson.com>
Tue, 18 Oct 2011 19:15:21 +0000 (12:15 -0700)
telemeta/models/media.py
telemeta/web/base.py

index 8a7100008bb386156b848641232f399f5450414d..b20d7caa0fe3c00eb2f2a4008aa9020f8d71e904 100644 (file)
@@ -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"
index e309eaf8a2154746997f5b24c9b95fa8f6d9490c..db2ae0da2aafd8feb12997bf787fe557ad9d4655 100644 (file)
@@ -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: