]> git.parisson.com Git - telemeta.git/commitdiff
Merge branch 'master' into crem
authoryomguy <yomguy@parisson.com>
Mon, 28 Nov 2011 22:02:59 +0000 (23:02 +0100)
committeryomguy <yomguy@parisson.com>
Mon, 28 Nov 2011 22:02:59 +0000 (23:02 +0100)
Conflicts:
telemeta/models/media.py

1  2 
telemeta/models/media.py

index b55725e9f7b8d1d537a97d84b8b8c0d4e7040158,5ce5d17e1fce9da26656cd11dbd22d0900bb4e48..cb64851e59027865ef0a4df5388f0010ea6be0ab
@@@ -51,6 -51,16 +51,16 @@@ from telemeta.models.enum import 
  from django.forms import ModelForm
  from django.db.models.fields import URLField
  
 -collection_published_code_regex   = '[A-Za-z0-9._-]*'
 -collection_unpublished_code_regex = '[A-Za-z0-9._-]*'
+         
 -item_published_code_regex    = '[A-Za-z0-9._-]*'
 -item_unpublished_code_regex  = '[A-Za-z0-9._-]*'
++collection_published_code_regex   = 'CNRSMH_E_[0-9]{4}(?:_[0-9]{3}){2}'
++collection_unpublished_code_regex = 'CNRSMH_I_[0-9]{4}_[0-9]{3}'
+ collection_code_regex             = '(?:%s|%s)' % (collection_published_code_regex, 
+                                                     collection_unpublished_code_regex)
++item_published_code_regex    = collection_published_code_regex + '(?:_[0-9]{2,3}){1,2}'
++item_unpublished_code_regex  = collection_unpublished_code_regex + '_[0-9]{2,3}(?:_[0-9]{2,3}){0,2}'
+ item_code_regex              = '(?:%s|%s)' % (item_published_code_regex, item_unpublished_code_regex)
  
  class MediaResource(ModelCore):
      "Base class of all media objects"
@@@ -106,13 -116,24 +116,24 @@@ class MediaCorpus(MediaResource)
  class MediaCorpusForm(ModelForm):
      class Meta:
          model = MediaCorpus
 -
 +        
-         
  
- collection_published_code_regex   = 'CNRSMH_E_[0-9]{4}(?:_[0-9]{3}){2}'
- collection_unpublished_code_regex = 'CNRSMH_I_[0-9]{4}_[0-9]{3}'
- collection_code_regex             = '(?:%s|%s)' % (collection_published_code_regex, 
-                                                     collection_unpublished_code_regex)
+ class MediaCorpusCollectionRelation(ModelCore):
+     "Relations between Corpus and Collections"
+     
+     collection        = ForeignKey('MediaCollection', related_name="parent_relation", 
+                                    verbose_name=_('collection'))
+     corpus            = ForeignKey('MediaCorpus', related_name="child_relation", 
+                                    verbose_name=_('corpus'))
+     class Meta(MetaCore):
+         db_table = 'media_corpus_collection_relations'
+         unique_together = (('collection', 'corpus'),)
+     
+     def __unicode__(self):
+         sep = ' > '
+         return self.corpus.code + sep + self.collection.code
                                                          
  class MediaCollection(MediaResource):
      "Describe a collection of items"