From b633752d5dcf26a94048d267f98738bf5dbcdbda Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 16 Apr 2012 00:37:35 +0200 Subject: Work on multimedia files visibility * Add a new distant picture type (refs #339) * Handle differently multimedia files in descriptions (refs #337, refs #338) --- chimere/default_settings.py | 2 ++ chimere/fixtures/initial_data.json | 11 ++++++++ chimere/models.py | 11 ++++++-- chimere/static/chimere/css/styles.css | 28 ++++++++++++++++--- .../templates/chimere/blocks/multimedia_file.html | 18 ++++++++---- chimere/templates/chimere/detail.html | 32 +++++++--------------- chimere/templatetags/chimere_tags.py | 7 +++++ 7 files changed, 76 insertions(+), 33 deletions(-) diff --git a/chimere/default_settings.py b/chimere/default_settings.py index fc5177a..7b7d1c3 100644 --- a/chimere/default_settings.py +++ b/chimere/default_settings.py @@ -44,3 +44,5 @@ CHIMERE_DEFAULT_CATEGORIES = [1] #displayOutsideMaxExtent: true, wrapDateLine: true})''' # OSM cyclemap CHIMERE_MAP_LAYER = "new OpenLayers.Layer.OSM.Mapnik('Mapnik')" # OSM mapnik map +# display picture inside the description by default or inside a galery? +CHIMERE_MINIATURE_BY_DEFAULT = True diff --git a/chimere/fixtures/initial_data.json b/chimere/fixtures/initial_data.json index 4d1af9b..106b493 100644 --- a/chimere/fixtures/initial_data.json +++ b/chimere/fixtures/initial_data.json @@ -220,5 +220,16 @@ "name": "Webm (webm)", "mime_type": "audio/webm" } + }, + { + "pk": 15, + "model": "chimere.multimediatype", + "fields": { + "available": true, + "media_type": "I", + "iframe": false, + "name": "URL", + "mime_type": "" + } } ] diff --git a/chimere/models.py b/chimere/models.py index 02eee76..d06e42d 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -312,7 +312,7 @@ class Marker(GeographicItem): @property def multimedia_items(self): pict = list(self.pictures.filter(miniature=False).all()) - mm = list(self.multimedia_files.all()) + mm = list(self.multimedia_files.filter(miniature=False).all()) items = [(item.order, item) for item in pict + mm] return [item for order, item in sorted(items)] @@ -320,6 +320,10 @@ class Marker(GeographicItem): def default_pictures(self): return list(self.pictures.filter(miniature=True)) + @property + def default_multimedia_items(self): + return list(self.multimedia_files.filter(miniature=True)) + @property def date(self): if settings.CHIMERE_DAYS_BEFORE_EVENT: @@ -467,6 +471,8 @@ class MultimediaFile(models.Model): url = models.URLField(_(u"Url"), max_length=200) order = models.IntegerField(_(u"Order"), default=1) multimedia_type = models.ForeignKey(MultimediaType) + miniature = models.BooleanField(_(u"Display inside the description?"), + default=settings.CHIMERE_MINIATURE_BY_DEFAULT) def __unicode__(self): return self.name or u"" @@ -491,7 +497,8 @@ class PictureFile(models.Model): height_field='height', width_field='width') height = models.IntegerField(_(u"Height")) width = models.IntegerField(_(u"Width")) - miniature = models.BooleanField(_(u"Display inside the description?")) + miniature = models.BooleanField(_(u"Display inside the description?"), + default=settings.CHIMERE_MINIATURE_BY_DEFAULT) order = models.IntegerField(_(u"Order"), default=1) def __unicode__(self): diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css index bdcc9f9..504bc82 100644 --- a/chimere/static/chimere/css/styles.css +++ b/chimere/static/chimere/css/styles.css @@ -241,13 +241,21 @@ ul#action-2 { top:5px; } -#areas{ - padding:0; - height:115px; +#areas, #areas-select{ position:absolute; z-index:5; +} + +#areas-select{ + left:28px; + bottom:65px; +} + +#areas{ bottom:105px; left:18px; + padding:0; + height:115px; width:200px; overflow:auto; } @@ -293,7 +301,7 @@ ul#action-2 { #detail_content{ overflow:auto; - height:90%; + height:80%; } #detail_content img{ @@ -565,7 +573,19 @@ table.inline-table td input[type=text]{ height:400px; } +.small-gallery{ + width:260px; + min-height:30px; + text-align:center; +} +.small-gallery .media-player, +.small-gallery video, +.small-gallery iframe +{ + width:236px; + height:150px; +} /** jme **/ diff --git a/chimere/templates/chimere/blocks/multimedia_file.html b/chimere/templates/chimere/blocks/multimedia_file.html index 6c94451..d9f1fb9 100644 --- a/chimere/templates/chimere/blocks/multimedia_file.html +++ b/chimere/templates/chimere/blocks/multimedia_file.html @@ -1,7 +1,15 @@ {% load i18n %} {% if multimedia_item.picture %} {{multimedia_item.name}}{% endif %} -{% if multimedia_item.url and not multimedia_item.multimedia_type.iframe %} +{% if multimedia_item.url %} + +{% if multimedia_item.multimedia_type.iframe %} + +{% else %} +{% ifequal multimedia_item.multimedia_type.media_type 'I' %} +{{multimedia_item.name}} +{% else %}
{{multimedia_item.name}} <{% ifequal multimedia_item.multimedia_type.media_type 'A' %}audio poster="{{STATIC_URL}}chimere/img/8thNote.png"{% else %}video{% endifequal %} preload="none" controls="controls"> @@ -15,7 +23,7 @@
-{% endif %} -{% if multimedia_item.multimedia_type.iframe %} -{% endif %} + +{% endifequal %} +{% endif %} +{% endif %} diff --git a/chimere/templates/chimere/detail.html b/chimere/templates/chimere/detail.html index 06d9385..3f68ee9 100644 --- a/chimere/templates/chimere/detail.html +++ b/chimere/templates/chimere/detail.html @@ -1,7 +1,14 @@ -{% load i18n sanitize %} +{% load i18n sanitize chimere_tags %}

{{ marker.name }}

- {% for picture in marker.default_pictures %}{{marker.name}}{%endfor%} +
{% if dated %}

{{marker.start_date|date:"D d M Y"}} @@ -37,26 +44,7 @@ {% for multimedia_item in marker.multimedia_items %}

- {% if multimedia_item.picture %} - {{multimedia_item.name}}{% endif %} - {% if multimedia_item.url and not multimedia_item.multimedia_type.iframe %} -
- {{multimedia_item.name}} - <{% ifequal multimedia_item.multimedia_type.media_type 'A' %}audio poster="{{STATIC_URL}}chimere/img/8thNote.png"{% else %}video{% endifequal %} preload="none" controls="controls"> - -
-
-

{% trans "Please use a modern browser or install the non free Flash-Plugin."%}

- -
-
- -
{% endif %} - {% if multimedia_item.multimedia_type.iframe %} - {% endif %} + {% multimedia_render multimedia_item %}
{% endfor %}
diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index a3f6f0b..5346cf3 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -114,3 +114,10 @@ def map_params(context): context_data['p_checked_categories'] = ",".join(cats) return context_data +@register.inclusion_tag('chimere/blocks/multimedia_file.html', + takes_context=True) +def multimedia_render(context, multimedia_file): + context['multimedia_file'] = multimedia_file + return context + + -- cgit v1.2.3