Commit | Line | Data |
---|---|---|
9a16e16f SS |
1 | {# |
2 | # GNU MediaGoblin -- federated, autonomous media hosting | |
12a100e4 | 3 | # Copyright (C) 2011 MediaGoblin contributors. See AUTHORS. |
9a16e16f SS |
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" %} | |
aa7d1a2f JW |
19 | |
20 | {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} | |
5949be9a | 21 | {% from "mediagoblin/utils/pagination.html" import render_pagination %} |
aa7d1a2f | 22 | |
688f56c2 CAW |
23 | {% block title %}{{ media.title }} — {{ super() }}{% endblock %} |
24 | ||
9a16e16f | 25 | {% block mediagoblin_content %} |
f80f5b58 CAW |
26 | <div class="grid_11 alpha"> |
27 | <div class="media_image_container"> | |
28 | {% block mediagoblin_media %} | |
29 | {% set display_media = request.app.public_store.file_url( | |
30 | media.get_display_media(media.media_files)) %} | |
9b424b17 | 31 | |
f80f5b58 CAW |
32 | {# if there's a medium file size, that means the medium size |
33 | # isn't the original... so link to the original! | |
34 | #} | |
35 | {% if media['media_files'].has_key('medium') %} | |
36 | <a href="{{ request.app.public_store.file_url( | |
37 | media['media_files']['original']) }}"> | |
9b424b17 CAW |
38 | <img class="media_image" |
39 | src="{{ display_media }}" | |
40 | alt="Image for {{ media.title }}" /> | |
f80f5b58 CAW |
41 | </a> |
42 | {% else %} | |
43 | <img class="media_image" | |
44 | src="{{ display_media }}" | |
45 | alt="Image for {{ media.title }}" /> | |
46 | {% endif %} | |
47 | {% endblock %} | |
48 | </div> | |
d8db3f11 | 49 | |
f80f5b58 CAW |
50 | <h2 class="media_title"> |
51 | {{ media.title }} | |
52 | </h2> | |
53 | {% autoescape False %} | |
54 | <p>{{ media.description_html }}</p> | |
55 | {% endautoescape %} | |
56 | <p class="media_uploader"> | |
57 | {% trans date=media.created.strftime("%Y-%m-%d"), | |
58 | user_url=request.urlgen( | |
59 | 'mediagoblin.user_pages.user_home', | |
60 | user=media.get_uploader().username), | |
61 | username=media.get_uploader().username -%} | |
62 | By <a href="{{ user_url }}">{{ username }}</a> on {{ date }} | |
63 | {%- endtrans %} | |
64 | </p> | |
65 | <h3></h3> | |
66 | {% if request.user and comments.count() %} | |
67 | <p><a href="#comment_form">{% trans %}Post a comment{% endtrans %}</a></p> | |
68 | {% endif %} | |
69 | {% if comments %} | |
70 | {% for comment in comments %} | |
71 | {% set comment_author = comment.author() %} | |
72 | {% if pagination.active_id == comment._id %} | |
73 | <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}"> | |
74 | <a name="comment" id="comment"></a> | |
75 | {% else %} | |
76 | <div class="comment_wrapper" id="comment-{{ comment._id }}"> | |
77 | {% endif %} | |
f645bde8 | 78 | |
f80f5b58 CAW |
79 | <div class="comment_content">{% autoescape False %}{{ comment.content_html }} |
80 | {% endautoescape %} | |
81 | <img src="{{ request.staticdirect('/images/icon_comment.png') }}" /> | |
82 | <a href="{{ request.urlgen('mediagoblin.user_pages.user_home', | |
5a4e3ff1 E |
83 | user = comment_author.username) }}"> |
84 | {{ comment_author.username }}</a> | |
f80f5b58 CAW |
85 | {% trans %}at{% endtrans %} |
86 | <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment', | |
87 | comment = comment._id, | |
88 | user = media.get_uploader().username, | |
5b5b67cd | 89 | media = media.slug) }}#comment"> |
f80f5b58 CAW |
90 | {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }} |
91 | </a> | |
6f65e9eb | 92 | </div> |
f80f5b58 CAW |
93 | </div> |
94 | {% endfor %} | |
6f65e9eb | 95 | |
f80f5b58 CAW |
96 | {% if request.user %} |
97 | <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', | |
98 | user= media.get_uploader().username, | |
99 | media=media._id) }}" method="POST"> | |
100 | {{ wtforms_util.render_divs(comment_form) }} | |
101 | <div class="form_submit_buttons"> | |
102 | <input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button_form" /> | |
103 | {{ csrf_token }} | |
104 | </div> | |
105 | </form> | |
106 | {% endif %} | |
b7206469 | 107 | |
f80f5b58 CAW |
108 | {{ render_pagination(request, pagination, |
109 | request.urlgen('mediagoblin.user_pages.media_home', | |
110 | user = media.get_uploader().username, | |
111 | media = media._id)) }} | |
112 | </div> | |
113 | {% endif %} | |
5d900647 | 114 | |
f80f5b58 CAW |
115 | <div class="grid_5 omega"> |
116 | {% include "mediagoblin/utils/prev_next.html" %} | |
894fa564 | 117 | |
f80f5b58 CAW |
118 | {% if media['uploader'] == request.user._id or |
119 | request.user['is_admin'] %} | |
120 | <p> | |
121 | {% set edit_url = request.urlgen('mediagoblin.edit.edit_media', | |
122 | user= media.get_uploader().username, | |
04b0b7a1 | 123 | media= media.slug) %} |
f80f5b58 CAW |
124 | <a href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a> |
125 | </p> | |
126 | <p> | |
127 | {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete', | |
128 | user= media.get_uploader().username, | |
bcc9ee32 | 129 | media= media._id) %} |
f80f5b58 CAW |
130 | <a href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a> |
131 | </p> | |
132 | {% endif %} | |
5d900647 | 133 | |
f80f5b58 CAW |
134 | {% if media.attachment_files|count %} |
135 | <h3>Attachments</h3> | |
136 | <ul> | |
137 | {% for attachment in media.attachment_files %} | |
138 | <li> | |
139 | <a href="{{ request.app.public_store.file_url(attachment.filepath) }}"> | |
140 | {{ attachment.name }} | |
141 | </a> | |
142 | </li> | |
143 | {% endfor %} | |
144 | </ul> | |
145 | {% endif %} | |
894fa564 | 146 | |
f80f5b58 CAW |
147 | {% if app_config['allow_attachments'] |
148 | and (media['uploader'] == request.user._id | |
149 | or request.user['is_admin']) %} | |
150 | <p> | |
151 | <a href="{{ request.urlgen('mediagoblin.edit.attachments', | |
152 | user=media.get_uploader().username, | |
153 | media=media._id) }}">Add attachment</a> | |
154 | </p> | |
155 | {% endif %} | |
3a8c3a38 | 156 | |
f80f5b58 CAW |
157 | {% if media.tags %} |
158 | {% include "mediagoblin/utils/tags.html" %} | |
159 | {% endif %} | |
160 | </div> | |
d3060210 | 161 | {% endblock %} |