From 1b06243dabb7d88a2a89c0f37bd6fa69272a5bfa Mon Sep 17 00:00:00 2001 From: substantialnoninfringinguser Date: Wed, 13 May 2009 06:22:07 +0100 Subject: [PATCH] [svn] Improve registration system. Add jquery fade effects and quick search. Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8334 by cucc @ 5/10/2009 5:23 AM --- expo/views_caves.py | 4 +- media/css/main3.css | 20 +- media/css/nav.css | 13 +- media/js/base.js | 106 +++--- media/js/jquery.quicksearch.js | 328 ++++++++++++++++++ media/surveyHover.gif | Bin 0 -> 39482 bytes registration/views.py | 12 +- templates/base.html | 79 +---- templates/cave.html | 2 +- templates/caveindex.html | 8 +- templates/frontpage.html | 6 +- templates/personindex.html | 5 +- templates/registration/activate.html | 7 +- templates/registration/activation_email.txt | 4 +- .../registration/registration_complete.html | 8 +- templates/survey.html | 2 - 16 files changed, 466 insertions(+), 138 deletions(-) create mode 100644 media/js/jquery.quicksearch.js create mode 100644 media/surveyHover.gif diff --git a/expo/views_caves.py b/expo/views_caves.py index 02994b6..1e11602 100644 --- a/expo/views_caves.py +++ b/expo/views_caves.py @@ -77,12 +77,12 @@ def caveSearch(request): def surveyindex(request): surveys=Survey.objects.all() - expeditions=Expedition.objects.all() + expeditions=Expedition.objects.order_by("-year") return render_response(request,'survey.html',locals()) def survey(request,year,wallet_number): surveys=Survey.objects.all() - expeditions=Expedition.objects.all() + expeditions=Expedition.objects.order_by("-year") current_expedition=Expedition.objects.filter(year=year)[0] if wallet_number!='': diff --git a/media/css/main3.css b/media/css/main3.css index 467de9d..4dbac32 100644 --- a/media/css/main3.css +++ b/media/css/main3.css @@ -16,7 +16,7 @@ table, caption, tbody, tfoot, thead, tr, th, td } html, body { - height: 100% + height: 100%; } @@ -207,10 +207,6 @@ td { } -#nav { - -} - .redtext{ color:#F00; } @@ -292,7 +288,9 @@ div#content { margin-top: 50px; margin-left: 120px; margin-right: 120px; - padding: 5em; + padding-top: 10px; + padding-left: 5em; + padding-right: 5em; background:#CCC; } @@ -361,6 +359,16 @@ h1 { left:auto; } +#surveyHover { + width:auto; + right:auto; + left:auto; +} + #col1 { width:60% +} + +#quicksearch { + margin-left:40px; } \ No newline at end of file diff --git a/media/css/nav.css b/media/css/nav.css index 4fc7b3d..1c97c51 100644 --- a/media/css/nav.css +++ b/media/css/nav.css @@ -1,9 +1,12 @@ div#nav { + position:fixed; width: 12em; - float: left; background: rgb(153, 153, 153); - padding: 15px 0; - height:100% + margin-top: 0px; + margin-left: 120px; + border-top: thin black solid; } - -div#content { margin-left:13em } \ No newline at end of file + +div#content { + padding-left:240px; +} \ No newline at end of file diff --git a/media/js/base.js b/media/js/base.js index 17a664e..0dc562b 100644 --- a/media/js/base.js +++ b/media/js/base.js @@ -1,46 +1,74 @@ - function showDiv(collapsed,expanded){ - document.getElementById(collapsed).style.display = 'none'; - document.getElementById(expanded).style.display = 'block'; - } - - function hideDiv(collapsed,expanded){ - document.getElementById(collapsed).style.display = 'block'; - document.getElementById(expanded).style.display = 'none'; - } +$(document).ready(function() { - function makeDivTransparent(div){ - document.getElementById(div).style.backgroundColor = 'transparent'; - } +$('.searchable li').quicksearch({ + position: 'before', + attached: 'ul.searchable', + labelText: '', + loaderText: '', + delay: 100 +}) + +$('table.searchable tr').quicksearch({ + position: 'before', + attached: 'table.searchable:first', +}); + +$(".toggleEyeCandy").click(function () { + $(".leftMargin,.rightMargin").toggle("fade"); + $(".toggleEyeCandy").toggle(); + }); + +$(".nav").css('opacity','7') +$(".footer").hide(); +$(".fadeIn").hide(); +setTimeout("$('.leftMargin.fadeIn').fadeIn(3000);",1000); +setTimeout("$('.rightMargin.fadeIn').fadeIn(3000);",2000); + + +/*$("#footerLinks").hover( + function() {$(".footer").fadeIn("slow")}, + function() {$(".footer").fadeOut("slow")} +);*/ + +function linkHover(hoverLink,image){ + +$(hoverLink).hover( + function() { + $(image).fadeIn("slow"); + $(hoverLink).css("background","gray"); + }, + function() { + $(image).fadeOut("slow"); + $(hoverLink).css("background","black"); + } +); -hex=0 // Initial color value. -leftPos=25 -year=1976 -currentDate= new Date() -currentYear = currentDate.getFullYear() -function fadeText(){ -if(hex<153) { //If color is not black yet - hex=hex+10; // increase color darkness - leftPos-=1; - document.getElementById("expoHeader").style.color="rgb("+0+","+hex+","+0+")"; -// document.getElementById("expoFinalDate").style.color="rgb("+0+","+hex+","+0+")"; - document.getElementById("expoHeader").style.left=leftPos; - setTimeout("fadeText()",50) - setTimeout("countUpYear()",1000) -} -else { - hex=0; - leftPos=25; -} +}; + +linkHover("#expoWebsiteLink","#richardBanner"); +linkHover("#cuccLink","#timeMachine"); +linkHover("#surveyBinderLink","#surveyHover"); +linkHover("#troggle","#timeMachine"); + + +}); + +function contentHeight(){ +setMaxHeight($(".rightMargin,#content,.leftMargin,#col2"),$("#content")); +}; + +function setMaxHeight(group, target) { + tallest = 0; + group.each(function() { + thisHeight = $(this).height(); + if(thisHeight > tallest) { + tallest = thisHeight; + } + }); + target.height(tallest); } -function countUpYear(){ - if (year" - setTimeout("countUpYear()",1000) - } -} \ No newline at end of file + diff --git a/media/js/jquery.quicksearch.js b/media/js/jquery.quicksearch.js new file mode 100644 index 0000000..fec6967 --- /dev/null +++ b/media/js/jquery.quicksearch.js @@ -0,0 +1,328 @@ +jQuery(function ($) { + $.fn.quicksearch = function (opt) { + + function is_empty(i) + { + return (i === null || i === undefined || i === false) ? true: false; + } + + function strip_html(input) + { + var regexp = new RegExp(/\<[^\<]+\>/g); + var output = input.replace(regexp, ""); + output = $.trim(output.toLowerCase().replace(/\n/, '').replace(/\s{2,}/, ' ')); + return output; + } + + function get_key() + { + var input = strip_html($('input[rel="' + options.randomElement + '"]').val()); + + if (input.indexOf(' ') === -1) + { + return input; + } + else + { + return input.split(" "); + } + } + + function test_key(k, value, type) + { + if (type === "string") + { + return test_key_string(k, value); + } + else + { + return test_key_arr(k, value); + } + } + + function test_key_string(k, value) + { + return (value.indexOf(k) > -1); + } + + function test_key_arr(k, value) + { + for (var i = 0; i < k.length; i++) { + var test = value.indexOf(k[i]); + if (test === -1) { + return false; + } + } + return true; + } + + function select_element(el) + { + if (options.hideElement === "grandparent") + { + return $(el).parent().parent(); + } + else if (options.hideElement === "parent") + { + return $(el).parent(); + } + else + { + return $(el); + } + } + + function stripe(el) + { + if (doStripe) + { + var i = 0; + select_element(el).filter(':visible').each(function () { + + for (var j = 0; j < stripeRowLength; j++) + { + if (i === j) + { + $(this).addClass(options.stripeRowClass[i]); + + } + else + { + $(this).removeClass(options.stripeRowClass[j]); + } + } + i = (i + 1) % stripeRowLength; + }); + } + } + + function fix_widths(el) + { + $(el).find('td').each(function () { + $(this).attr('width', parseInt($(this).css('width'))); + }); + } + + function loader(o) { + if (options.loaderId) + { + var l = $('input[rel="' + options.randomElement + '"]').parent().find('.loader'); + if (o === 'hide') + { + l.hide(); + } + else + { + l.show(); + } + } + } + + function place_form() { + var formPosition = options.position; + var formAttached = options.attached; + + if (formPosition === 'before') { + $(formAttached).before(make_form()); + } else if (formPosition === 'prepend') { + $(formAttached).prepend(make_form()); + } else if (formPosition === 'append') { + $(formAttached).append(make_form()); + } else { + $(formAttached).after(make_form()); + } + } + + function make_form_label() + { + if (!is_empty(options.labelText)) { + return ' '; + } + return ''; + } + + function make_form_input() + { + var val = (!is_empty(options.inputText)) ? options.inputText : "" + return ' '; + } + + function make_form_loader() + { + if (!is_empty(options.loaderImg)) { + return 'Loading'; + } else { + return '' + options.loaderText + ''; + } + } + + function make_form() + { + var f = (!options.isFieldset) ? 'form' : 'fieldset'; + return '<' + f + ' action="#" ' + 'id="'+ options.formId + '" ' + 'class="quicksearch">' + + make_form_label() + make_form_input() + make_form_loader() + + ''; + } + + function focus_on_load() + { + $('input[rel="' + options.randomElement + '"]').get(0).focus(); + } + + function toggle_text() { + $('input[rel="' + options.randomElement + '"]').focus(function () { + if ($(this).val() === options.inputText) { + $(this).val(''); + } + }); + $('input[rel="' + options.randomElement + '"]').blur(function () { + if ($(this).val() === "") { + $(this).val(options.inputText); + } + }); + } + + function get_cache(el) + { + return $(el).map(function(){ + return strip_html(this.innerHTML); + }); + } + + function init() + { + place_form(); + if (options.fixWidths) fix_widths(el); + if (options.focusOnLoad) focus_on_load(); + if (options.inputText != "" && options.inputText != null) toggle_text(); + + cache = get_cache(el); + + stripe(el); + loader('hide'); + } + + function qs() + { + clearTimeout(timeout); + timeout = setTimeout(function () { + + loader('show'); + + setTimeout(function () { + options.onBefore(); + + var k = get_key(); + var k_type = (typeof k); + var i = 0; + + k = options.filter(k); + + if (k != "") + { + if (typeof score[k] === "undefined") + { + score[k] = new Array(); + cache.each(function (i) { + if (test_key(k, cache[i], k_type)) + { + score[k][i] = true; + } + }); + } + + if (score[k].length === 0) + { + select_element(el).hide(); + } + else + { + $(el).each(function (i) { + if (score[k][i]) + { + select_element(this).show(); + } + else + { + select_element(this).hide(); + } + }); + + } + } + else + { + select_element(el).show(); + } + + stripe(el); + }, options.delay/2); + + setTimeout( function () { + loader('hide'); + }, options.delay/2); + + options.onAfter(); + + }, options.delay/2); + } + + var options = $.extend({ + position: 'prepend', + attached: 'body', + formId: 'quicksearch', + labelText: 'Quick Search', + labelClass: 'qs_label', + inputText: null, + inputClass: 'qs_input', + loaderId: 'loader', + loaderClass: 'loader', + loaderImg: null, + loaderText: 'Loading...', + stripeRowClass: null, + hideElement: null, + delay: 500, + focusOnLoad: false, + onBefore: function () { }, + onAfter: function () { }, + filter: function (i) { + return i; + }, + randomElement: 'qs' + Math.floor(Math.random() * 1000000), + isFieldset: false, + fixWidths: false + }, opt); + + var timeout; + var score = {}; + var stripeRowLength = (!is_empty(options.stripeRowClass)) ? options.stripeRowClass.length : 0; + var doStripe = (stripeRowLength > 0) ? true : false; + var el = this; + var cache; + var selector = $(this).selector; + + $.fn.extend({ + reset_cache: function () { + el = $(selector); + cache = get_cache(el); + } + }); + + init(); + + $('input[rel="' + options.randomElement + '"]').keydown(function (e) { + var keycode = e.keyCode; + if (!(keycode === 9 || keycode === 13 || keycode === 16 || keycode === 17 || keycode === 18 || keycode === 38 || keycode === 40 || keycode === 224)) + { + qs(); + } + }); + + $('form.quicksearch, fieldset.quicksearch').submit( function () { return false; }); + + return this; + }; +}); \ No newline at end of file diff --git a/media/surveyHover.gif b/media/surveyHover.gif new file mode 100644 index 0000000000000000000000000000000000000000..353872803a321b0656f2a68d7972e65e707b9f14 GIT binary patch literal 39482 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 -{% block title %}THE TITLE{% endblock %} +{% block title %}Troggle{% endblock %} + + - - - - {% block head %}{% endblock %} @@ -71,8 +17,11 @@ $('#q').liveUpdate('posts').focus();

