Merged changes with upstream
[mediagoblin.git] / mediagoblin / templates / mediagoblin / user_pages / media.html
1 {#
2 # GNU MediaGoblin -- federated, autonomous media hosting
3 # Copyright (C) 2011 MediaGoblin contributors. See AUTHORS.
4 #
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Affero General Public License for more details.
14 #
15 # You should have received a copy of the GNU Affero General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #}
18 {% extends "mediagoblin/base.html" %}
19
20 {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
21 {% from "mediagoblin/utils/pagination.html" import render_pagination %}
22
23 {% block title %}{{ media.title }} &mdash; {{ super() }}{% endblock %}
24
25 {% block mediagoblin_head %}
26 <script type="text/javascript"
27 src="{{ request.staticdirect('/js/comment_show.js') }}"></script>
28 {% endblock mediagoblin_head %}
29
30 {% block mediagoblin_content %}
31 <div class="media_pane">
32 <div class="media_image_container">
33 {% block mediagoblin_media %}
34 {% set display_media = request.app.public_store.file_url(
35 media.get_display_media(media.media_files)) %}
36 {# if there's a medium file size, that means the medium size
37 # isn't the original... so link to the original!
38 #}
39 {% if media.media_files.has_key('medium') %}
40 <a href="{{ request.app.public_store.file_url(
41 media.media_files['original']) }}">
42 <img class="media_image"
43 src="{{ display_media }}"
44 alt="Image for {{ media.title }}" />
45 </a>
46 {% else %}
47 <img class="media_image"
48 src="{{ display_media }}"
49 alt="Image for {{ media.title }}" />
50 {% endif %}
51 {% endblock %}
52 </div>
53 <h2 class="media_title">
54 {{ media.title }}
55 </h2>
56 {% autoescape False %}
57 <p>{{ media.description_html }}</p>
58 {% endautoescape %}
59 <p class="media_specs">
60 {% trans date=media.created.strftime("%Y-%m-%d") -%}
61 Added on {{ date }}.
62 {%- endtrans %}
63 {% if request.user and
64 (media.uploader == request.user._id or
65 request.user.is_admin) %}
66 {% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
67 user= media.get_uploader.username,
68 media= media._id) %}
69 <a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a>
70 {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete',
71 user= media.get_uploader.username,
72 media= media._id) %}
73 <a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
74 {% endif %}
75 </p>
76 {% if comments %}
77 <h3>
78 {% if comments.count()==1 %}
79 {% trans comment_count=comments.count() -%}{{ comment_count }} comment{%- endtrans %}
80 {% elif comments.count()>1 %}
81 {% trans comment_count=comments.count() -%}{{ comment_count }} comments{%- endtrans %}
82 {% else %}
83 {% trans %}No comments yet.{% endtrans %}
84 {% endif %}
85 <div class="right_align">
86 <a
87 {% if not request.user %}
88 href="{{ request.urlgen('mediagoblin.auth.login') }}"
89 {% endif %}
90 class="button_action" id="button_addcomment" title="Add a comment">
91 {% trans %}Add one{% endtrans %}
92 </a>
93 </div>
94 </h3>
95 {% if request.user %}
96 <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
97 user= media.get_uploader.username,
98 media=media._id) }}" method="POST" id="form_comment">
99 <p>
100 {% trans %}You can use <a href="http://daringfireball.net/projects/markdown/basics">Markdown</a> for formatting.{% endtrans %}
101 </p>
102 {{ wtforms_util.render_divs(comment_form) }}
103 <div class="form_submit_buttons">
104 <input type="submit" value="{% trans %}Add this comment{% endtrans %}" class="button_action" />
105 {{ csrf_token }}
106 </div>
107 </form>
108 {% endif %}
109 {% for comment in comments %}
110 {% set comment_author = comment.get_author %}
111 {% if pagination.active_id == comment._id %}
112 <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}">
113 <a name="comment" id="comment"></a>
114 {% else %}
115 <div class="comment_wrapper" id="comment-{{ comment._id }}">
116 {% endif %}
117 <div class="comment_content">
118 {% autoescape False %}
119 {{ comment.content_html }}
120 {% endautoescape %}
121 <img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
122 <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
123 user = comment_author.username) }}">
124 {{ comment_author.username }}
125 </a>
126 {% trans %}at{% endtrans %}
127 <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
128 comment = comment._id,
129 user = media.get_uploader.username,
130 media = media.slug) }}#comment">
131 {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
132 </a>
133 </div>
134 </div>
135 {% endfor %}
136 {{ render_pagination(request, pagination,
137 media.url_for_self(request.urlgen)) }}
138 {% endif %}
139 </div>
140 <div class="media_sidebar">
141 {% trans user_url=request.urlgen(
142 'mediagoblin.user_pages.user_home',
143 user=media.get_uploader.username),
144 username=media.get_uploader.username -%}
145 <p>❖ Browsing media by <a href="{{ user_url }}">{{ username }}</a></p>
146 {%- endtrans %}
147 {% include "mediagoblin/utils/prev_next.html" %}
148 {% if media.attachment_files|count %}
149 <h3>Attachments</h3>
150 <ul>
151 {% for attachment in media.attachment_files %}
152 <li>
153 <a href="{{ request.app.public_store.file_url(attachment.filepath) }}">
154 {{ attachment.name }}
155 </a>
156 </li>
157 {% endfor %}
158 </ul>
159 {% endif %}
160 {% if app_config['allow_attachments']
161 and request.user
162 and (media.uploader == request.user._id
163 or request.user.is_admin) %}
164 <p>
165 <a href="{{ request.urlgen('mediagoblin.edit.attachments',
166 user=media.get_uploader.username,
167 media=media._id) }}">Add attachment</a>
168 </p>
169 {% endif %}
170 {% if media.tags %}
171 {% include "mediagoblin/utils/tags.html" %}
172 {% endif %}
173
174 {% include "mediagoblin/utils/license.html" %}
175 </div>
176 {% endblock %}