From: yomguy Date: Mon, 28 Nov 2011 22:02:59 +0000 (+0100) Subject: Merge branch 'master' into crem X-Git-Tag: 1.3.9~3^2~1^2~20 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=a001dc08470bd123e40856d2b014e3b1049f9145;p=telemeta.git Merge branch 'master' into crem Conflicts: telemeta/models/media.py --- a001dc08470bd123e40856d2b014e3b1049f9145 diff --cc telemeta/models/media.py index b55725e9,5ce5d17e..cb64851e --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@@ -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._-]*' ++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 = '[A-Za-z0-9._-]*' -item_unpublished_code_regex = '[A-Za-z0-9._-]*' ++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"