diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-07 15:19:19 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-07 15:19:19 +0100 | 
| commit | 9d32b35a7b5f4effa1551c67bde8cef733a151d4 (patch) | |
| tree | 1581fb2a0a70975186ae852e959efe6419234450 | |
| parent | 7f5a997212159172fe5ed3fb17a56b0c4fbdafa4 (diff) | |
| download | Chimère-9d32b35a7b5f4effa1551c67bde8cef733a151d4.tar.bz2 Chimère-9d32b35a7b5f4effa1551c67bde8cef733a151d4.zip  | |
Deport the "iframe status" to multimedia types
| -rw-r--r-- | chimere/fixtures/initial_data.json | 48 | ||||
| -rw-r--r-- | chimere/models.py | 31 | ||||
| -rw-r--r-- | chimere/templates/chimere/detail.html | 4 | 
3 files changed, 60 insertions, 23 deletions
diff --git a/chimere/fixtures/initial_data.json b/chimere/fixtures/initial_data.json index 43664fb..629c092 100644 --- a/chimere/fixtures/initial_data.json +++ b/chimere/fixtures/initial_data.json @@ -919,29 +919,12 @@          }      },       { -        "pk": 1,  -        "model": "auth.user",  -        "fields": { -            "username": "etienne",  -            "first_name": "",  -            "last_name": "",  -            "is_active": true,  -            "is_superuser": true,  -            "is_staff": true,  -            "last_login": "2012-02-18 20:58:02",  -            "groups": [],  -            "user_permissions": [],  -            "password": "sha1$3d587$c8d723a756209c1741618e9b7d87bb0973170fbe",  -            "email": "etienne@peacefrogs.net",  -            "date_joined": "2012-02-18 19:13:42" -        } -    },  -    {          "pk": 7,          "model": "chimere.multimediatype",          "fields": {              "available": true,              "media_type": "V", +            "iframe": false,              "name": "Matroska (mkv)",              "mime_type": "video/x-matroska"          } @@ -952,6 +935,7 @@          "fields": {              "available": true,              "media_type": "A", +            "iframe": false,              "name": "MP4 (mp4)",              "mime_type": "audio/mp4"          } @@ -962,6 +946,7 @@          "fields": {              "available": true,              "media_type": "A", +            "iframe": false,              "name": "MP3 (mp3)",              "mime_type": "audio/mpeg"          } @@ -972,6 +957,7 @@          "fields": {              "available": true,              "media_type": "A", +            "iframe": false,              "name": "Ogg Vorbis (ogg)",              "mime_type": "audio/ogg"          } @@ -982,6 +968,7 @@          "fields": {              "available": true,              "media_type": "V", +            "iframe": false,              "name": "MP4 (mp4)",              "mime_type": "video/mp4"          } @@ -992,6 +979,7 @@          "fields": {              "available": true,              "media_type": "V", +            "iframe": false,              "name": "MPEG-1 (mpg, mpeg)",              "mime_type": "video/mpeg"          } @@ -1002,6 +990,7 @@          "fields": {              "available": true,              "media_type": "V", +            "iframe": false,              "name": "AVI - xvid, mp3 (avi)",              "mime_type": "video/msvideo; codecs='xvid,mp3'"          } @@ -1012,8 +1001,31 @@          "fields": {              "available": true,              "media_type": "V", +            "iframe": false,              "name": "Ogg Theora (ogg, ogm, ogv)",              "mime_type": "video/ogg"          } +    }, +    { +        "pk": 9, +        "model": "chimere.multimediatype", +        "fields": { +            "available": true, +            "media_type": "V", +            "iframe": true, +            "name": "Youtube", +            "mime_type": "" +        } +    }, +    { +        "pk": 10, +        "model": "chimere.multimediatype", +        "fields": { +            "available": true, +            "media_type": "O", +            "iframe": true, +            "name": "Iframe", +            "mime_type": "" +        }      }  ] diff --git a/chimere/models.py b/chimere/models.py index 52b13f4..1933ba3 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -237,6 +237,16 @@ class Marker(GeographicItem):      def __unicode__(self):          return self.name +    def get_init_multi(self): +        multis = [forms.model_to_dict(multi) +                  for multi in self.multimedia_files.all()] +        return multis + +    def get_init_picture(self): +        picts = [forms.model_to_dict(pict) +                 for pict in self.pictures.all()] +        return picts +      @property      def multimedia_items(self):          pict = list(self.pictures.filter(miniature=False).all()) @@ -350,12 +360,14 @@ class Marker(GeographicItem):  class MultimediaType(models.Model):      MEDIA_TYPES = (('A', _(u"Audio")),                     ('V', _(u"Video")), -                   ('I', _(u"Image"))) +                   ('I', _(u"Image")), +                   ('O', _(u"Other")),)      media_type = models.CharField(_(u"Media type"), max_length=1,                                    choices=MEDIA_TYPES)      name = models.CharField(_(u"Name"), max_length=150)      mime_type = models.CharField(_(u"Mime type"), max_length=50, blank=True,                                   null=True) +    iframe = models.BooleanField(u"Inside an iframe", default=False)      available = models.BooleanField(_(u"Available"), default=True)      def __unicode__(self): @@ -364,7 +376,6 @@ class MultimediaType(models.Model):  class MultimediaFile(models.Model):      name = models.CharField(_(u"Name"), max_length=150, blank=True, null=True)      url = models.CharField(_(u"Url"), max_length=200) -    iframe = models.BooleanField(u"Iframe", default=False)      order = models.IntegerField(_(u"Order"), default=1)      multimedia_type = models.ForeignKey(MultimediaType, blank=True,                                          null=True) @@ -381,12 +392,12 @@ class MultimediaFile(models.Model):                                      u"to an iframe."))  class PictureFile(models.Model): -    miniature = models.BooleanField(_(u"Miniature"))      name = models.CharField(_(u"Name"), max_length=150, blank=True, null=True)      picture = models.ImageField(_(u"Image"), upload_to='upload',                                  height_field='height', width_field='width')      height = models.IntegerField(_(u"Height"))      width = models.IntegerField(_(u"Width")) +    miniature = models.BooleanField(_(u"Display inside the resume ?"))      order = models.IntegerField(_(u"Order"), default=1)      def __unicode__(self): @@ -469,6 +480,20 @@ class Route(GeographicItem):          ordering = ('status', 'name')          verbose_name = _(u"Route") +    def get_init_multi(self): +        if not self.associated_file: +            return [] +        multis = [forms.model_to_dict(multi) +                  for multi in self.associated_file.multimedia_files.all()] +        return multis + +    def get_init_picture(self): +        if not self.associated_file: +            return [] +        picts = [forms.model_to_dict(pict) +                 for pict in self.associated_file.pictures.all()] +        return picts +      def getProperty(self, propertymodel, safe=None):          """Get the property of an associated property model.          If safe set to True, verify if the property is available diff --git a/chimere/templates/chimere/detail.html b/chimere/templates/chimere/detail.html index e9c061c..d7c9449 100644 --- a/chimere/templates/chimere/detail.html +++ b/chimere/templates/chimere/detail.html @@ -36,7 +36,7 @@          <div id="tab-{{ forloop.counter }}">              {% if multimedia_item.picture %}              <img alt="{{multimedia_picture.name}}" src='{{MEDIA_URL}}{{multimedia_picture}}'/>{% endif %} -            {% if multimedia_item.url and not multimedia_item.iframe %} +            {% if multimedia_item.url and not multimedia_item.multimedia_type.iframe %}              <div class="media-player">                  <span class="media-label">{{multimedia_item.name}}</span>                  <video preload="none" controls="controls"{% ifequal multimedia_item.multimedia_type.media_type 'A' %} poster="{{STATIC_URL}}chimere/img/8thNote.png"{% endifequal %}> @@ -51,7 +51,7 @@                      </div>                  </video>              </div>{% endif %} -            {% if multimedia_item.iframe %} +            {% if multimedia_item.multimedia_type.iframe %}              <iframe class='video' src='{{multimedia_item.url}}'>              </iframe>{% endif %}          </div>{% endfor %}  | 
