aboutsummaryrefslogtreecommitdiffstats
path: root/account/static/js
diff options
context:
space:
mode:
authorWeitian LI <liweitianux@gmail.com>2014-04-27 02:00:01 +0800
committerWeitian LI <liweitianux@gmail.com>2014-04-27 02:00:01 +0800
commit9172b7f08a7dabde275253b47ad051600decbe7b (patch)
tree8a001b773cebb23821550d619170a28575f200fa /account/static/js
parentc4d4764da9eb15322ab4207b5efd5f3dac36d75f (diff)
downloaddjango-skaschool-9172b7f08a7dabde275253b47ad051600decbe7b.tar.bz2
* updated 'profile_update' template:
o account_profile_update.css account_profile_update.js o added fields 'reason', 'transcript', 'supplement' o supported upload files (optional, dynamical formset) * updated urls.py of 'password_reset' view
Diffstat (limited to 'account/static/js')
-rw-r--r--account/static/js/account_profile_update.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/account/static/js/account_profile_update.js b/account/static/js/account_profile_update.js
new file mode 100644
index 0000000..8a91e28
--- /dev/null
+++ b/account/static/js/account_profile_update.js
@@ -0,0 +1,62 @@
+/*
+ * account_profile_update.js
+ * for 'profile_update.html' template
+ */
+
+$(document).ready(function() {
+ // modify styles of supplment textarea within 'mainform'
+ $(".mainform textarea#id_supplement").attr('rows', 1);
+ $(".mainform textarea#id_supplement").focus(function() {
+ // show 5 rows when focused
+ $(this).attr('rows', 5);
+ }).blur(function() {
+ // show only 1 row when unfocus
+ $(this).attr('rows', 1);
+ });
+
+ // modify styles of file description textarea of subforms
+ $(".subform textarea").attr('rows', 1);
+ $(".subform textarea").focus(function() {
+ // show 3 rows when focused
+ $(this).attr('rows', 3);
+ }).blur(function() {
+ // show only 1 row when unfocus
+ $(this).attr('rows', 1);
+ });
+
+ // remove 'required' attribute of subform
+ $(".subform input").filter('[required]').removeAttr('required');
+
+ // add-subform button
+ // ref: http://stackoverflow.com/questions/501719/dynamically-adding-a-form-to-a-django-formset-with-ajax
+ function cloneMore(selector, type) {
+ var newElement = $(selector).clone(true);
+ var total = $('#id_' + type + '-TOTAL_FORMS').val();
+ newElement.find(':input').each(function() {
+ // update name and id attributes
+ var name = $(this).attr('name').replace('-'+(total-1)+'-', '-'+total+'-');
+ var id = 'id_' + name;
+ $(this).attr({'name': name, 'id': id}).val('').removeAttr('checked');
+ });
+ newElement.find('label').each(function() {
+ // update for attributes if exists
+ if ($(this).attr('for')) {
+ var newFor = $(this).attr('for').replace('-'+(total-1)+'-', '-'+total+'-');
+ $(this).attr('for', newFor);
+ }
+ });
+ // remove 'has-success has-error' classes and help-block
+ newElement.children().removeClass('has-success has-error');
+ newElement.find('.help-block').remove();
+ // update management_form settings
+ total++;
+ $('#id_' + type + '-TOTAL_FORMS').val(total);
+ $(selector).after(newElement);
+ }
+
+ // Register the click event handlers
+ $("#add-subform").click(function () {
+ cloneMore('div.subform:last', 'userfile_set');
+ });
+});
+