Remember section/periode on attribution page
This commit is contained in:
parent
80cb4ebc30
commit
51641c235e
3 changed files with 108 additions and 3 deletions
|
|
@ -7,9 +7,13 @@ function update_periods(section_id) {
|
|||
sel.append($("<option />").val(this.id).text(this.dates + ' ' + this.title));
|
||||
})
|
||||
}
|
||||
update_students('');
|
||||
update_corporations('');
|
||||
update_trainings('');
|
||||
if ($.cookie('periode') != 'undefined')
|
||||
sel.val($.cookie('periode'));
|
||||
|
||||
var periode_val = sel.val();
|
||||
update_students(periode_val);
|
||||
update_corporations(periode_val);
|
||||
update_trainings(periode_val);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -108,6 +112,8 @@ $(document).ready(function() {
|
|||
// Update period list when section is modified
|
||||
$('#period_select').empty();
|
||||
update_periods($(this).val());
|
||||
$.cookie('section', $(this).val(), { expires: 7 });
|
||||
$.removeCookie('periode');
|
||||
});
|
||||
|
||||
$('#period_select').change(function(ev) {
|
||||
|
|
@ -115,6 +121,7 @@ $(document).ready(function() {
|
|||
update_students($(this).val());
|
||||
update_corporations($(this).val());
|
||||
update_trainings($(this).val());
|
||||
$.cookie('periode', $(this).val(), { expires: 7 });
|
||||
});
|
||||
|
||||
$('#student_filter').change(function(ev) {
|
||||
|
|
@ -217,6 +224,8 @@ $(document).ready(function() {
|
|||
$('form#list_export').submit();
|
||||
});
|
||||
|
||||
if ($.cookie('section') != 'undefined')
|
||||
$('#section_select').val($.cookie('section'));
|
||||
update_periods($('#section_select').val());
|
||||
});
|
||||
|
||||
|
|
|
|||
95
stages/static/js/jquery.cookie.js
Normal file
95
stages/static/js/jquery.cookie.js
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
/*!
|
||||
* jQuery Cookie Plugin v1.3.1
|
||||
* https://github.com/carhartl/jquery-cookie
|
||||
*
|
||||
* Copyright 2013 Klaus Hartl
|
||||
* Released under the MIT license
|
||||
*/
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as anonymous module.
|
||||
define(['jquery'], factory);
|
||||
} else {
|
||||
// Browser globals.
|
||||
factory(jQuery);
|
||||
}
|
||||
}(function ($) {
|
||||
|
||||
var pluses = /\+/g;
|
||||
|
||||
function raw(s) {
|
||||
return s;
|
||||
}
|
||||
|
||||
function decoded(s) {
|
||||
return decodeURIComponent(s.replace(pluses, ' '));
|
||||
}
|
||||
|
||||
function converted(s) {
|
||||
if (s.indexOf('"') === 0) {
|
||||
// This is a quoted cookie as according to RFC2068, unescape
|
||||
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
|
||||
}
|
||||
try {
|
||||
return config.json ? JSON.parse(s) : s;
|
||||
} catch(er) {}
|
||||
}
|
||||
|
||||
var config = $.cookie = function (key, value, options) {
|
||||
|
||||
// write
|
||||
if (value !== undefined) {
|
||||
options = $.extend({}, config.defaults, options);
|
||||
|
||||
if (typeof options.expires === 'number') {
|
||||
var days = options.expires, t = options.expires = new Date();
|
||||
t.setDate(t.getDate() + days);
|
||||
}
|
||||
|
||||
value = config.json ? JSON.stringify(value) : String(value);
|
||||
|
||||
return (document.cookie = [
|
||||
config.raw ? key : encodeURIComponent(key),
|
||||
'=',
|
||||
config.raw ? value : encodeURIComponent(value),
|
||||
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
|
||||
options.path ? '; path=' + options.path : '',
|
||||
options.domain ? '; domain=' + options.domain : '',
|
||||
options.secure ? '; secure' : ''
|
||||
].join(''));
|
||||
}
|
||||
|
||||
// read
|
||||
var decode = config.raw ? raw : decoded;
|
||||
var cookies = document.cookie.split('; ');
|
||||
var result = key ? undefined : {};
|
||||
for (var i = 0, l = cookies.length; i < l; i++) {
|
||||
var parts = cookies[i].split('=');
|
||||
var name = decode(parts.shift());
|
||||
var cookie = decode(parts.join('='));
|
||||
|
||||
if (key && key === name) {
|
||||
result = converted(cookie);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!key) {
|
||||
result[name] = converted(cookie);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
config.defaults = {};
|
||||
|
||||
$.removeCookie = function (key, options) {
|
||||
if ($.cookie(key) !== undefined) {
|
||||
// Must not alter options, thus extending a fresh object...
|
||||
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
}));
|
||||
Loading…
Add table
Add a link
Reference in a new issue