cmc-sales/php/app/webroot/js/add_edit_user_ajax.js

87 lines
1.6 KiB
JavaScript
Raw Normal View History

2011-03-09 23:18:26 -08:00
$(function() {
2011-03-23 20:41:54 -07:00
/**
* Javascript to do the actual validation for Adding/Editing users in the modal window.
*/
//var _loadingDiv = $("#ajaxLoading");
2011-03-09 23:18:26 -08:00
$('#submitUserButton').button();
2011-03-23 20:41:54 -07:00
$('#UserAddUserForm').submit(function(){
2011-03-09 23:18:26 -08:00
2011-03-23 20:41:54 -07:00
$('#submitUserButton').button('disable');
2011-03-09 23:18:26 -08:00
2011-03-23 20:41:54 -07:00
$.post("/users/add_user",
2011-03-09 23:18:26 -08:00
2011-03-23 20:41:54 -07:00
$('#UserAddUserForm').serializeArray(),
function(data) {
var dataArray = $.parseJSON(data);
if (dataArray.errors) {
onError(dataArray.errors);
} else if (dataArray.success) {
onSuccess(dataArray.success);
}
});
return false;
});
2011-03-09 23:18:26 -08:00
function onSuccess(data) {
2011-03-23 20:41:54 -07:00
$(".message").remove();
flashMessage(data.message);
//_loadingDiv.hide();
2011-03-09 23:18:26 -08:00
window.setTimeout(function() {
2011-03-23 20:41:54 -07:00
window.location.reload(true);
}, 2000);
2011-03-09 23:18:26 -08:00
};
function onError(data) {
2011-03-23 20:41:54 -07:00
$('#submitUserButton').button('enable');
2011-03-09 23:18:26 -08:00
flashMessage(data.message);
$.each(data.data, function(model, errors) {
for (fieldName in this) {
var element = $("#" + camelize(model + '_' + fieldName));
var _insert = $(document.createElement('div')).insertAfter(element);
_insert.addClass('error-message').text(this[fieldName])
}
_loadingDiv.hide();
});
};
function flashMessage(message) {
var _insert = $(document.createElement('div')).css('display', 'none');
_insert.attr('id', 'flashMessage').addClass('message').text(message);
2011-03-23 20:41:54 -07:00
_insert.insertAfter($('#UserAddUserForm')).fadeIn();
2011-03-09 23:18:26 -08:00
}
function camelize(string) {
var a = string.split('_'), i;
s = [];
for (i=0; i<a.length; i++){
s.push(a[i].charAt(0).toUpperCase() + a[i].substring(1));
}
s = s.join('');
return s;
2011-03-23 20:41:54 -07:00
2011-03-09 23:18:26 -08:00
}
2011-03-23 20:41:54 -07:00
});