{#
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011 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
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "mediagoblin/base.html" %}

{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
{% from "mediagoblin/utils/pagination.html" import render_pagination %}

{% block title %}{{ media.title }} &mdash; {{ super() }}{% endblock %}

{% block mediagoblin_content %}
  <div class="grid_11 alpha">
    <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') %}
          <a href="{{ request.app.public_store.file_url(
                        media['media_files']['original']) }}">
            <img class="media_image"
                 src="{{ display_media }}"
                 alt="Image for {{ media.title }}" />
          </a>
        {% else %}
          <img class="media_image"
               src="{{ display_media }}"
               alt="Image for {{ media.title }}" />
        {% endif %}
      {% endblock %}
    </div>

    <h2 class="media_title">
      {{ media.title }}
    </h2>
    {% 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.slug) }}#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.slug) %}
        <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>
        {% for attachment in media.attachment_files %}
          <li>
            <a href="{{ request.app.public_store.file_url(attachment.filepath) }}">
              {{ attachment.name }}
            </a>
          </li>
        {% endfor %}
      </ul>
    {% endif %}

    {% if app_config['allow_attachments']
          and (media.uploader == request.user._id
               or request.user.is_admin) %}
      <p>
        <a href="{{ request.urlgen('mediagoblin.edit.attachments',
                      user=media.get_uploader().username,
                      media=media._id) }}">Add attachment</a>
      </p>
    {% endif %}

    {% if media.tags %}
      {% include "mediagoblin/utils/tags.html" %}
    {% endif %}
  </div>
{% endblock %}
