annotate gpp/bio/static/js/bio.js @ 505:a5d11471d031

Refactor the logic in the rate limiter decorator. Check to see if the request was ajax, as the ajax view always returns 200. Have to decode the JSON response to see if an error occurred or not.
author Brian Neal <bgneal@gmail.com>
date Sat, 03 Dec 2011 19:13:38 +0000
parents 88b2b9cb8c1f
children
rev   line source
bgneal@312 1 $(document).ready(function() {
bgneal@312 2 var bday = $('#id_birthday');
bgneal@312 3 // jquery ui may not always be loaded
bgneal@312 4 if (bday.length) {
bgneal@312 5 bday.datepicker({changeMonth: true,
bgneal@312 6 changeYear: true,
bgneal@312 7 dateFormat: 'yy-mm-dd',
bgneal@312 8 defaultDate: '-30y',
bgneal@312 9 minDate: new Date(1909, 0, 1),
bgneal@312 10 maxDate: new Date(),
bgneal@312 11 yearRange: '-100:+0'});
bgneal@312 12 }
bgneal@312 13 $('a.profile-flag').click(function() {
bgneal@312 14 var id = this.id;
bgneal@312 15 if (id.match(/fp-(\d+)/)) {
bgneal@312 16 id = RegExp.$1;
bgneal@312 17 if (confirm('Only report a profile if you feel it is spam, abuse, ' +
bgneal@312 18 'violates site rules, or is not appropriate. ' +
bgneal@312 19 'A moderator will be notified and will review the profile. ' +
bgneal@312 20 'Are you sure you want to report this profile?')) {
bgneal@312 21 $.ajax({
bgneal@312 22 url: '/profile/flag/' + id + '/',
bgneal@312 23 type: 'POST',
bgneal@312 24 dataType: 'text',
bgneal@312 25 success: function (response, textStatus) {
bgneal@312 26 alert(response);
bgneal@312 27 },
bgneal@312 28 error: function (xhr, textStatus, ex) {
bgneal@312 29 alert('Oops, an error occurred: ' + xhr.statusText + ' - ' + xhr.responseText);
bgneal@312 30 }
bgneal@312 31 });
bgneal@312 32 }
bgneal@312 33 }
bgneal@312 34 return false;
bgneal@312 35 });
bgneal@312 36 });