Merge remote-tracking branch 'joar/audio+sniffing'
[mediagoblin.git] / mediagoblin / templates / mediagoblin / user_pages / media.html
index caa99eb70c91c0cfe910307deaedb564af275010..70a367f945e634832bbff08749da06593479eff0 100644 (file)
@@ -1,6 +1,6 @@
 {#
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 MediaGoblin contributors.  See AUTHORS.
+# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
 
 {% block title %}{{ media.title }} — {{ super() }}{% endblock %}
 
+{% block mediagoblin_head %}
+<!--[if lte IE 8]><link rel="stylesheet"
+    href="{{ request.staticdirect('/extlib/leaflet/leaflet.ie.css') }}" /><![endif]-->
+  <script type="text/javascript"
+          src="{{ request.staticdirect('/js/comment_show.js') }}"></script>
+  <script type="text/javascript"
+          src="{{ request.staticdirect('/js/keyboard_navigation.js') }}"></script>
+
+  {% if app_config['geolocation_map_visible'] %}
+    <link rel="stylesheet"
+         href="{{ request.staticdirect('/extlib/leaflet/leaflet.css') }}" />
+
+    <script type="text/javascript"
+            src="{{ request.staticdirect('/extlib/leaflet/leaflet.js') }}"></script>
+    <script type="text/javascript"
+            src="{{ request.staticdirect('/js/geolocation-map.js') }}"></script>
+  {% endif %}
+{% endblock mediagoblin_head %}
+
 {% block mediagoblin_content %}
-  <div class="grid_11 alpha">
+  <p class="context">
+    {%- trans user_url=request.urlgen(
+              'mediagoblin.user_pages.user_home',
+              user=media.get_uploader.username),
+              username=media.get_uploader.username -%}
+    ❖ Browsing media by <a href="{{user_url}}">{{username}}</a>
+    {%- endtrans -%}
+  </p>
+  {% include "mediagoblin/utils/prev_next.html" %}
+  <div class="media_pane">     
     <div class="media_image_container">
       {% block mediagoblin_media %}
         {% set display_media = request.app.public_store.file_url(
                  media.get_display_media(media.media_files)) %}
-
         {# if there's a medium file size, that means the medium size
          #  isn't the original... so link to the original!
          #}
-        {% if media['media_files'].has_key('medium') %}
+        {% if media.media_files.has_key('medium') %}
           <a href="{{ request.app.public_store.file_url(
-                        media['media_files']['original']) }}">
+                        media.media_files['original']) }}">
             <img class="media_image"
                  src="{{ display_media }}"
                  alt="Image for {{ media.title }}" />
         {% endif %}
       {% endblock %}
     </div>
-
     <h2 class="media_title">
       {{ media.title }}
     </h2>
+    {% if request.user and
+          (media.uploader == request.user._id or 
+           request.user.is_admin) %}
+      {% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
+                                 user= media.get_uploader.username,
+                                 media= media._id) %}
+      <a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a>
+      {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete',
+                                 user= media.get_uploader.username,
+                                 media= media._id) %}
+      <a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
+    {% endif %}
     {% autoescape False %}
       <p>{{ media.description_html }}</p>
     {% endautoescape %}
