Merge remote branch 'remotes/gullydwarf-cfdv/b404_v3_edit_profile_submit_fail'
[mediagoblin.git] / mediagoblin / templates / mediagoblin / user_pages / media.html
1 {#
2 # GNU MediaGoblin -- federated, autonomous media hosting
3 # Copyright (C) 2011 Free Software Foundation, Inc
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 mediagoblin_content %}
24 {% if media %}
25 <div class="grid_11 alpha">
26 {% if media.media_files.medium %}
27 <img src="{{ request.app.public_store.file_url(
28 media.media_files.medium) }}" />
29 {% else %}
30 <img src="{{ request.app.public_store.file_url(
31 media.media_files.main) }}" />
32 {% endif %}
33
34 <h2>
35 {{media.title}}
36 </h2>
37
38 {% autoescape False %}
39 <p>{{ media.description_html }}</p>
40 {% endautoescape %}
41
42 <p>
43 &mdash;&nbsp;uploaded on
44 {{ "%4d-%02d-%02d"|format(media.created.year,
45 media.created.month, media.created.day) }}
46 by
47 <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
48 user= media.uploader().username) }}">
49 {{- media.uploader().username }}</a>
50 </p>
51 <br />
52
53 <h3>Comments</h3>
54 {% if request.user %}
55 <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
56 user= media.uploader().username,
57 media=media._id) }}" method="POST">
58 {{ wtforms_util.render_field_div(comment_form.comment_content) }}
59 <div class="form_submit_buttons">
60 <input type="submit" value="Post comment!" class="button" />
61 </div>
62 </form>
63 {% endif %}
64
65 {% if comments %}
66 {% for comment in comments %}
67 {% set comment_author = comment.author() %}
68 {% if pagination.active_id == comment._id %}
69 <div class="comment_wrapper comment_active" id="comment-{{ comment['_id'] }}">
70 <a name="comment" id="comment"></a>
71 {% else %}
72 <div class="comment_wrapper" id="comment-{{ comment['_id'] }}">
73 {% endif %}
74 <div class="comment_content">
75 {% autoescape False %}
76 {{ comment.content_html }}
77 {% endautoescape %}
78 </div>
79 <div class="comment_author">&mdash;
80 <a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
81 user = comment_author['username']) }}">
82 {{ comment_author['username'] }}</a> at
83 <!--</div>
84 <div class="comment_datetime">-->
85 <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
86 comment = comment['_id'],
87 user = media.uploader().username,
88 media = media._id) }}#comment">
89 {{ "%4d-%02d-%02d %02d:%02d"|format(comment.created.year,
90 comment.created.month,
91 comment.created.day,
92 comment.created.hour,
93 comment.created.minute) }}
94 </a>
95 </div>
96 </div>
97 {% endfor %}
98
99 {{ render_pagination(request, pagination,
100 request.urlgen('mediagoblin.user_pages.media_home',
101 user = media.uploader().username,
102 media = media._id)) }}
103 </div>
104 {% endif %}
105 <div class="grid_5 omega">
106 {% include "mediagoblin/utils/prev_next.html" %}
107 <h3>Sidebar content here!</h3>
108 <p>
109 {% if media['uploader'] == request.user['_id'] or
110 request.user['is_admin'] %}
111 <p>
112 <a href="{{ request.urlgen('mediagoblin.edit.edit_media',
113 user= media.uploader().username,
114 media= media._id) }}"
115 ><img src="{{ request.staticdirect('/images/icon_edit.png') }}"
116 class="media_icon" />edit</a>
117 </p>
118 <p>
119 <img src="{{ request.staticdirect('/images/icon_delete.png') }}"
120 class="media_icon" />delete
121 </p>
122 {% endif %}
123 </p>
124 </div>
125 {% else %}
126 <p>Sorry, no such media found.<p/>
127 {% endif %}
128 {% endblock %}