Merge jQuery branch, resolve conflicts
This commit is contained in:
commit
bb3b9e4090
20
extlib/jquery/MIT.txt
Normal file
20
extlib/jquery/MIT.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Copyright (c) <year> <copyright holders>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
4
extlib/jquery/jquery.js
vendored
Normal file
4
extlib/jquery/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -29,15 +29,7 @@ class RegistrationForm(wtforms.Form):
|
|||||||
password = wtforms.PasswordField(
|
password = wtforms.PasswordField(
|
||||||
_('Password'),
|
_('Password'),
|
||||||
[wtforms.validators.Required(),
|
[wtforms.validators.Required(),
|
||||||
wtforms.validators.Length(min=6, max=30),
|
wtforms.validators.Length(min=6, max=30)])
|
||||||
wtforms.validators.EqualTo(
|
|
||||||
'confirm_password',
|
|
||||||
_('Passwords must match.'))])
|
|
||||||
confirm_password = wtforms.PasswordField(
|
|
||||||
_('Confirm password'),
|
|
||||||
[wtforms.validators.Required()],
|
|
||||||
description=_(
|
|
||||||
u"Type it again here to make sure there are no spelling mistakes."))
|
|
||||||
email = wtforms.TextField(
|
email = wtforms.TextField(
|
||||||
_('Email address'),
|
_('Email address'),
|
||||||
[wtforms.validators.Required(),
|
[wtforms.validators.Required(),
|
||||||
|
@ -96,6 +96,7 @@ input, textarea {
|
|||||||
a.mediagoblin_logo{
|
a.mediagoblin_logo{
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
margin-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mediagoblin_footer {
|
.mediagoblin_footer {
|
||||||
@ -117,28 +118,27 @@ a.mediagoblin_logo{
|
|||||||
|
|
||||||
/* common website elements */
|
/* common website elements */
|
||||||
|
|
||||||
.button_action, .button_action_highlight{
|
.button_action, .button_action_highlight {
|
||||||
|
display: inline-block;
|
||||||
color: #c3c3c3;
|
color: #c3c3c3;
|
||||||
background-color: #363636;
|
background-color: #363636;
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
border-color: #464646 #2B2B2B #252525;
|
border-color: #464646 #2B2B2B #252525;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin: 8px;
|
|
||||||
padding: 3px 8px;
|
padding: 3px 8px;
|
||||||
|
font-size: 16px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 1em;
|
cursor: pointer;
|
||||||
display: inline-block;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.button_action_highlight{
|
.button_action_highlight {
|
||||||
background-color: #86D4B1;
|
background-color: #86D4B1;
|
||||||
border-color: #A2DEC3 #6CAA8E #5C9179;
|
border-color: #A2DEC3 #6CAA8E #5C9179;
|
||||||
color: #283F35;
|
color: #283F35;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.button_form, .cancel_link {
|
.button_form, .cancel_link {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
min-width: 99px;
|
min-width: 99px;
|
||||||
@ -172,15 +172,15 @@ a.mediagoblin_logo{
|
|||||||
background-image: linear-gradient(top, #D2D2D2, #aaa);
|
background-image: linear-gradient(top, #D2D2D2, #aaa);
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination{
|
.pagination {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pagination_arrow{
|
.pagination_arrow {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty_space{
|
.empty_space {
|
||||||
background-image: url("../images/empty_back.png");
|
background-image: url("../images/empty_back.png");
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -188,6 +188,18 @@ text-align: center;
|
|||||||
padding-top: 70px;
|
padding-top: 70px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.right_align {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea#comment_content {
|
||||||
|
width: 634px;
|
||||||
|
height: 90px;
|
||||||
|
border: none;
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
/* forms */
|
/* forms */
|
||||||
|
|
||||||
.form_box {
|
.form_box {
|
||||||
@ -274,24 +286,28 @@ text-align: center;
|
|||||||
|
|
||||||
/* media detail */
|
/* media detail */
|
||||||
|
|
||||||
h2.media_title{
|
h2.media_title {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
p.media_uploader{
|
p.media_specs {
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
|
border-top: 1px solid #222;
|
||||||
|
border-bottom: 1px solid #222;
|
||||||
|
padding: 10px 0px;
|
||||||
|
color: #888;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* icons */
|
/* icons */
|
||||||
|
|
||||||
img.media_icon{
|
img.media_icon {
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
vertical-align: sub;
|
vertical-align: sub;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* navigation */
|
/* navigation */
|
||||||
|
|
||||||
.navigation_button{
|
.navigation_button {
|
||||||
width: 135px;
|
width: 135px;
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: left;
|
||||||
@ -306,7 +322,7 @@ img.media_icon{
|
|||||||
margin: 0 0 20px
|
margin: 0 0 20px
|
||||||
}
|
}
|
||||||
|
|
||||||
.navigation_left{
|
.navigation_left {
|
||||||
margin-right: 6px;
|
margin-right: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 252 B |
Binary file not shown.
Before Width: | Height: | Size: 249 B |
1
mediagoblin/static/js/extlib/jquery.js
vendored
Symbolic link
1
mediagoblin/static/js/extlib/jquery.js
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../../extlib/jquery/jquery.js
|
@ -19,6 +19,26 @@
|
|||||||
|
|
||||||
{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
|
{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
|
||||||
|
|
||||||
|
{% block mediagoblin_head %}
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$("#password").after('<input type="text" value="" name="password_clear" id="password_clear" /><input type="checkbox" id="password_boolean" />Show password');
|
||||||
|
$('#password_clear').hide();
|
||||||
|
$('#password_boolean').click(function(){
|
||||||
|
if($('#password_boolean').prop("checked")) {
|
||||||
|
$('#password_clear').val($('#password').val());
|
||||||
|
$('#password').hide();
|
||||||
|
$('#password_clear').show();
|
||||||
|
} else {
|
||||||
|
$('#password').val($('#password_clear').val());
|
||||||
|
$('#password_clear').hide();
|
||||||
|
$('#password').show();
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock mediagoblin_head %}
|
||||||
|
|
||||||
{% block mediagoblin_content %}
|
{% block mediagoblin_content %}
|
||||||
|
|
||||||
<form action="{{ request.urlgen('mediagoblin.auth.register') }}"
|
<form action="{{ request.urlgen('mediagoblin.auth.register') }}"
|
||||||
|
@ -32,10 +32,11 @@
|
|||||||
href="{{ request.staticdirect('/css/video-js.css') }}"/>
|
href="{{ request.staticdirect('/css/video-js.css') }}"/>
|
||||||
<link rel="shortcut icon"
|
<link rel="shortcut icon"
|
||||||
href="{{ request.staticdirect('/images/goblin.ico') }}" />
|
href="{{ request.staticdirect('/images/goblin.ico') }}" />
|
||||||
|
<script type="text/javascript"
|
||||||
|
src="{{ request.staticdirect('/js/extlib/jquery.js') }}"></script>
|
||||||
{% block mediagoblin_head %}
|
{% block mediagoblin_head %}
|
||||||
{% endblock mediagoblin_head %}
|
{% endblock mediagoblin_head %}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
{% block mediagoblin_body %}
|
{% block mediagoblin_body %}
|
||||||
<div class="mediagoblin_body">
|
<div class="mediagoblin_body">
|
||||||
|
@ -22,13 +22,26 @@
|
|||||||
|
|
||||||
{% block title %}{{ media.title }} — {{ super() }}{% endblock %}
|
{% block title %}{{ media.title }} — {{ super() }}{% endblock %}
|
||||||
|
|
||||||
|
{% block mediagoblin_head %}
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$('#form_comment').hide();
|
||||||
|
$('#button_addcomment').click(function(){
|
||||||
|
$(this).fadeOut('fast');
|
||||||
|
$('#form_comment').slideDown(function(){
|
||||||
|
$('#comment_content').focus();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock mediagoblin_head %}
|
||||||
|
|
||||||
{% block mediagoblin_content %}
|
{% block mediagoblin_content %}
|
||||||
<div class="grid_11 alpha">
|
<div class="grid_11 alpha">
|
||||||
<div class="media_image_container">
|
<div class="media_image_container">
|
||||||
{% block mediagoblin_media %}
|
{% block mediagoblin_media %}
|
||||||
{% set display_media = request.app.public_store.file_url(
|
{% set display_media = request.app.public_store.file_url(
|
||||||
media.get_display_media(media.media_files)) %}
|
media.get_display_media(media.media_files)) %}
|
||||||
|
|
||||||
{# if there's a medium file size, that means the medium size
|
{# if there's a medium file size, that means the medium size
|
||||||
# isn't the original... so link to the original!
|
# isn't the original... so link to the original!
|
||||||
#}
|
#}
|
||||||
@ -46,91 +59,96 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2 class="media_title">
|
<h2 class="media_title">
|
||||||
{{ media.title }}
|
{{ media.title }}
|
||||||
</h2>
|
</h2>
|
||||||
{% autoescape False %}
|
{% autoescape False %}
|
||||||
<p>{{ media.description_html }}</p>
|
<p>{{ media.description_html }}</p>
|
||||||
{% endautoescape %}
|
{% endautoescape %}
|
||||||
<p class="media_uploader">
|
<p class="media_specs">
|
||||||
{% trans date=media.created.strftime("%Y-%m-%d"),
|
{% trans date=media.created.strftime("%Y-%m-%d") -%}
|
||||||
user_url=request.urlgen(
|
Added on {{ date }}. Licensed under an <a href="#">X license</a>.
|
||||||
'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 %}
|
{%- endtrans %}
|
||||||
|
{% if media['uploader'] == request.user._id or
|
||||||
|
request.user['is_admin'] %}
|
||||||
|
{% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
|
||||||
|
user= media.get_uploader().username,
|
||||||
|
media= media._id) %}
|
||||||
|
<a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
{% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete',
|
||||||
|
user= media.get_uploader().username,
|
||||||
|
media= media._id) %}
|
||||||
|
<a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
|
||||||
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
<h3></h3>
|
<h3>{% trans %}23 comments{% endtrans %}
|
||||||
{% if request.user and comments.count() %}
|
<div class="right_align">
|
||||||
<p><a href="#comment_form">{% trans %}Post a comment{% endtrans %}</a></p>
|
<a
|
||||||
{% endif %}
|
{% if not request.user %}
|
||||||
{% if comments %}
|
href="{{ request.urlgen('mediagoblin.auth.login') }}"
|
||||||
{% 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 %}
|
{% endif %}
|
||||||
|
class="button_action" id="button_addcomment" title="Add a comment">
|
||||||
<div class="comment_content">{% autoescape False %}{{ comment.content_html }}
|
{% trans %}Add one{% endtrans %}
|
||||||
{% endautoescape %}
|
</a>
|
||||||
<img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
|
</div>
|
||||||
<a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
|
</h3>
|
||||||
user = comment_author.username) }}">
|
{# 0 comments. Be the first to add one! #}
|
||||||
{{ 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 %}
|
{% if request.user %}
|
||||||
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
|
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
|
||||||
user= media.get_uploader().username,
|
user= media.get_uploader().username,
|
||||||
media=media._id) }}" method="POST">
|
media=media._id) }}" method="POST" id="form_comment">
|
||||||
|
<p>
|
||||||
|
{% trans %}Type your comment here. You can use <a href="http://daringfireball.net/projects/markdown/basics" target="_blank">Markdown</a> for formatting.{% endtrans %}
|
||||||
|
</p>
|
||||||
{{ wtforms_util.render_divs(comment_form) }}
|
{{ wtforms_util.render_divs(comment_form) }}
|
||||||
<div class="form_submit_buttons">
|
<div class="form_submit_buttons">
|
||||||
<input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button_form" />
|
<input type="submit" value="{% trans %}Add this comment{% endtrans %}" class="button_action" />
|
||||||
{{ csrf_token }}
|
{{ csrf_token }}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{% endif %}
|
{% 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 %}
|
||||||
{{ render_pagination(request, pagination,
|
{{ render_pagination(request, pagination,
|
||||||
request.urlgen('mediagoblin.user_pages.media_home',
|
request.urlgen('mediagoblin.user_pages.media_home',
|
||||||
user = media.get_uploader().username,
|
user = media.get_uploader().username,
|
||||||
media = media._id)) }}
|
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 %}
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="grid_5 omega">
|
||||||
|
{% trans user_url=request.urlgen(
|
||||||
|
'mediagoblin.user_pages.user_home',
|
||||||
|
user=media.get_uploader().username),
|
||||||
|
username=media.get_uploader().username -%}
|
||||||
|
<p>❖ Browsing media by <a href="{{ user_url }}">{{ username }}</a></p>
|
||||||
|
{%- endtrans %}
|
||||||
|
{% include "mediagoblin/utils/prev_next.html" %}
|
||||||
{% if media.attachment_files|count %}
|
{% if media.attachment_files|count %}
|
||||||
<h3>Attachments</h3>
|
<h3>Attachments</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -143,7 +161,6 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if app_config['allow_attachments']
|
{% if app_config['allow_attachments']
|
||||||
and (media.uploader == request.user._id
|
and (media.uploader == request.user._id
|
||||||
or request.user.is_admin) %}
|
or request.user.is_admin) %}
|
||||||
@ -153,7 +170,6 @@
|
|||||||
media=media._id) }}">Add attachment</a>
|
media=media._id) }}">Add attachment</a>
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if media.tags %}
|
{% if media.tags %}
|
||||||
{% include "mediagoblin/utils/tags.html" %}
|
{% include "mediagoblin/utils/tags.html" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -36,15 +36,13 @@
|
|||||||
{% set prev_url = pagination.get_page_url_explicit(
|
{% set prev_url = pagination.get_page_url_explicit(
|
||||||
base_url, get_params,
|
base_url, get_params,
|
||||||
pagination.page - 1) %}
|
pagination.page - 1) %}
|
||||||
<a href="{{ prev_url }}"><img class="pagination_arrow" src="{{ request.staticdirect('/images/pagination_left.png') }}" alt="Previous page" /></a>
|
<a href="{{ prev_url }}">{% trans %}← Newer{% endtrans %}</a>
|
||||||
<a href="{{ prev_url }}">{% trans %}Newer{% endtrans %}</a>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if pagination.has_next %}
|
{% if pagination.has_next %}
|
||||||
{% set next_url = pagination.get_page_url_explicit(
|
{% set next_url = pagination.get_page_url_explicit(
|
||||||
base_url, get_params,
|
base_url, get_params,
|
||||||
pagination.page + 1) %}
|
pagination.page + 1) %}
|
||||||
<a href="{{ next_url }}">{% trans %}Older{% endtrans %}</a>
|
<a href="{{ next_url }}">{% trans %}Older →{% endtrans %}</a>
|
||||||
<a href="{{ next_url }}"><img class="pagination_arrow" src="{{ request.staticdirect('/images/pagination_right.png') }}" alt="Next page" /></a>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<br />
|
<br />
|
||||||
{% trans %}Go to page:{% endtrans %}
|
{% trans %}Go to page:{% endtrans %}
|
||||||
|
@ -17,12 +17,12 @@
|
|||||||
#}
|
#}
|
||||||
|
|
||||||
{% block tags_content -%}
|
{% block tags_content -%}
|
||||||
<p>{% trans %}Tagged with{% endtrans %}
|
<p>{% trans %}View more media tagged with{% endtrans %}
|
||||||
{% for tag in media.tags %}
|
{% for tag in media.tags %}
|
||||||
{% if loop.last %}
|
{% if loop.last %}
|
||||||
{# the 'and' should only appear if there is more than one tag #}
|
{# the 'and' should only appear if there is more than one tag #}
|
||||||
{% if media.tags|length > 1 %}
|
{% if media.tags|length > 1 %}
|
||||||
{% trans %}and{% endtrans %}
|
{% trans %}or{% endtrans %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{{ request.urlgen(
|
<a href="{{ request.urlgen(
|
||||||
'mediagoblin.listings.tags_listing',
|
'mediagoblin.listings.tags_listing',
|
||||||
|
@ -21,7 +21,7 @@ from mediagoblin.tools.translate import fake_ugettext_passthrough as _
|
|||||||
|
|
||||||
class MediaCommentForm(wtforms.Form):
|
class MediaCommentForm(wtforms.Form):
|
||||||
comment_content = wtforms.TextAreaField(
|
comment_content = wtforms.TextAreaField(
|
||||||
_('Comment'),
|
_(''),
|
||||||
[wtforms.validators.Required()])
|
[wtforms.validators.Required()])
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user