CUCC Expeditions to Austria: 1976 - 2009

@@ -35,6 +34,9 @@ Everyone is gearing up for the 2009 expedition; please see the link below for th Troggle is still under development, and there is much work to do.

+{% endblock content %} + +{% block margins %} -{% endblock content %} \ No newline at end of file +{% endblock margins %} \ No newline at end of file diff --git a/templates/personindex.html b/templates/personindex.html index e684ad8..ea97f43 100644 --- a/templates/personindex.html +++ b/templates/personindex.html @@ -6,7 +6,7 @@ {% block content %}

Notable expoers

- +
{% for person in notablepersons %} @@ -20,10 +20,11 @@

All expoers

-
PersonFirstLastNotability
+
{% for persons in personss %}
+ {% for person in persons %} diff --git a/templates/registration/activate.html b/templates/registration/activate.html index eb8ec61..ca50e6c 100644 --- a/templates/registration/activate.html +++ b/templates/registration/activate.html @@ -10,11 +10,16 @@ New troggle account registered {% block content %} +{% if account %}

-Hello, {{user}}! Your account is now activated. You've also been logged in automatically for your convenience. Use the links in the upper right to control this in the future. +Hello, {{ account }}! Your account is now activated. Now you can log in with the password you chose. Use the links in the upper right to control this in the future.

