Merge jQuery branch, resolve conflicts

This commit is contained in:
Jef van Schendel 2011-12-13 15:15:57 +01:00
commit bb3b9e4090
13 changed files with 168 additions and 100 deletions

20
extlib/jquery/MIT.txt Normal file
View 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

File diff suppressed because one or more lines are too long

View File

@ -29,15 +29,7 @@ class RegistrationForm(wtforms.Form):
password = wtforms.PasswordField(
_('Password'),
[wtforms.validators.Required(),
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."))
wtforms.validators.Length(min=6, max=30)])
email = wtforms.TextField(
_('Email address'),
[wtforms.validators.Required(),

View File

@ -96,6 +96,7 @@ input, textarea {
a.mediagoblin_logo{
color: #fff;
font-weight: bold;
margin-right: 8px;
}
.mediagoblin_footer {
@ -117,28 +118,27 @@ a.mediagoblin_logo{
/* common website elements */
.button_action, .button_action_highlight{
.button_action, .button_action_highlight {
display: inline-block;
color: #c3c3c3;
background-color: #363636;
border: 1px solid;
border-color: #464646 #2B2B2B #252525;
border-radius: 4px;
margin: 8px;
padding: 3px 8px;
font-size: 16px;
text-decoration: none;
font-style: normal;
font-weight: bold;
font-size: 1em;
display: inline-block;
cursor: pointer;
}
.button_action_highlight{
.button_action_highlight {
background-color: #86D4B1;
border-color: #A2DEC3 #6CAA8E #5C9179;
color: #283F35;
}
.button_form, .cancel_link {
height: 32px;
min-width: 99px;
@ -172,15 +172,15 @@ a.mediagoblin_logo{
background-image: linear-gradient(top, #D2D2D2, #aaa);
}
.pagination{
.pagination {
text-align: center;
}
.pagination_arrow{
.pagination_arrow {
margin: 5px;
}
.empty_space{
.empty_space {
background-image: url("../images/empty_back.png");
font-style: italic;
text-align: center;
@ -188,6 +188,18 @@ text-align: center;
padding-top: 70px;
}
.right_align {
float: right;
}
textarea#comment_content {
width: 634px;
height: 90px;
border: none;
background-color: #f1f1f1;
padding: 3px;
}
/* forms */
.form_box {
@ -274,24 +286,28 @@ text-align: center;
/* media detail */
h2.media_title{
h2.media_title {
margin-bottom: 0px;
}
p.media_uploader{
p.media_specs {
font-size: 0.9em;
border-top: 1px solid #222;
border-bottom: 1px solid #222;
padding: 10px 0px;
color: #888;
}
/* icons */
img.media_icon{
img.media_icon {
margin: 0 4px;
vertical-align: sub;
}
/* navigation */
.navigation_button{
.navigation_button {
width: 135px;
display: block;
float: left;
@ -306,7 +322,7 @@ img.media_icon{
margin: 0 0 20px
}
.navigation_left{
.navigation_left {
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
View File

@ -0,0 +1 @@
../../../../extlib/jquery/jquery.js

View File

@ -19,6 +19,26 @@
{% 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 %}
<form action="{{ request.urlgen('mediagoblin.auth.register') }}"

View File

@ -32,10 +32,11 @@
href="{{ request.staticdirect('/css/video-js.css') }}"/>
<link rel="shortcut icon"
href="{{ request.staticdirect('/images/goblin.ico') }}" />
<script type="text/javascript"
src="{{ request.staticdirect('/js/extlib/jquery.js') }}"></script>
{% block mediagoblin_head %}
{% endblock mediagoblin_head %}
</head>
<body>
{% block mediagoblin_body %}
<div class="mediagoblin_body">

View File

@ -22,13 +22,26 @@
{% block title %}{{ media.title }} &mdash; {{ 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 %}
<div class="grid_11 alpha">
<div class="media_image_container">
{% block mediagoblin_media %}
{% set display_media = request.app.public_store.file_url(
media.get_display_media(media.media_files)) %}
{# if there's a medium file size, that means the medium size
# isn't the original... so link to the original!
#}
@ -46,91 +59,96 @@
{% endif %}
{% endblock %}
</div>
<h2 class="media_title">
{{ media.title }}
</h2>
{% autoescape False %}
<p>{{ media.description_html }}</p>
{% endautoescape %}
<p class="media_uploader">
{% trans date=media.created.strftime("%Y-%m-%d"),
user_url=request.urlgen(
'mediagoblin.user_pages.user_home',
user=media.get_uploader().username),
username=media.get_uploader().username -%}
By <a href="{{ user_url }}">{{ username }}</a> on {{ date }}
{% endautoescape %}
<p class="media_specs">
{% trans date=media.created.strftime("%Y-%m-%d") -%}
Added on {{ date }}. Licensed under an <a href="#">X license</a>.
{%- 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>
<h3></h3>
{% if request.user and comments.count() %}
<p><a href="#comment_form">{% trans %}Post a comment{% endtrans %}</a></p>
{% 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 }}">
<h3>{% trans %}23 comments{% endtrans %}
<div class="right_align">
<a
{% if not request.user %}
href="{{ request.urlgen('mediagoblin.auth.login') }}"
{% 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 %}
class="button_action" id="button_addcomment" title="Add a comment">
{% trans %}Add one{% endtrans %}
</a>
</div>
</h3>
{# 0 comments. Be the first to add one! #}
{% if request.user %}
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
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) }}
<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 }}
</div>
</form>
{% 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,
request.urlgen('mediagoblin.user_pages.media_home',
user = media.get_uploader().username,
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>
request.urlgen('mediagoblin.user_pages.media_home',
user = media.get_uploader().username,
media = media._id)) }}
{% 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 %}
<h3>Attachments</h3>
<ul>
@ -143,7 +161,6 @@
{% endfor %}
</ul>
{% endif %}
{% if app_config['allow_attachments']
and (media.uploader == request.user._id
or request.user.is_admin) %}
@ -153,7 +170,6 @@
media=media._id) }}">Add attachment</a>
</p>
{% endif %}
{% if media.tags %}
{% include "mediagoblin/utils/tags.html" %}
{% endif %}

View File

@ -36,15 +36,13 @@
{% set prev_url = pagination.get_page_url_explicit(
base_url, get_params,
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 %}
{% if pagination.has_next %}
{% set next_url = pagination.get_page_url_explicit(
base_url, get_params,
pagination.page + 1) %}
<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>
<a href="{{ next_url }}">{% trans %}Older →{% endtrans %}</a>
{% endif %}
<br />
{% trans %}Go to page:{% endtrans %}

View File

@ -17,12 +17,12 @@
#}
{% block tags_content -%}
<p>{% trans %}Tagged with{% endtrans %}
<p>{% trans %}View more media tagged with{% endtrans %}
{% for tag in media.tags %}
{% if loop.last %}
{# the 'and' should only appear if there is more than one tag #}
{% if media.tags|length > 1 %}
{% trans %}and{% endtrans %}
{% trans %}or{% endtrans %}
{% endif %}
<a href="{{ request.urlgen(
'mediagoblin.listings.tags_listing',

View File

@ -21,7 +21,7 @@ from mediagoblin.tools.translate import fake_ugettext_passthrough as _
class MediaCommentForm(wtforms.Form):
comment_content = wtforms.TextAreaField(
_('Comment'),
_(''),
[wtforms.validators.Required()])