Commit | Line | Data |
---|---|---|
9a16e16f SS |
1 | {# |
2 | # GNU MediaGoblin -- federated, autonomous media hosting | |
cf29e8a8 | 3 | # Copyright (C) 2011, 2012 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 | ||
75a12d63 | 25 | {% block mediagoblin_head %} |
e8e444a8 JW |
26 | <!--[if lte IE 8]><link rel="stylesheet" |
27 | href="{{ request.staticdirect('/extlib/leaflet/leaflet.ie.css') }}" /><![endif]--> | |
ada0642e JS |
28 | <script type="text/javascript" |
29 | src="{{ request.staticdirect('/js/comment_show.js') }}"></script> | |
cd1b836e JW |
30 | |
31 | {% if app_config['geolocation_map_visible'] %} | |
32 | <link rel="stylesheet" | |
33 | href="{{ request.staticdirect('/extlib/leaflet/leaflet.css') }}" /> | |
34 | ||
35 | <script type="text/javascript" | |
36 | src="{{ request.staticdirect('/extlib/leaflet/leaflet.js') }}"></script> | |
37 | <script type="text/javascript" | |
38 | src="{{ request.staticdirect('/js/geolocation-map.js') }}"></script> | |
39 | {% endif %} | |
75a12d63 JS |
40 | {% endblock mediagoblin_head %} |
41 | ||
9a16e16f | 42 | {% block mediagoblin_content %} |
b21c9434 JS |
43 | {% trans user_url=request.urlgen( |
44 | 'mediagoblin.user_pages.user_home', | |
45 | user=media.get_uploader.username), | |
46 | username=media.get_uploader.username -%} | |
47 | <p class="context">❖ Browsing media by <a href="{{ user_url }}">{{ username }}</a></p> | |
48 | {%- endtrans %} | |
49 | {% include "mediagoblin/utils/prev_next.html" %} | |
50 | <div class="media_image_container"> | |
51 | {% block mediagoblin_media %} | |
52 | {% set display_media = request.app.public_store.file_url( | |
53 | media.get_display_media(media.media_files)) %} | |
54 | {# if there's a medium file size, that means the medium size | |
55 | # isn't the original... so link to the original! | |
56 | #} | |
57 | {% if media.media_files.has_key('medium') %} | |
58 | <a href="{{ request.app.public_store.file_url( | |
59 | media.media_files['original']) }}"> | |
9b424b17 CAW |
60 | <img class="media_image" |
61 | src="{{ display_media }}" | |
62 | alt="Image for {{ media.title }}" /> | |
b21c9434 JS |
63 | </a> |
64 | {% else %} | |
65 | <img class="media_image" | |
66 | src="{{ display_media }}" | |
67 | alt="Image for {{ media.title }}" /> | |
68 | {% endif %} | |
69 | {% endblock %} | |
70 | </div> | |
71 | <div class="media_pane"> | |
f80f5b58 CAW |
72 | <h2 class="media_title"> |
73 | {{ media.title }} | |
74 | </h2> | |
b0ed64aa JS |
75 | {% if request.user and |
76 | (media.uploader == request.user._id or | |
77 | request.user.is_admin) %} | |
78 | {% set edit_url = request.urlgen('mediagoblin.edit.edit_media', | |
79 | user= media.get_uploader.username, | |
80 | media= media._id) %} | |
81 | <a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a> | |
82 | {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete', | |
83 | user= media.get_uploader.username, | |
84 | media= media._id) %} | |
85 | <a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a> | |
86 | {% endif %} | |
f80f5b58 CAW |
87 | {% autoescape False %} |
88 | <p>{{ media.description_html }}</p> | |
c6498b26 JS |
89 | {% endautoescape %} |
90 | {% if media.attachment_files|count %} | |
91 | <h3>Attachments</h3> | |
92 | <ul> | |
93 | {% for attachment in media.attachment_files %} | |
94 | <li> | |
95 | <a href="{{ request.app.public_store.file_url(attachment.filepath) }}"> | |
96 | {{ attachment.name }} | |
97 | </a> | |
98 | </li> | |
99 | {% endfor %} | |
100 | </ul> | |
101 | {% endif %} | |
102 | {% if app_config['allow_attachments'] | |
103 | and request.user | |
104 | and (media.uploader == request.user._id | |
105 | or request.user.is_admin) %} | |
106 | <p> | |
107 | <a href="{{ request.urlgen('mediagoblin.edit.attachments', | |
108 | user=media.get_uploader.username, | |
109 | media=media._id) }}">Add attachment</a> | |
110 | </p> | |
111 | {% endif %} | |
694e965f JS |
112 | {% if comments %} |
113 | <h3> | |
694e965f JS |
114 | <div class="right_align"> |
115 | <a | |
116 | {% if not request.user %} | |
117 | href="{{ request.urlgen('mediagoblin.auth.login') }}" | |
118 | {% endif %} | |
119 | class="button_action" id="button_addcomment" title="Add a comment"> | |
b0ed64aa | 120 | {% trans %}Add a comment{% endtrans %} |
694e965f JS |
121 | </a> |
122 | </div> | |
123 | </h3> | |
e360a992 | 124 | {% if request.user %} |
f80f5b58 | 125 | <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', |
05751758 | 126 | user= media.get_uploader.username, |
75a12d63 | 127 | media=media._id) }}" method="POST" id="form_comment"> |
bb3b9e40 | 128 | <p> |
fafec727 | 129 | {% trans %}You can use <a href="http://daringfireball.net/projects/markdown/basics">Markdown</a> for formatting.{% endtrans %} |
bb3b9e40 | 130 | </p> |
f80f5b58 CAW |
131 | {{ wtforms_util.render_divs(comment_form) }} |
132 | <div class="form_submit_buttons"> | |
75a12d63 | 133 | <input type="submit" value="{% trans %}Add this comment{% endtrans %}" class="button_action" /> |
f80f5b58 CAW |
134 | {{ csrf_token }} |
135 | </div> | |
136 | </form> | |
e360a992 | 137 | {% endif %} |
694e965f JS |
138 | {% for comment in comments %} |
139 | {% set comment_author = comment.get_author %} | |
140 | {% if pagination.active_id == comment._id %} | |
141 | <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}"> | |
142 | <a name="comment" id="comment"></a> | |
143 | {% else %} | |
144 | <div class="comment_wrapper" id="comment-{{ comment._id }}"> | |
145 | {% endif %} | |
146 | <div class="comment_content"> | |
147 | {% autoescape False %} | |
148 | {{ comment.content_html }} | |
149 | {% endautoescape %} | |
150 | <img src="{{ request.staticdirect('/images/icon_comment.png') }}" /> | |
151 | <a href="{{ request.urlgen('mediagoblin.user_pages.user_home', | |
152 | user = comment_author.username) }}"> | |
153 | {{ comment_author.username }} | |
154 | </a> | |
155 | {% trans %}at{% endtrans %} | |
156 | <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment', | |
157 | comment = comment._id, | |
158 | user = media.get_uploader.username, | |
3e907d55 | 159 | media = media.slug_or_id) }}#comment"> |
694e965f JS |
160 | {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }} |
161 | </a> | |
6f65e9eb | 162 | </div> |
694e965f JS |
163 | </div> |
164 | {% endfor %} | |
0eb649ff E |
165 | {{ render_pagination(request, pagination, |
166 | media.url_for_self(request.urlgen)) }} | |
aa7d1a2f | 167 | {% endif %} |
b21c9434 JS |
168 | </div> |
169 | <div class="media_sidebar"> | |
28439be4 JS |
170 | {% trans date=media.created.strftime("%Y-%m-%d") -%} |
171 | <h3 class="sidedata">Added on</h3> | |
172 | <p>{{ date }}</p> | |
173 | {%- endtrans %} | |
174 | ||
f80f5b58 CAW |
175 | {% if media.tags %} |
176 | {% include "mediagoblin/utils/tags.html" %} | |
aa7d1a2f | 177 | {% endif %} |
5d900647 | 178 | |
99a270e9 | 179 | {% include "mediagoblin/utils/license.html" %} |
6d9ce47f | 180 | |
cc7ca4da JW |
181 | {% include "mediagoblin/utils/geolocation_map.html" %} |
182 | ||
183 | {% include "mediagoblin/utils/exif.html" %} | |
f80f5b58 | 184 | </div> |
d3060210 | 185 | {% endblock %} |