-    <p class="media_uploader">
-      {% trans date=media.created.strftime("%Y-%m-%d"),
-               user_url=request.urlgen(
-                 'mediagoblin.user_pages.user_home',
-                 user=media.get_uploader().username),
-               username=media.get_uploader().username -%}
-        By <a href="{{ user_url }}">{{ username }}</a> on {{ date }}
-      {%- endtrans %}
-    </p>
-    <h3></h3>
-    {% if request.user and comments.count() %}
-      <p><a href="#comment_form">{% trans %}Post a comment{% endtrans %}</a></p>
-    {% endif %}
-    {% if comments %}
-      {% for comment in comments %}
-        {% set comment_author = comment.author() %}
-          {% if pagination.active_id == comment._id %}
-            <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}">
-       <a name="comment" id="comment"></a>
-          {% else %}
-            <div class="comment_wrapper" id="comment-{{ comment._id }}">
-          {% endif %}
-
-          <div class="comment_content">{% autoescape False %}{{ comment.content_html }}
-            {% endautoescape %}
-          <img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
-          <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
-                          user = comment_author['username']) }}">
-              {{ comment_author['username'] }}</a>
-            {% trans %}at{% endtrans %} 
-            <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
-              comment = comment._id,
-              user = media.get_uploader().username,
-              media = media._id) }}#comment">
-              {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
-            </a>
-          </div>
-        </div>
-      {% endfor %}
-
-      {% if request.user %}
-        <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', 
-                                         user= media.get_uploader().username,
-                                         media=media._id) }}" method="POST">
-          {{ wtforms_util.render_divs(comment_form) }}
-          <div class="form_submit_buttons">
-            <input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button_form" />
-              {{ csrf_token }}
-          </div>
-        </form>
-      {% endif %}
-
-      {{ render_pagination(request, pagination, 
-            request.urlgen('mediagoblin.user_pages.media_home',
-            user = media.get_uploader().username,
-            media = media._id)) }}
-    </div>
-  {% endif %}
-
-  <div class="grid_5 omega">
-    {% include "mediagoblin/utils/prev_next.html" %}
-
-    {% if media['uploader'] == request.user._id or 
-                               request.user['is_admin'] %}
-      <p>
-        {% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
-                                   user= media.get_uploader().username,
-                                   media= media._id) %}
-        <a href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a>
-      </p>
-      <p>
-        {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete',
-                                   user= media.get_uploader().username,
-                                   media= media._id) %}
-        <a href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
-      </p>
-    {% endif %}
-
     {% if media.attachment_files|count %}
       <h3>Attachments</h3>
       <ul>
         {% endfor %}
       </ul>
     {% endif %}
-
     {% if app_config['allow_attachments']
-          and (media['uploader'] == request.user._id
-               or request.user['is_admin']) %}
+          and request.user
+          and (media.uploader == request.user._id
+               or request.user.is_admin) %}
       <p>
         <a href="{{ request.urlgen('mediagoblin.edit.attachments',
-                      user=media.get_uploader().username,
+                      user=media.get_uploader.username,
                       media=media._id) }}">Add attachment</a>
       </p>
     {% endif %}
-
+    {% if comments %}
+      <h3>
+        <div class="right_align">
+          <a
+            {% if not request.user %}
+              href="{{ request.urlgen('mediagoblin.auth.login') }}"
+            {% endif %}
+            class="button_action" id="button_addcomment" title="Add a comment">
+            {% trans %}Add a comment{% endtrans %}
+          </a>
+        </div>
+      </h3>
+      {% if request.user %}
+        <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', 
+                                         user= media.get_uploader.username,
+                                         media=media._id) }}" method="POST" id="form_comment">
+          <p>
+            {% trans %}You can use <a href="http://daringfireball.net/projects/markdown/basics">Markdown</a> for formatting.{% endtrans %}
+          </p>
+          {{ wtforms_util.render_divs(comment_form) }}
+          <div class="form_submit_buttons">
+            <input type="submit" value="{% trans %}Add this comment{% endtrans %}" class="button_action" />
+              {{ csrf_token }}
+          </div>
+        </form>
+      {% endif %}
+      {% for comment in comments %}
+        {% set comment_author = comment.get_author %}
+               {% if pagination.active_id == comment._id %}
+            <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}">
+                         <a name="comment" id="comment"></a>
+          {% else %}
+            <div class="comment_wrapper" id="comment-{{ comment._id }}">
+               {% endif %}
+          <div class="comment_content">
+            {% autoescape False %}
+              {{ comment.content_html }}
+            {% endautoescape %}
+            <img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
+            <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
+                            user = comment_author.username) }}">
+              {{ comment_author.username -}}
+            </a>
+            {% trans %}at{% endtrans %}
+            <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
+                   comment = comment._id,
+                   user = media.get_uploader.username,
+                   media = media.slug_or_id) }}#comment">
+              {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
+            </a>
+          </div>
+        </div>
+      {% endfor %}
+      {{ render_pagination(request, pagination,
+                 media.url_for_self(request.urlgen)) }}
+    {% endif %}
+  </div>
+  <div class="media_sidebar">
+    {% trans date=media.created.strftime("%Y-%m-%d") -%}
+      <h3>Added on</h3>
+      <p>{{ date }}</p>
+    {%- endtrans %}
     {% if media.tags %}
       {% include "mediagoblin/utils/tags.html" %}
     {% endif %}
+
+    {% include "mediagoblin/utils/license.html" %}
+
+    {% include "mediagoblin/utils/geolocation_map.html" %}
+
+    {% include "mediagoblin/utils/exif.html" %}
   </div>
+  <div class="clear"></div>
 {% endblock %}