If you have been on the expedition in the past, you already have a profile in the system; click here to find it and link it to your account. Otherwise, please create yourself a new profile.

+{% endif %} + +The activation key you entered has already been used or was invalid. + {% endblock %} \ No newline at end of file diff --git a/templates/registration/activation_email.txt b/templates/registration/activation_email.txt index 163e313..20aad5f 100644 --- a/templates/registration/activation_email.txt +++ b/templates/registration/activation_email.txt @@ -1,10 +1,10 @@ -Hello, +Hello {{ form.user }}, Glad you're joining the CUCC EXPO team! Please go to {{ site }}{% url registration_activate activation_key %} -to activate your account. Do this within {{ expiration_days }}, or else you'll have to sign up again. +to activate your account. Do this within {{ expiration_days }} days, or else you'll have to sign up again. Yours, The magical troggle \ No newline at end of file diff --git a/templates/registration/registration_complete.html b/templates/registration/registration_complete.html index 552fa04..78684fe 100644 --- a/templates/registration/registration_complete.html +++ b/templates/registration/registration_complete.html @@ -1,13 +1,13 @@ {% extends "base.html" %} {% block title %} -registration_complete.html | {{ block.super }} +{{ block.super }}: registration complete {% endblock %} -{% block header %} -

registration_complete.html

+{% block contentheader %} +

Registration Complete

{% endblock %} {% block content %} -Thank you for signing up. An email with the activation code has been sent to your inbox. +

Thank you for signing up. An email with the activation code has been sent to your inbox.

{% endblock %} \ No newline at end of file diff --git a/templates/survey.html b/templates/survey.html index 6fce15f..fcdf65e 100644 --- a/templates/survey.html +++ b/templates/survey.html @@ -75,7 +75,6 @@ {% block nav %} - - {% endblock %} {% block content %}
PersonFirstLast