From fee90af742550677493d7ddda10a4a1832432b68 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 26 Jan 2012 17:09:12 +0100 Subject: [PATCH] build corpus and fund with ManyToManyField, rename web to views --- example/sandbox_sqlite/settings.py | 2 +- telemeta/admin.py | 10 +-- telemeta/htdocs/css/telemeta.css | 5 +- telemeta/models/media.py | 107 ++++++++++++++--------------- telemeta/urls.py | 2 +- telemeta/views/__init__.py | 1 + telemeta/{web => views}/base.py | 2 +- telemeta/{web => views}/pages.py | 0 telemeta/web/__init__.py | 3 - 9 files changed, 58 insertions(+), 74 deletions(-) create mode 100644 telemeta/views/__init__.py rename telemeta/{web => views}/base.py (99%) rename telemeta/{web => views}/pages.py (100%) delete mode 100644 telemeta/web/__init__.py diff --git a/example/sandbox_sqlite/settings.py b/example/sandbox_sqlite/settings.py index 4d8e6166..f3fb8e41 100644 --- a/example/sandbox_sqlite/settings.py +++ b/example/sandbox_sqlite/settings.py @@ -64,7 +64,7 @@ MEDIA_URL = '/media/' # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a # trailing slash. # Examples: "http://foo.com/media/", "/media/". -ADMIN_MEDIA_PREFIX = 'http://localhost/django/media/' +ADMIN_MEDIA_PREFIX = 'http://localhost/django/media/admin/' # Make this unique, and don't share it with anybody. SECRET_KEY = 'a8l7%06wr2k+3=%#*#@#rvop2mmzko)44%7k(zx%lls^ihm9^5' diff --git a/telemeta/admin.py b/telemeta/admin.py index 1ac11338..c57291c6 100644 --- a/telemeta/admin.py +++ b/telemeta/admin.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from telemeta.models.media import * from telemeta.models.instrument import * from telemeta.models.location import * @@ -14,16 +15,10 @@ class MediaCorpusAdmin(admin.ModelAdmin): search_fields = ['title', 'code'] ordering = ['code'] -class MediaFundCorpusRelationAdmin(admin.ModelAdmin): - pass - class MediaCollectionAdmin(admin.ModelAdmin): search_fields = ['title', 'code'] ordering = ['code'] -class MediaCorpusCollectionRelationAdmin(admin.ModelAdmin): - pass - class MediaCollectionRelatedAdmin(admin.ModelAdmin): search_fields = ['title', 'description'] @@ -85,9 +80,6 @@ admin.site.register(MediaPart, MediaPartAdmin) admin.site.register(MediaItemRelated, MediaItemRelatedAdmin) admin.site.register(MediaCollectionRelated, MediaCollectionRelatedAdmin) -admin.site.register(MediaFundCorpusRelation, MediaFundCorpusRelationAdmin) -admin.site.register(MediaCorpusCollectionRelation, MediaCorpusCollectionRelationAdmin) - admin.site.register(Instrument, InstrumentAdmin) admin.site.register(InstrumentAlias, InstrumentAliasAdmin) admin.site.register(InstrumentRelation, InstrumentRelationAdmin) diff --git a/telemeta/htdocs/css/telemeta.css b/telemeta/htdocs/css/telemeta.css index 121d8b49..6409121b 100644 --- a/telemeta/htdocs/css/telemeta.css +++ b/telemeta/htdocs/css/telemeta.css @@ -1047,12 +1047,11 @@ a.image-link { .list_item, .list_item:visited, .list_item:hover{ display:block; - color:#6A0307 !important; + color:#6A0307; } .list_item:hover{ - background-color: #0f3179; - color:white !important; + font-weight: bold; } .icon_edit{ diff --git a/telemeta/models/media.py b/telemeta/models/media.py index a86b5ee4..09b170c3 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -62,6 +62,7 @@ item_code_regex = '(?:%s|%s)' % (item_published_code_regex, item_un PUBLIC_ACCESS_CHOICES = (('none', 'none'), ('metadata', 'metadata'), ('full', 'full')) + class MediaResource(ModelCore): "Base class of all media objects" @@ -84,6 +85,7 @@ class MediaResource(ModelCore): class Meta: abstract = True + class MediaBaseResource(MediaResource): "Describe a base resource" @@ -110,62 +112,6 @@ class MediaBaseResource(MediaResource): ordering = ['code'] -class MediaFund(MediaBaseResource): - "Describe a fund" - - element_type = 'fund' - - class Meta(MetaCore): - db_table = 'media_funds' - verbose_name = _('fund') - - -class MediaCorpus(MediaBaseResource): - "Describe a corpus" - - element_type = 'corpus' - - class Meta(MetaCore): - db_table = 'media_corpus' - verbose_name = _('corpus') - verbose_name_plural = _('corpus') - -class MediaFundCorpusRelation(MediaResource): - "Relations between funds and corpus" - - corpus = ForeignKey('MediaCorpus', related_name="funds", - verbose_name=_('corpus')) - fund = ForeignKey('MediaFund', related_name="funds", - verbose_name=_('collection')) - - class Meta(MetaCore): - db_table = 'media_fund_corpus' - verbose_name = _('fund relation') -# unique_together = (('fund', 'corpus'),) - - def __unicode__(self): - sep = ' > ' - return self.fund.code + sep + self.corpus.code - - -class MediaCorpusCollectionRelation(MediaResource): - "Relations between corpus and collections" - - corpus = ForeignKey('MediaCorpus', related_name="corpus", - verbose_name=_('corpus')) - collection = ForeignKey('MediaCollection', related_name="corpus", - verbose_name=_('collection')) - - class Meta(MetaCore): - db_table = 'media_corpus_collections' - verbose_name = _('corpus relation') -# unique_together = (('collection', 'corpus'),) - - def __unicode__(self): - sep = ' > ' - return self.corpus.code + sep + self.collection.code - - class MediaCollection(MediaResource): "Describe a collection of items" @@ -671,3 +617,52 @@ class DublinCoreToFormatMetadata(object): metadata[key] = value.decode('utf-8') keys_done.append(key) return metadata + + +class MediaCorpus(MediaBaseResource): + "Describe a corpus" + + element_type = 'corpus' + + collections = models.ManyToManyField(MediaCollection) + + class Meta(MetaCore): + db_table = 'media_corpus' + verbose_name = _('corpus') + verbose_name_plural = _('corpus') + + +class MediaCorpusRelated(MediaRelated): + "Corpus related media" + + corpus = ForeignKey(MediaCorpus, related_name="related", verbose_name=_('corpus')) + + class Meta(MetaCore): + db_table = 'media_corpus_related' + verbose_name = _('corpus related media') + verbose_name_plural = _('corpus related media') + + +class MediaFund(MediaBaseResource): + "Describe a fund" + + element_type = 'fund' + + corpus = models.ManyToManyField(MediaCorpus) + + class Meta(MetaCore): + db_table = 'media_funds' + verbose_name = _('fund') + + +class MediaFundRelated(MediaRelated): + "Fund related media" + + fund = ForeignKey(MediaFund, related_name="related", verbose_name=_('fund')) + + class Meta(MetaCore): + db_table = 'media_fund_related' + verbose_name = _('fund related media') + verbose_name_plural = _('fund related media') + + \ No newline at end of file diff --git a/telemeta/urls.py b/telemeta/urls.py index bc3a285c..e13f4667 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -36,7 +36,7 @@ from django.conf.urls.defaults import * from telemeta.models import MediaItem, MediaCollection, MediaItemMarker -from telemeta.web.base import GeneralView, AdminView, CollectionView, ItemView, \ +from telemeta.views.base import GeneralView, AdminView, CollectionView, ItemView, \ InstrumentView, PlaylistView, ProfileView, GeoView, \ LastestRevisionsFeed from jsonrpc import jsonrpc_site diff --git a/telemeta/views/__init__.py b/telemeta/views/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/telemeta/views/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/telemeta/web/base.py b/telemeta/views/base.py similarity index 99% rename from telemeta/web/base.py rename to telemeta/views/base.py index 058e0573..a2ad0bd2 100644 --- a/telemeta/web/base.py +++ b/telemeta/views/base.py @@ -74,7 +74,7 @@ from telemeta.util.unaccent import unaccent_icmp from telemeta.util.logger import Logger from telemeta.util.unicode import UnicodeWriter from telemeta.cache import TelemetaCache -import telemeta.web.pages as pages +import telemeta.views.pages as pages from telemeta.forms import * diff --git a/telemeta/web/pages.py b/telemeta/views/pages.py similarity index 100% rename from telemeta/web/pages.py rename to telemeta/views/pages.py diff --git a/telemeta/web/__init__.py b/telemeta/web/__init__.py deleted file mode 100644 index 9c3afc8a..00000000 --- a/telemeta/web/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -#import telemeta.web.base -#import telemeta.web.pages - -- 2.39.5