summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/about.html23
-rw-r--r--templates/authopenid/complete.html14
-rw-r--r--templates/authopenid/external_legacy_login_info.html2
-rw-r--r--templates/authopenid/signup.html14
-rw-r--r--templates/badge.html2
-rw-r--r--templates/badges.html4
-rwxr-xr-xtemplates/base.html4
-rw-r--r--templates/base_content.html6
-rw-r--r--templates/content/images/logo.pngbin1902 -> 0 bytes
-rw-r--r--templates/content/jquery-openid/images/local-login.pngbin2522 -> 0 bytes
-rw-r--r--templates/content/jquery-openid/jquery.openid.js2
-rw-r--r--templates/content/js/com.cnprog.admin.js2
-rw-r--r--templates/content/js/com.cnprog.editor.js2
-rw-r--r--templates/content/js/com.cnprog.i18n.js2
-rw-r--r--templates/content/js/com.cnprog.post.js63
-rw-r--r--templates/content/js/com.cnprog.tag_selector.js45
-rw-r--r--templates/content/js/com.cnprog.utils.js51
-rw-r--r--templates/content/js/mediawiki-login.js29
-rw-r--r--templates/content/style/mediawiki-login.css63
-rw-r--r--templates/content/style/style.css22
-rw-r--r--templates/footer.html23
-rw-r--r--templates/header.html6
-rw-r--r--templates/mediawiki/mediawiki_signup.html9
-rw-r--r--templates/mediawiki/mediawiki_signup_content.html110
-rw-r--r--templates/mediawiki/thanks_for_joining.html76
-rw-r--r--templates/mediawiki/welcome_email.txt28
-rw-r--r--templates/mediawiki/welcome_professor_email.txt19
-rw-r--r--templates/notarobot.html15
-rw-r--r--templates/tag_selector.html2
29 files changed, 511 insertions, 127 deletions
diff --git a/templates/about.html b/templates/about.html
index ec4b6a73..66dcc3fd 100644
--- a/templates/about.html
+++ b/templates/about.html
@@ -12,24 +12,25 @@
</div>
<div class="content">
- <p><strong>{{settings.APP_SHORT_NAME}}</strong> is a collaboratively edited question and answer site created with
- <a href="http://osqa.net">OSQA: The Open Source Q&A System</a>.</p>
+ <p class="strong">Please customize file templates/about.html</p>
<p>Here you can <strong>ask</strong> and <strong>answer</strong> questions, <strong>comment</strong>
and <strong>vote</strong> for the questions of others and their answers. Both questions and answers
<strong>can be revised</strong> and improved. Questions can be <strong>tagged</strong> with
- the relevant keywords to simplify future access and organize the accumulated material.</p>
+ the relevant keywords to simplify future access and organize the accumulated material.
+ </p>
- <p>This OSQA site is moderated by its members, hopefully - including yourself!
+ <p>This <span class="orange">Q&amp;A</span> site is moderated by its members, hopefully - including yourself!
Moderation rights are gradually assigned to the site users based on the accumulated <strong>"reputation"</strong>
points. These points are added to the users account when others vote for his/her questions or answers.
- These points (very) roughly reflect the level of trust of the community.</p>
-
- <p>No points are necessary to ask or answer the questions - so please - <strong><a href="{% url user_signin %}">join
- us!</a></strong></p>
-
- <p>If you would like to find out more about this site - please see <strong><a href="{% url faq %}">frequently
- asked questions</a></strong>.</p>
+ These points (very) roughly reflect the level of trust of the community.
+ </p>
+ <p>No points are necessary to ask or answer the questions - so please -
+ <strong><a href="{% url user_signin %}">join us!</a></strong>
+ </p>
+ <p>
+ If you would like to find out more about this site - please see <strong><a href="{% url faq %}">frequently asked questions</a></strong>.
+ </p>
</div>
{% endblock %}
<!-- end template about.html -->
diff --git a/templates/authopenid/complete.html b/templates/authopenid/complete.html
index 1606cfc5..c967e8e2 100644
--- a/templates/authopenid/complete.html
+++ b/templates/authopenid/complete.html
@@ -11,7 +11,7 @@ parameters:
* username (same as screen name or username in the models, and nickname in openid sreg)
* form1 - OpenidRegisterForm
* form2 - OpenidVerifyForm not clear what this form is supposed to do, not used for legacy
-* email_feeds_form forum.forms.EditUserEmailFeedsForm
+* email_feeds_form forum.forms.SimpleEmailSubscribeForm
* openid_username_exists
{% endcomment %}
{% load i18n %}
@@ -92,9 +92,11 @@ parameters:
{% endif %}
{{ form1.email }}
</div>
- <p class='nomargin'>{% trans "receive updates motivational blurb" %}</p>
- {% include "edit_user_email_feeds_form.html" %}
- <p class='nomargin'>{% trans "Tag filter tool will be your right panel, once you log in." %}</p>
+ <p>{% trans "receive updates motivational blurb" %}</p>
+ <div class='simple-subscribe-options'>
+ {{email_feeds_form.subscribe}}
+ </div>
+ <p class='space-above'>{% trans "Tag filter tool will be your right panel, once you log in." %}</p>
<div class="submit-row"><input type="submit" class="submit" name="bnewaccount" value="{% trans "create account" %}"/></div>
</form>
</div>
@@ -108,7 +110,9 @@ parameters:
<div class="form-row"><label for="id_username">{% trans "user name" %}</label><br/>{{ form2.username }}</div>
<div class="form-row"><label for="id_passwordl">{% trans "password" %}</label><br/>{{ form2.password }}</div>
<p><span class='big strong'>(Optional) receive updates by email</span> - only sent when there are any.</p>
- {% include "edit_user_email_feeds_form.html" %}
+ <div class='simple-subscribe-options'>
+ {{email_feeds_form.subscribe}}
+ </div>
<!--todo double check translation from chinese 确认 = "Register" -->
<div class="submit-row">
<input type="submit" class="submit" name="bverify" value="{% trans "Register" %}"/>
diff --git a/templates/authopenid/external_legacy_login_info.html b/templates/authopenid/external_legacy_login_info.html
index c200b29d..3318499c 100644
--- a/templates/authopenid/external_legacy_login_info.html
+++ b/templates/authopenid/external_legacy_login_info.html
@@ -9,7 +9,7 @@
{% spaceless %}
<div class="message">
<!--add info about your external login site here-->
-{% trans "how to login with password through external login website" %}
+{% blocktrans %}how to login with password through external login website or use {{feedback_url}}{% endblocktrans %}
</div>
{% endspaceless %}
{% endblock %}
diff --git a/templates/authopenid/signup.html b/templates/authopenid/signup.html
index 45dfb51b..d800eaf9 100644
--- a/templates/authopenid/signup.html
+++ b/templates/authopenid/signup.html
@@ -10,10 +10,18 @@
<p class="message">{% trans "Traditional signup info" %}</p>
<form action="{% url user_signup %}" method="post" accept-charset="utf-8">
<ul class="form-horizontal-rows">
- {{form.as_ul}}
+ <li><label for="usename_id">{{form.username.label}}</label>{{form.username}}{{form.username.errors}}</li>
+ <li><label for="email_id">{{form.email.label}}</label>{{form.email}}{{form.email.errors}}</li>
+ <li><label for="password1_id">{{form.password1.label}}</label>{{form.password1}}{{form.password1.errors}}</li>
+ <li><label for="password2_id">{{form.password2.label}}</label>{{form.password2}}{{form.password2.errors}}</li>
</ul>
- <p style="margin:10px 0px 0px 3px;">{% trans "receive updates motivational blurb" %}</p>
- {% include "edit_user_email_feeds_form.html" %}
+ <p class="signup_p">{% trans "receive updates motivational blurb" %}</p>
+ <p class="signup_p">{% trans "Please select your preferred email update schedule for the following groups of questions:" %}</p>
+ <div class='simple-subscribe-options'>
+ {{email_feeds_form.subscribe}}
+ </div>
+ <p class="signup_p">{% trans "Please read and type in the two words below to help us prevent automated account creation." %}</p>
+ {{form.recaptcha}}
<div class="submit-row"><input type="submit" class="submit" value="{% trans "Create Account" %}" />
<strong>{% trans "or" %}
<a href="{% url user_signin %}">{% trans "return to OpenID login" %}</a></strong></div>
diff --git a/templates/badge.html b/templates/badge.html
index 73cba4ba..af6aa2a2 100644
--- a/templates/badge.html
+++ b/templates/badge.html
@@ -28,7 +28,7 @@
</div>
<div id="award-list" style="clear:both;margin-left:20px;line-height:25px;">
{% for award in awards %}
- <p style="width:185px;float:left"><a href="{% url users %}{{ award.id }}/{{ award.name }}">{{ award.name }}</a> {% get_score_badge_by_details award.rep award.gold award.silver award.bronze %}</p>
+ <p style="width:180px;float:left"><a href="{% url users %}{{ award.id }}/{{ award.name }}">{{ award.name }}</a> {% get_score_badge_by_details award.rep award.gold award.silver award.bronze %}</p>
{% endfor %}
</div>
diff --git a/templates/badges.html b/templates/badges.html
index 1902a3b0..8de93df5 100644
--- a/templates/badges.html
+++ b/templates/badges.html
@@ -33,10 +33,10 @@
{% endifequal %}
{% endfor %}
</div>
- <div style="float:left;width:180px;">
+ <div style="float:left;width:230px;">
<a href="{{badge.get_absolute_url}}" title="{{ badge.get_type_display }} : {{ badge.description }}" class="medal"><span class="badge{{ badge.type }}">&#9679;</span>&nbsp;{{ badge.name }}</a><strong> &#215; {{ badge.awarded_count|intcomma }}</strong>
</div>
- <p style="float:left;width:350px;">
+ <p style="float:left;margin-top:8px;">
{{ badge.description }}
</p>
</div>
diff --git a/templates/base.html b/templates/base.html
index a33512cc..17a32ef2 100755
--- a/templates/base.html
+++ b/templates/base.html
@@ -11,7 +11,7 @@
{% endspaceless %}
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
{% if settings.GOOGLE_SITEMAP_CODE %}
- <meta name="verify-v1" content="{{settings.GOOGLE_SITEMAP_CODE}}" />
+ <meta name="google-site-verification" content="{{settings.GOOGLE_SITEMAP_CODE}}" />
{% endif %}
<link rel="shortcut icon" href="{% href "/content/images/favicon.ico" %}" />
<link href="{% href "/content/style/style.css" %}" rel="stylesheet" type="text/css" />
@@ -46,7 +46,7 @@
body { margin-top:2.4em; }
</style>
<script type="text/javascript">
- $().ready(function() {
+ $(document).ready(function() {
$('#validate_email_alert').click(function(){notify.close(true)})
notify.show();
});
diff --git a/templates/base_content.html b/templates/base_content.html
index 78e5fe38..eacdc6d0 100644
--- a/templates/base_content.html
+++ b/templates/base_content.html
@@ -7,7 +7,7 @@
<title>{% block title %}{% endblock %} - {{ settings.APP_TITLE }}</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
{% if settings.GOOGLE_SITEMAP_CODE %}
- <meta name="verify-v1" content="{{ settings.GOOGLE_SITEMAP_CODE }}" />
+ <meta name="google-site-verification" content="{{ settings.GOOGLE_SITEMAP_CODE }}" />
{% endif %}
<link rel="shortcut icon" href="{% href "/content/images/favicon.ico" %}" />
<link href="{% href "/content/style/style.css" %}" rel="stylesheet" type="text/css" />
@@ -48,7 +48,7 @@
body { margin-top:2.4em; }
</style>
<script type="text/javascript">
- $().ready(function() {
+ $(document).ready(function() {
var element = $('#validate_email_alert')
element.click(function(){notify.close(true);setTimeout(function(){},1000)})
notify.show();
@@ -64,7 +64,7 @@
{% autoescape off %}
{% if user_messages %}
{% for message in user_messages %}
- <p class="darkred">{{ message }}<p>
+ <p class="darkred">{{ message }}</p>
{% endfor %}
{% endif %}
{% endautoescape %}
diff --git a/templates/content/images/logo.png b/templates/content/images/logo.png
deleted file mode 100644
index b53732e3..00000000
--- a/templates/content/images/logo.png
+++ /dev/null
Binary files differ
diff --git a/templates/content/jquery-openid/images/local-login.png b/templates/content/jquery-openid/images/local-login.png
deleted file mode 100644
index 258cedac..00000000
--- a/templates/content/jquery-openid/images/local-login.png
+++ /dev/null
Binary files differ
diff --git a/templates/content/jquery-openid/jquery.openid.js b/templates/content/jquery-openid/jquery.openid.js
index 763af2c6..8d1cd204 100644
--- a/templates/content/jquery-openid/jquery.openid.js
+++ b/templates/content/jquery-openid/jquery.openid.js
@@ -53,7 +53,7 @@ $.fn.openid = function() {
$localfs.fadeOut('slow');
$idfs.fadeOut('slow');
$id.val($this.find("li.highlight span").text());
- setTimeout(function(){$('#bsignin').click()},1000);
+ setTimeout(function(){$('#bsignin').click();},1000);
return false;
};
diff --git a/templates/content/js/com.cnprog.admin.js b/templates/content/js/com.cnprog.admin.js
index cb1c1b15..39dff48c 100644
--- a/templates/content/js/com.cnprog.admin.js
+++ b/templates/content/js/com.cnprog.admin.js
@@ -1,4 +1,4 @@
-$().ready( function(){
+$(document).ready( function(){
var options = {
success: function(a,b){$('.admin #action_status').html($.i18n._('changes saved'));},
dataType:'json',
diff --git a/templates/content/js/com.cnprog.editor.js b/templates/content/js/com.cnprog.editor.js
index 6cfa2c74..18cc5166 100644
--- a/templates/content/js/com.cnprog.editor.js
+++ b/templates/content/js/com.cnprog.editor.js
@@ -65,4 +65,4 @@ function ajaxFileUpload(imageUrl)
)
return false;
-} \ No newline at end of file
+}
diff --git a/templates/content/js/com.cnprog.i18n.js b/templates/content/js/com.cnprog.i18n.js
index 7562628b..da9bf396 100644
--- a/templates/content/js/com.cnprog.i18n.js
+++ b/templates/content/js/com.cnprog.i18n.js
@@ -1,3 +1,5 @@
+
+//var i18nLang;
var i18nZh = {
'insufficient privilege':'用户权限不在操作范围',
'cannot pick own answer as best':'不能设置自己的回答为最佳答案',
diff --git a/templates/content/js/com.cnprog.post.js b/templates/content/js/com.cnprog.post.js
index a073d20f..668c80fe 100644
--- a/templates/content/js/com.cnprog.post.js
+++ b/templates/content/js/com.cnprog.post.js
@@ -61,7 +61,7 @@ var Vote = function(){
var pleaseSeeFAQ = $.i18n._('please see') + "<a href='" + scriptUrl + $.i18n._("faq/") + "'>faq</a>";
- var favoriteAnonymousMessage = $.i18n._('anonymous users cannot select favorite questions')
+ var favoriteAnonymousMessage = $.i18n._('anonymous users cannot select favorite questions');
var voteAnonymousMessage = $.i18n._('anonymous users cannot vote') + pleaseLogin;
var upVoteRequiredScoreMessage = $.i18n._('>15 points requried to upvote') + pleaseSeeFAQ;
var downVoteRequiredScoreMessage = $.i18n._('>100 points required to downvote') + pleaseSeeFAQ;
@@ -242,7 +242,8 @@ var Vote = function(){
url: scriptUrl + $.i18n._("questions/") + questionId + "/" + $.i18n._("vote/"),
data: { "type": voteType, "postId": postId },
error: handleFail,
- success: function(data){callback(object, voteType, data)}});
+ success: function(data){callback(object, voteType, data);}
+ });
};
var handleFail = function(xhr, msg){
@@ -287,8 +288,9 @@ var Vote = function(){
object.attr("src", scriptUrl + "content/images/vote-favorite-off.png");
var fav = getFavoriteNumber();
fav.removeClass("my-favorite-number");
- if(data.count == 0)
+ if(data.count === 0){
data.count = '';
+ }
fav.text(data.count);
}
else if(data.success == "1"){
@@ -456,9 +458,12 @@ var Vote = function(){
submit($(object), voteType, callback_remove);
}
}
- }
+ };
} ();
+var questionComments = createComments('question');
+var answerComments = createComments('answer');
+var commentsFactory = {'question' : questionComments, 'answer' : answerComments};
// site comments
function createComments(type) {
@@ -482,12 +487,12 @@ function createComments(type) {
$(jDiv).css('background','none');
$(jDiv).css('padding-left',0);
if (canPostComments(id)) {
- if (jDiv.find("#" + formId).length == 0) {
+ if (jDiv.find("#" + formId).length === 0) {
var form = '<form id="' + formId + '" class="post-comments"><div>';
form += '<textarea name="comment" cols="60" rows="5" maxlength="300" onblur="'+ objectType +'Comments.updateTextCounter(this)" ';
form += 'onfocus="' + objectType + 'Comments.updateTextCounter(this)" onkeyup="'+ objectType +'Comments.updateTextCounter(this)"></textarea>';
- form += '<input type="submit" value="'
- + $.i18n._('add comment') + '" /><br><span class="text-counter"></span>';
+ form += '<input type="submit" value="' +
+ $.i18n._('add comment') + '" /><br><span class="text-counter"></span>';
form += '<span class="form-error"></span></div></form>';
jDiv.append(form);
@@ -499,20 +504,20 @@ function createComments(type) {
}
else {
var divId = "comments-rep-needed-" + objectType + '-' + id;
- if (jDiv.find("#" + divId).length == 0) {
- jDiv.append('<p id="' + divId + '" class="comment">'
- + $.i18n._('to comment, need') + ' ' +
- + repNeededForComments + ' ' + $.i18n._('community karma points')
- + '<a href="' + scriptUrl + $.i18n._('faq/') + '" class="comment-user">'
- + $.i18n._('please see') + 'faq</a></span></p>');
+ if (jDiv.find("#" + divId).length === 0) {
+ jDiv.append('<p id="' + divId + '" class="comment">' +
+ $.i18n._('to comment, need') + ' ' +
+ repNeededForComments + ' ' + $.i18n._('community karma points') +
+ '<a href="' + scriptUrl + $.i18n._('faq/') + '" class="comment-user">' +
+ $.i18n._('please see') + 'faq</a></span></p>');
}
}
};
var getComments = function(id, jDiv) {
//appendLoaderImg(id);
- $.getJSON(scriptUrl + objectType + "s/" + id + "/" + $.i18n._("comments/")
- , function(json) { showComments(id, json); });
+ $.getJSON(scriptUrl + objectType + "s/" + id + "/" + $.i18n._("comments/"),
+ function(json) { showComments(id, json); });
};
var showComments = function(id, json) {
@@ -523,8 +528,9 @@ function createComments(type) {
jDiv.children().remove();
removeLoader();
if (json && json.length > 0) {
- for (var i = 0; i < json.length; i++)
+ for (var i = 0; i < json.length; i++){
renderComment(jDiv, json[i]);
+ }
jDiv.children().show();
}
};
@@ -535,14 +541,14 @@ function createComments(type) {
var img = scriptUrl + "content/images/close-small.png";
var imgHover = scriptUrl + "content/images/close-small-hover.png";
html += '<img class="delete-icon" onclick="' + objectType + 'Comments.deleteComment($(this), ' + post_id + ', \'' + delete_url + '\')" src="' + img;
- html += '" onmouseover="$(this).attr(\'src\', \'' + imgHover + '\')" onmouseout="$(this).attr(\'src\', \'' + img
+ html += '" onmouseover="$(this).attr(\'src\', \'' + imgHover + '\')" onmouseout="$(this).attr(\'src\', \'' + img;
html += '\')" title="' + $.i18n._('delete this comment') + '" />';
return html;
}
else{
return '';
}
- }
+ };
// {"Id":6,"PostId":38589,"CreationDate":"an hour ago","Text":"hello there!","UserDisplayName":"Jarrod Dixon","UserUrl":"/users/3/jarrod-dixon","DeleteUrl":null}
var renderComment = function(jDiv, json) {
@@ -604,8 +610,8 @@ function createComments(type) {
$(this).children().each(
function(i){
var comment_id = $(this).attr('id').replace('comment-','');
- var delete_url = scriptUrl + objectType + 's/' + post_id + '/'
- + $.i18n._('comments/') + comment_id + '/' + $.i18n._('delete/');
+ var delete_url = scriptUrl + objectType + 's/' + post_id + '/' +
+ $.i18n._('comments/') + comment_id + '/' + $.i18n._('delete/');
var html = $(this).html();
var CommentsClass;
if (objectType == 'question'){
@@ -638,14 +644,14 @@ function createComments(type) {
jDiv.show();
var link = $('#comments-link-' + objectType + '-' + id);
- if (canPostComments(id)) link.parent().find("textarea").get(0).focus();
+ if (canPostComments(id)) { link.parent().find("textarea").get(0).focus(); }
link.remove();
},
hide: function(id) {
var jDiv = jDivInit(id);
var len = jDiv.children("div.comments").children().length;
- var anchorText = len == 0 ? $.i18n._('add a comment') : $.i18n._('comments') + ' (<b>' + len + "</b>)";
+ var anchorText = len === 0 ? $.i18n._('add a comment') : $.i18n._('comments') + ' (<b>' + len + "</b>)";
jDiv.hide();
jDiv.siblings("a").unbind("click").click(function() { commentsFactory[objectType].show(id); }).html(anchorText);
@@ -666,23 +672,18 @@ function createComments(type) {
var length = textarea.value ? textarea.value.length : 0;
var color = length > 270 ? "#f00" : length > 200 ? "#f60" : "#999";
var jSpan = $(textarea).siblings("span.text-counter");
- jSpan.html($.i18n._('can write')
- + (300 - length) + ' '
- + $.i18n._('characters')).css("color", color);
+ jSpan.html($.i18n._('can write') +
+ (300 - length) + ' ' +
+ $.i18n._('characters')).css("color", color);
}
};
}
-var questionComments = createComments('question');
-var answerComments = createComments('answer');
-
-$().ready(function() {
+$(document).ready(function() {
questionComments.init();
answerComments.init();
});
-var commentsFactory = {'question' : questionComments, 'answer' : answerComments};
-
/*
Prettify
http://www.apache.org/licenses/LICENSE-2.0
diff --git a/templates/content/js/com.cnprog.tag_selector.js b/templates/content/js/com.cnprog.tag_selector.js
index f6c16c9c..06aefcfc 100644
--- a/templates/content/js/com.cnprog.tag_selector.js
+++ b/templates/content/js/com.cnprog.tag_selector.js
@@ -1,7 +1,8 @@
+//var scriptUrl, interestingTags, ignoredTags, tags, $;
function pickedTags(){
var sendAjax = function(tagname, reason, action, callback){
- url = scriptUrl;
+ var url = scriptUrl;
if (action == 'add'){
url += $.i18n._('mark-tag/');
if (reason == 'good'){
@@ -16,15 +17,15 @@ function pickedTags(){
}
url = url + tagname + '/';
- call_settings = {
+ var call_settings = {
type:'POST',
url:url
- }
- if (callback != false){
- call_settings['success'] = callback;
+ };
+ if (callback !== false){
+ call_settings.success = callback;
}
$.ajax(call_settings);
- }
+ };
var unpickTag = function(from_target ,tagname, reason, send_ajax){
@@ -32,7 +33,7 @@ function pickedTags(){
var deleteTagLocally = function(){
from_target[tagname].remove();
delete from_target[tagname];
- }
+ };
if (send_ajax){
sendAjax(tagname,reason,'remove',deleteTagLocally);
}
@@ -40,7 +41,7 @@ function pickedTags(){
deleteTagLocally();
}
- }
+ };
var setupTagDeleteEvents = function(obj,tag_store,tagname,reason,send_ajax){
obj.unbind('mouseover').bind('mouseover', function(){
@@ -52,12 +53,13 @@ function pickedTags(){
obj.click( function(){
unpickTag(tag_store,tagname,reason,send_ajax);
});
- }
+ };
var handlePickedTag = function(obj,reason){
var tagname = $.trim($(obj).prev().attr('value'));
- to_target = interestingTags;
- from_target = ignoredTags;
+ var to_target = interestingTags;
+ var from_target = ignoredTags;
+ var to_tag_container;
if (reason == 'bad'){
to_target = ignoredTags;
from_target = interestingTags;
@@ -78,13 +80,13 @@ function pickedTags(){
//send ajax request to pick this tag
sendAjax(tagname,reason,'add',function(){
- new_tag = $('<span></span>');
+ var new_tag = $('<span></span>');
new_tag.addClass('deletable-tag');
- tag_link = $('<a></a>');
+ var tag_link = $('<a></a>');
tag_link.attr('rel','tag');
tag_link.attr('href', scriptUrl + $.i18n._('tags/') + tagname);
tag_link.html(tagname);
- del_link = $('<img></img>');
+ var del_link = $('<img></img>');
del_link.addClass('delete-icon');
del_link.attr('src', scriptUrl + 'content/images/close-small-dark.png');
@@ -97,7 +99,7 @@ function pickedTags(){
to_target[tagname] = new_tag;
});
}
- }
+ };
var collectPickedTags = function(){
var good_prefix = 'interesting-tag-';
@@ -108,7 +110,8 @@ function pickedTags(){
ignoredTags = {};
$('.deletable-tag').each(
function(i,item){
- item_id = $(item).attr('id')
+ var item_id = $(item).attr('id');
+ var tag_name, tag_store;
if (good_re.test(item_id)){
tag_name = item_id.replace(good_prefix,'');
tag_store = interestingTags;
@@ -123,10 +126,10 @@ function pickedTags(){
return;
}
tag_store[tag_name] = $(item);
- setupTagDeleteEvents($(item).find('img'),tag_store,tag_name,reason,true)
+ setupTagDeleteEvents($(item).find('img'),tag_store,tag_name,reason,true);
}
);
- }
+ };
var setupHideIgnoredQuestionsControl = function(){
$('#hideIgnoredTagsCb').unbind('click').click(function(){
@@ -138,7 +141,7 @@ function pickedTags(){
data: {command:'toggle-ignored-questions'}
});
});
- }
+ };
return {
init: function(){
collectPickedTags();
@@ -157,8 +160,8 @@ function pickedTags(){
}
});
- $("#interestingTagAdd").click(function(){handlePickedTag(this,'good')});
- $("#ignoredTagAdd").click(function(){handlePickedTag(this,'bad')});
+ $("#interestingTagAdd").click(function(){handlePickedTag(this,'good');});
+ $("#ignoredTagAdd").click(function(){handlePickedTag(this,'bad');});
}
};
}
diff --git a/templates/content/js/com.cnprog.utils.js b/templates/content/js/com.cnprog.utils.js
index b19b6773..4c3aafba 100644
--- a/templates/content/js/com.cnprog.utils.js
+++ b/templates/content/js/com.cnprog.utils.js
@@ -1,6 +1,7 @@
+//var $, scriptUrl;
var showMessage = function(object, msg) {
- var div = $('<div class="vote-notification"><h3>' + msg + '</h3>('
- + $.i18n._('click to close') + ')</div>');
+ var div = $('<div class="vote-notification"><h3>' + msg + '</h3>(' +
+ $.i18n._('click to close') + ')</div>');
div.click(function(event) {
$(".vote-notification").fadeOut("fast", function() { $(this).remove(); });
@@ -35,18 +36,30 @@ var notify = function() {
} ();
function appendLoader(containerSelector) {
- $(containerSelector).append('<img class="ajax-loader" '
- +'src="' + scriptUrl + 'content/images/indicator.gif" title="'
- +$.i18n._('loading...')
- +'" alt="'
- +$.i18n._('loading...')
- +'" />');
+ $(containerSelector).append('<img class="ajax-loader" ' +
+ 'src="' + scriptUrl + 'content/images/indicator.gif" title="' +
+ $.i18n._('loading...') +
+ '" alt="' +
+ $.i18n._('loading...') +
+ '" />');
}
function removeLoader() {
$("img.ajax-loader").remove();
}
+function setSubmitButtonDisabled(formSelector, isDisabled) {
+ $(formSelector).find("input[type='submit']").attr("disabled", isDisabled ? "true" : "");
+}
+
+function enableSubmitButton(formSelector) {
+ setSubmitButtonDisabled(formSelector, false);
+}
+
+function disableSubmitButton(formSelector) {
+ setSubmitButtonDisabled(formSelector, true);
+}
+
function setupFormValidation(formSelector, validationRules, validationMessages, onSubmitCallback) {
enableSubmitButton(formSelector);
$(formSelector).validate({
@@ -56,7 +69,7 @@ function setupFormValidation(formSelector, validationRules, validationMessages,
errorClass: "form-error",
errorPlacement: function(error, element) {
var span = element.next().find("span.form-error");
- if (span.length == 0) {
+ if (span.length === 0) {
span = element.parent().find("span.form-error");
}
span.replaceWith(error);
@@ -64,24 +77,16 @@ function setupFormValidation(formSelector, validationRules, validationMessages,
submitHandler: function(form) {
disableSubmitButton(formSelector);
- if (onSubmitCallback)
+ if (onSubmitCallback){
onSubmitCallback();
- else
+ }
+ else{
form.submit();
+ }
}
});
}
-function enableSubmitButton(formSelector) {
- setSubmitButtonDisabled(formSelector, false);
-}
-function disableSubmitButton(formSelector) {
- setSubmitButtonDisabled(formSelector, true);
-}
-function setSubmitButtonDisabled(formSelector, isDisabled) {
- $(formSelector).find("input[type='submit']").attr("disabled", isDisabled ? "true" : "");
-}
-
var CPValidator = function(){
return {
getQuestionFormRules : function(){
@@ -108,11 +113,11 @@ var CPValidator = function(){
},
text: {
required: " " + $.i18n._('content cannot be empty'),
- minlength: jQuery.format(' ' + $.i18n._('content minchars'))
+ minlength: $.format(' ' + $.i18n._('content minchars'))
},
title: {
required: " " + $.i18n._('please enter title'),
- minlength: jQuery.format(' ' + $.i18n._('title minchars'))
+ minlength: $.format(' ' + $.i18n._('title minchars'))
}
};
}
diff --git a/templates/content/js/mediawiki-login.js b/templates/content/js/mediawiki-login.js
new file mode 100644
index 00000000..f1805f88
--- /dev/null
+++ b/templates/content/js/mediawiki-login.js
@@ -0,0 +1,29 @@
+function toggleScreenNameInput(par1,par2){
+ if ($(this).is(':checked')){
+ $('.optional-screen-name').show();
+ }
+ else {
+ $('#id_screen_name').val('');
+ $('.optional-screen-name').hide();
+ }
+}
+
+function toggleScreenNameErrorMessage(e){
+ var screen_name = $('#id_screen_name').val();
+ if (screen_name != ''){
+ $('.screen-name-error').hide();
+ }
+ else{
+ $('.screen-name-error').show();
+ }
+}
+
+$(document).ready( function(){
+ var screen_name = $('#id_screen_name').val();
+ var use_screen_name = $('#id_use_separate_screen_name').is(':checked');
+ if (screen_name == '' && !use_screen_name){
+ $('.optional-screen-name').hide();
+ }
+ $('#id_use_separate_screen_name').unbind('click').click(toggleScreenNameInput);
+ $('#id_screen_name').unbind('keyup').keyup(toggleScreenNameErrorMessage);
+});
diff --git a/templates/content/style/mediawiki-login.css b/templates/content/style/mediawiki-login.css
new file mode 100644
index 00000000..58813c7c
--- /dev/null
+++ b/templates/content/style/mediawiki-login.css
@@ -0,0 +1,63 @@
+#mediawiki-login legend {
+ font-weight:bold;
+ font-size:14px;
+}
+
+#mediawiki-login fieldset {
+ border:none;
+}
+
+#mediawiki-login ul {
+ list-style: none;
+ list-style-position: outside;
+ padding: 0px;
+ margin: 10px 0 0 0;
+}
+
+#mediawiki-login p {
+ margin:0;
+}
+
+#mediawiki-login div.login-information label {
+ width: 180px;
+ display: inline-block;
+}
+
+#mediawiki-login legend {
+ padding: 0px;
+}
+
+#mediawiki-login h2 {
+ margin:10px 0 0 0;
+ padding:3px 0 3px 0;
+ border:none;
+ font-family:sans-serif;
+ font-size:16.8px;
+ font-weight:bold;
+}
+
+#mediawiki-login tr {
+ vertical-align: top;
+}
+
+#id_screen_name {
+ margin-left:25px;
+}
+
+#mediawiki-login input {
+ height: 20px;
+}
+
+#mediawiki-login input.submit {
+ margin-top:5px;
+ margin-left:5px;
+ display:block;
+ clear:both;
+ font-weight: bold;
+ font-size:14.4px;
+ height:33px;
+ /*padding: 4px 6px 4px 6px;*/
+ text-align: center;
+ border: 1px solid #777777;
+ background: #D4D0C8;
+}
diff --git a/templates/content/style/style.css b/templates/content/style/style.css
index 47b4dc00..aba67eee 100644
--- a/templates/content/style/style.css
+++ b/templates/content/style/style.css
@@ -686,7 +686,12 @@ table.form-as-table th {
/*.form-row li label {
display: inline
}*/
-.submit-row{line-height:30px;padding-top:10px;}
+.submit-row{
+ line-height:30px;
+ padding-top:10px;
+ display: block;
+ clear: both;
+}
.errors{line-height:20px;color:red;}
.error{
color:darkred;
@@ -1158,7 +1163,7 @@ ul.bulleta li {background:url(../images/bullet_green.gif) no-repeat 0px 2px; pad
.message p {
margin-bottom:0px;
}
-.message p.space-above {
+p.space-above {
margin-top:10px;
}
@@ -1446,3 +1451,16 @@ ul.form-horizontal-rows li input {
#hideIgnoredTagsCb {
margin: 0 2px 0 1px;
}
+#recaptcha_widget_div {
+ width:318px;
+ float:left;
+ clear:both;
+}
+p.signup_p {
+ margin: 20px 0px 0px 0px;
+}
+.simple-subscribe-options ul {
+ list-style:none;
+ list-style-position:outside;
+ margin:0;
+}
diff --git a/templates/footer.html b/templates/footer.html
index 9d19b41e..66feff8a 100644
--- a/templates/footer.html
+++ b/templates/footer.html
@@ -7,8 +7,6 @@
<div class="footerLinks" >
<a href="{% url about %}">{% trans "about" %}</a><span class="link-separator"> |</span>
<a href="{% url faq %}">{% trans "faq" %}</a><span class="link-separator"> |</span>
- <!--<a href="{{ blog_url }}">{% trans "blog" %}</a><span class="link-separator"> |</span>-->
- <!--<a href="{{ webmaster_email }}">{% trans "contact us" %}</a><span class="link-separator"> |</span>-->
<a href="{% url privacy %}">{% trans "privacy policy" %}</a><span class="link-separator"> |</span>
{% spaceless %}
<a href=
@@ -25,7 +23,6 @@
<p>
<a href="http://github.com/cnprog/CNPROG/network" target="_blank">
powered by cnprog platform
- <!--<img src="{% href "/content/images/djangomade124x25_grey.gif" %}" border="0" alt="Made with Django." title="Made with Django." >-->
</a>
</p>
</div>
@@ -36,14 +33,16 @@
</div>
</div>
<!-- 页面底部结束: -->
- <script type="text/javascript">
- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
- document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
- </script>
- <script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker('{{ settings.GOOGLE_ANALYTICS_KEY }}');
- pageTracker._trackPageview();
- } catch(err) {}
+ {% if settings.GOOGLE_ANALYTICS_KEY %}
+ <script type="text/javascript">
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
+ <script type="text/javascript">
+ try {
+ var pageTracker = _gat._getTracker('{{ settings.GOOGLE_ANALYTICS_KEY }}');
+ pageTracker._trackPageview();
+ } catch(err) {}
+ </script>
+ {% endif %}
<!-- end template footer.html -->
diff --git a/templates/header.html b/templates/header.html
index 42074763..466659de 100644
--- a/templates/header.html
+++ b/templates/header.html
@@ -32,12 +32,6 @@
{% endif %}
<a id="nav_badges" href="{% url badges %}">{% trans "badges" %}</a>
<a id="nav_unanswered" href="{% url unanswered %}">{% trans "unanswered questions" %}</a>
-
- {% comment %}<!-- i think this needs to be removed -e.f. -->
- {% if request.user.is_authenticated %}
- <a id="nav_profile" href="{% url user %}{{ request.user.id }}/{{ request.user.username }}/">{% trans "my profile" %}</a>
- {% endif %}
- {% endcomment %}
<div class="focus">
<a id="nav_ask" href="{% url ask %}" class="special">{% trans "ask a question" %}</a>
</div>
diff --git a/templates/mediawiki/mediawiki_signup.html b/templates/mediawiki/mediawiki_signup.html
new file mode 100644
index 00000000..d1ecb96c
--- /dev/null
+++ b/templates/mediawiki/mediawiki_signup.html
@@ -0,0 +1,9 @@
+{% extends "base_content.html" %}
+{% load i18n %}
+{% block forejs %}
+ {{form.media}}
+{% endblock %}
+{% block title %}{% spaceless %}{% trans "MediaWiki User Registration" %}{% endspaceless %}{% endblock %}
+{% block content %}
+{% include "mediawiki/mediawiki_signup_content.html" %}
+{% endblock %}
diff --git a/templates/mediawiki/mediawiki_signup_content.html b/templates/mediawiki/mediawiki_signup_content.html
new file mode 100644
index 00000000..a09de107
--- /dev/null
+++ b/templates/mediawiki/mediawiki_signup_content.html
@@ -0,0 +1,110 @@
+{% load smart_if %}
+{% load i18n %}
+{% if request.is_include_virtual == False %}
+<div class="headNormal">
+ {% trans "MediaWiki User Registration" %}
+</div>
+{% endif %}
+<div id="mediawiki-login">
+{% if request.is_include_virtual %}
+<form name="fregister" action="/wiki/index.php" accept-charset="UTF-8" method="post">
+ <input type="hidden" name="command" value="/backend/account/yourwiki/signup/"/>
+ <input type="hidden" name="title" value="Special:UserRegister"/>
+{% else %}
+<form name="fregister" action="." accept-charset="UTF-8" method="post">
+{% endif %}
+ {% with form as f %}
+ {{ f.next }}
+ <h2>{% trans "Basic information" %}</h2>
+ <div class="login-information">
+ <p>
+ <label for="id_login_name">{{f.login_name.label}}</label>
+ {{f.login_name}}
+ </p>
+ {% if f.login_name.errors %}
+ <p class="error">{{ f.login_name.errors|join:", " }}</p>
+ {% endif %}
+ <p>
+ <label for="id_password1">{{f.password1.label}}</label>
+ {{f.password1}}
+ {% if f.password1.errors %}
+ <span class="error">{{ f.password1.errors|join:", " }}</span>
+ {% endif %}
+ </p>
+ <p>
+ <label for="id_password2">{{f.password2.label}}</label>
+ {{f.password2}}
+ {% if f.password2.errors %}
+ <span class="error">{{ f.password2.errors|join:", " }}</span>
+ {% endif %}
+ </p>
+ <p>
+ <label for="id_email">{{f.email.label}}</label>
+ {{f.email}}
+ {% if f.email.errors %}
+ <span class="error">{{ f.email.errors|join:", " }}</span>
+ {% endif %}
+ </p>
+ </div>
+ <h2>{% trans "Your Name" %}</h2>
+ <p>{% trans "<strong>1) Real name</strong> - required for the Wiki, but not shown on the forum by default" %}</p>
+ <table>
+ <tr>
+ <td><label for="id_first_name">{{f.first_name.label}}</label></td>
+ <td><label for="id_screen_name">{{f.last_name.label}}</label></td>
+ <td><label for="id_user_title">{{f.user_title.label}}</label></td>
+ </tr>
+ <tr>
+ <td>
+ {{f.first_name}}
+ {% if f.first_name.errors %}
+ <p class="error">{{ f.first_name.errors|join:", " }}</p>
+ {% endif %}
+ </td>
+ <td>
+ {{f.last_name}}
+ {% if f.last_name.errors %}
+ <p class="error">{{ f.last_name.errors|join:", " }}</p>
+ {% endif %}
+ </td>
+ <td>
+ {{f.user_title}}
+ {% if f.user_title.errors %}
+ <p class="error">{{ f.user_title.errors|join:", " }}</p>
+ {% endif %}
+ </td>
+ </tr>
+ </table>
+ <p>{% trans "<strong>2) Forum screen name</strong>" %}</p>
+ <p>{% trans "Just skip this to use your full name at the forum, otherwise please check below" %}</p>
+ <p>
+ {{f.use_separate_screen_name}}
+ <label for="id_use_separate_screen_name">
+ {{f.use_separate_screen_name.label}}
+ </label>
+ </p>
+ <p class="optional-screen-name">
+ {{f.screen_name}}
+ </p>
+ {% if f.screen_name.errors %}
+ <p class="error screen-name-error">{{ f.screen_name.errors|join:", " }}</p>
+ {% endif %}
+ <p class="optional-screen-name">{% trans "Please remember that forum screen name is not your login name.<br/>Screen name allows you stay anonymous at the forum - you can change it at any time too. Login name cannot be changed." %}</p>
+ <h2>{% trans "Update subscription" %}</h2>
+ <p>{% trans "receive updates motivational blurb" %}</p>
+ {{f.subscribe}}
+ {% if f.subscribe.errors %}
+ <p class="error">{{ f.subscribe.errors|join:", " }}</p>
+ {% endif %}
+ <h2>{% trans "Almost there..." %}</h2>
+ <p>{% trans "recaptcha explained" %}</p>
+ <p>{{f.recaptcha.errors|join:", "}}
+ <div style="clear:both; display:block;">{{f.recaptcha}}</div>
+ {% endwith %}
+ <input type="submit" value="{% trans "Create account" %}" class="submit"/>
+ {% comment %}<!-- this stuff was used for the wizard that fails with recaptcha so commented out-->
+ <input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
+ {{ previous_fields|safe }}
+ {% endcomment %}
+ </form>
+</div>
diff --git a/templates/mediawiki/thanks_for_joining.html b/templates/mediawiki/thanks_for_joining.html
new file mode 100644
index 00000000..9695ba05
--- /dev/null
+++ b/templates/mediawiki/thanks_for_joining.html
@@ -0,0 +1,76 @@
+{% spaceless %}
+{% load smart_if %}
+{% with wiki_user.user_name as user_name %}
+<script type="text/javascript">
+$wgUserName = '{{user_name}}';
+$(document).ready(function(){
+$('#p-personal div').html('\
+<ul>\
+<li id="pt-0"><a href="/wiki/index.php?title=User:{{user_name}}" class="new">{{user_name}}</a></li>\
+<li id="pt-1"><a href="/wiki/index.php?title=UserWiki:{{user_name}}" class="new">my page</a></li>\
+<li id="pt-mytalk"><a href="/wiki/index.php?title=User_talk:{{user_name}}" title="My talk page [n]" accesskey="n" class="new">My talk</a></li>\
+<li id="pt-preferences"><a href="/wiki/index.php?title=Special:Preferences" title="My preferences">My preferences</a></li>\
+<li id="pt-watchlist"><a href="/wiki/index.php?title=Special:Watchlist" title="The list of pages you\'re monitoring for changes [l]" accesskey="l">My watchlist</a></li>\
+<li id="pt-mycontris"><a href="/wiki/index.php?title=Special:Contributions/{{user_name}}" title="List of my contributions [y]" accesskey="y">My contributions</a></li>\
+<li id="pt-logout"><a href="/wiki/index.php?title=Special:Userlogout&amp;returnto=Special:UserRegister" title="Log out">Log out</a></li>\
+</ul>\
+');
+});
+</script>
+{% endwith %}
+{% if wiki_user.user_title == 'prof' %}
+<script type="text/javascript">
+ var documentTitle = 'Professor {{wiki_user.user_last_name}}, Welcome to Wiki!';
+</script>
+{% else %}
+ {% if wiki_user.title == 'dr' %}
+ <script type="text/javascript">
+ var documentTitle = 'Dr. {{wiki_user.user_last_name}}, Welcome to Wiki!';
+ </script>
+ {% else %}
+ <script type="text/javascript">
+ var documentTitle = '{{wiki_user.user_first_name}}, Welcome to Wiki!';
+ </script>
+ {% endif %}
+{% endif %}
+<script type="text/javascript">
+ $(document).ready( function(){
+ document.title = documentTitle;
+ $('h1.firstHeading').html(documentTitle);
+ });
+</script>
+{% if wiki_user.user_title == 'prof' %}
+<p>Dear Professor {{wiki_user.user_last_name}},
+{% else %}
+ {% if wiki_user.title == 'dr' %}
+ <p>Dear Dr. {{wiki_user.user_last_name}},
+ {% else %}
+ <p>Dear {{wiki_user.user_first_name}},
+ {% endif %}
+{% endif %}
+thanks joining Wiki!</p>
+<p><strong>Could you help our community right now?</strong><br/>
+Please answer some of the questions from our Q&amp;A forum:</p>
+<ul>
+ {% for q in questions %}
+ <li><a href="http://yourwiki.org/question/{{q.id}}/{{q.title|slugify}}">{{q.title}}</a></li>
+ {% endfor %}
+</ul>
+<p>Your answers will be <strong>indispensable</strong>.<br/>
+Please feel free to ask something too! Hopefully you will like this forum and the wiki and invite your coworkers and friends to join.
+</p>
+<p>Might you consider <strong>sharing some of the digital documentation and pulse sequences</strong> that
+perhaps had accumulated in your lab?<br/> It's very easy to upload
+files to the wiki as it is to edit the pages directly.
+</p>
+<p>Best wishes,<br/>
+Wiki Server Admin.
+</p>
+<p>P.S. An email with the confirmation code has been sent to <strong>{{wiki_user.user_email}}</strong>.
+Please follow the included link to confirm your email address.
+{% if wiki_user.user_title == 'prof' %}
+<br/>
+Also, you are always welcome to <strong>advertise open positions</strong> in your laboratory on the wiki. </p>
+{% endif %}
+</p>
+{% endspaceless %}
diff --git a/templates/mediawiki/welcome_email.txt b/templates/mediawiki/welcome_email.txt
new file mode 100644
index 00000000..c282d9e5
--- /dev/null
+++ b/templates/mediawiki/welcome_email.txt
@@ -0,0 +1,28 @@
+{% spaceless %}
+{% load i18n %}
+{% load smart_if %}
+{% if title == 'prof' %}
+{% blocktrans %}Dear Professor {{last_name}},{% endblocktrans %}
+{% endif %}
+{% if title == 'dr' %}
+{% blocktrans %}Dear Dr. {{last_name}},{% endblocktrans %}
+{% endif %}
+{% if title == 'none' %}
+{% blocktrans %}Dear {{first_name}},{% endblocktrans %}
+{% endif %}
+{% endspaceless %}
+
+{% trans "Thank you for joining OSQA online community!" %}
+
+{% trans "A very brief introduction to OSQA community follows this technical information, included for your record:" %}
+{% blocktrans %}* please visit {{email_confirmation_url}} to confirm your email for the OSQA wiki
+* your OSQA login name is {{login_name}}, email address {{user_email}}.
+* password recovery information can be always found here: {{password_recovery_url}}{% endblocktrans %}
+
+{% trans "A brief introduction to the OSQA online community for the new user." %}
+
+{% blocktrans %}Sincerely,
+Adminstrator of the OSQA website.{% endblocktrans %}
+
+{% blocktrans %}P.S. If you believe that this message was sent in error please tell us
+about it by email at {{admin_email}}.{% endblocktrans %}
diff --git a/templates/mediawiki/welcome_professor_email.txt b/templates/mediawiki/welcome_professor_email.txt
new file mode 100644
index 00000000..6b05889d
--- /dev/null
+++ b/templates/mediawiki/welcome_professor_email.txt
@@ -0,0 +1,19 @@
+{% spaceless %}
+{% load i18n %}
+{% blocktrans %}Dear Professor {{last_name}},{% endblocktrans %}
+{% endspaceless %}
+
+{% trans "Thanks a lot for joining OSQA online community!" %}
+
+{% trans "A very brief introduction to OSQA community follows this technical information, included for your record:" %}
+{% blocktrans %}* please visit {{email_confirmation_url}} to confirm your email for the OSQA wiki
+* your OSQA login name is {{login_name}}, email address {{user_email}}.
+* password recovery information can be always found here: {{password_recovery_url}}{% endblocktrans %}
+
+{% trans "A brief introduction to the OSQA online community for the new professor user." %}
+
+{% blocktrans %}Sincerely,
+Adminstrator of the OSQA website.{% endblocktrans %}
+
+{% blocktrans %}P.S. If you believe that this message was sent in error please tell us
+about it by email at {{admin_email}}.{% endblocktrans %}
diff --git a/templates/notarobot.html b/templates/notarobot.html
new file mode 100644
index 00000000..698c5696
--- /dev/null
+++ b/templates/notarobot.html
@@ -0,0 +1,15 @@
+{% extends "base_content.html" %}
+{% load i18n %}
+{% block title %}{% spaceless %}{% trans "Please prove that you are a Human Being" %}{% endspaceless %}{% endblock %}
+{% block content %}
+{% comment %} this form is set up to be used in wizards {% endcomment %}
+<form name="notarobot" action="." method="POST">
+ <div>
+ {{form}}
+ </div>
+ <input type="submit" value="{% trans "I am a Human Being" %}" class="submit" style="float:left"/>
+ <input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
+ {{ previous_fields|safe }}
+ </form>
+</form>
+{% endblock %}
diff --git a/templates/tag_selector.html b/templates/tag_selector.html
index 6edc5cc8..94d23f3c 100644
--- a/templates/tag_selector.html
+++ b/templates/tag_selector.html
@@ -37,6 +37,6 @@
<input id="ignoredTagAdd" type="submit" value="{% trans "Add" %}"/>
<p id="hideIgnoredTagsControl">
<input id="hideIgnoredTagsCb" type="checkbox" {% if request.user.hide_ignored_questions %}checked="checked"{% endif %} />
- <label id="hideIgnoredTagsLabel" for="hideIgnoredTags">{% trans "keep ingored questions hidden" %}</label>
+ <label id="hideIgnoredTagsLabel" for="hideIgnoredTagsCb">{% trans "keep ingored questions hidden" %}</label>
<p>
</div>