Add left and right arrow keys navigation (add new JS file, link it from media.html...
[mediagoblin.git] / mediagoblin / templates / mediagoblin / user_pages / media.html
index 0c3f373e05bc8dee164c482c5f0b7b9815267513..0b9bb8086ea733df8fde8a1e592f972ae93eb2d1 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 %}
-  <script>
-    $(document).ready(function(){
-      $('#form_comment').hide();
-      $('#button_addcomment').click(function(){
-          $(this).fadeOut('fast');
-          $('#form_comment').slideDown(function(){
-            $('#comment_content').focus();
-          });
-      });
-    });
-  </script>
+<!--[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 %}
@@ -45,9 +50,9 @@
         {# 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 }}" />
       {% trans date=media.created.strftime("%Y-%m-%d") -%}
         Added on {{ date }}.
       {%- endtrans %}
-      {% if media['uploader'] == request.user._id or 
-                               request.user['is_admin'] %}
+      {% 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,
+                                   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,
+                                   user= media.get_uploader.username,
                                    media= media._id) %}
         <a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
       {% endif %}
     </p>
-    <h3>{% trans comment_count=comments.count() -%}{{ comment_count }} comments{%- endtrans %}
-      <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 one{% endtrans %}
-        </a>
-      </div>
-    </h3>
-    {# 0 comments. Be the first to add one! #}
+    {% if comments %}
+      <h3>
+        {% if comments.count()==1 %}
+          {% trans comment_count=comments.count() -%}{{ comment_count }} comment{%- endtrans %}
+        {% elif comments.count()>1 %}
+          {% trans comment_count=comments.count() -%}{{ comment_count }} comments{%- endtrans %}
+        {% else %}
+          {% trans %}No comments yet.{% endtrans %}
+        {% endif %}
+        <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 one{% endtrans %}
+          </a>
+        </div>
+      </h3>
       {% if request.user %}
         <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', 
-                                         user= media.get_uploader().username,
+                                         user= media.get_uploader.username,
                                          media=media._id) }}" method="POST" id="form_comment">
           <p>
-            {% trans %}Type your comment here. You can use <a href="http://daringfireball.net/projects/markdown/basics" target="_blank">Markdown</a> for formatting.{% endtrans %}
+            {% 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">
           </div>
         </form>
       {% 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.slug) }}#comment">
-                    {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
-                  </a>
-                </div>
-              </div>
-        {% endfor %}
-      {{ render_pagination(request, pagination, 
-                 request.urlgen('mediagoblin.user_pages.media_home',
-                 user = media.get_uploader().username,
-                 media = media._id)) }}
+      {% 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 user_url=request.urlgen(
                 'mediagoblin.user_pages.user_home',
-                user=media.get_uploader().username),
-                username=media.get_uploader().username -%}
+                user=media.get_uploader.username),
+                username=media.get_uploader.username -%}
       <p>❖ Browsing media by <a href="{{ user_url }}">{{ username }}</a></p>
     {%- endtrans %}  
     {% include "mediagoblin/utils/prev_next.html" %}
       </ul>
     {% endif %}
     {% if app_config['allow_attachments']
+          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 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>
 {% endblock %}