89 lines
No EOL
2.5 KiB
JavaScript
Executable file
89 lines
No EOL
2.5 KiB
JavaScript
Executable file
$(function () {
|
|
// Initialize form validation
|
|
$("input,select,textarea").jqBootstrapValidation({
|
|
autoAdd: {helpBlocks: false},
|
|
submitSuccess: function (form, event) {
|
|
// will not trigger the default submission in favor of the ajax function
|
|
event.preventDefault();
|
|
registerSeat();
|
|
$('#modal-registration').modal('hide');
|
|
}
|
|
});
|
|
|
|
// Modal Handling
|
|
$(".user-selected").not(".disabled").click(function(){
|
|
$('#modal-user-type').modal('hide');
|
|
});
|
|
$('#modal-registration').on('show.bs.modal', function (event) {
|
|
var button = $(event.relatedTarget); // Button that triggered the modal
|
|
var event_id = button.data('event-id'); // Extract info from data-* attributes
|
|
var event_name = button.data('event-name');
|
|
$(this).find('input[name=event-id]').val(event_id);
|
|
$(this).find('#modal-reg-title').text("Register Attendance to "+event_name);
|
|
})
|
|
|
|
// Load events
|
|
loadEvents();
|
|
});
|
|
|
|
function htmlAlert(level, message){
|
|
switch(level.toUpperCase()){
|
|
case "INFO": level="info"; break;
|
|
case "SUCCESS": level="success"; break;
|
|
case "WARNING": level="warning"; break;
|
|
case "ERROR": level="danger"; break;
|
|
}
|
|
genFromTemplate("#template-alert", "#alert-container", {"level": level, "message": message}, true);
|
|
}
|
|
|
|
function loadEvents(){
|
|
loading(true);
|
|
$.getJSON("service.php?action=get_all_events", function(json){
|
|
if(json['error'] != null){
|
|
htmlAlert("ERROR", json['error']);
|
|
return;
|
|
}
|
|
for(i=0; i<json['events'].length; i++){
|
|
if(json['events'][i]['seats_available'] > 0)
|
|
json['events'][i]['reg-free'] = true;
|
|
else if(json['events'][i]['backup_seats_available'] > 0)
|
|
json['events'][i]['reg-backup'] = true;
|
|
else
|
|
json['events'][i]['reg-full'] = true;
|
|
}
|
|
genFromTemplate("#template-events", "#event-list", json);
|
|
loading(false);
|
|
});
|
|
}
|
|
|
|
function registerSeat(){
|
|
loading(true);
|
|
$.getJSON("service.php?action=register_seat&"+$('#registration-form').serialize(), function(json){
|
|
if(json['error'] != null){
|
|
htmlAlert("ERROR", json['error']);
|
|
return;
|
|
}
|
|
htmlAlert("SUCCESS", "Registration was successful.");
|
|
loadEvents();
|
|
loading(false);
|
|
});
|
|
}
|
|
|
|
function genFromTemplate(templateId, targetId, data){
|
|
genFromTemplate(templateId, targetId, data, false);
|
|
}
|
|
function genFromTemplate(templateId, targetId, data, append){
|
|
var template = $(templateId).html();
|
|
var rendered = Mustache.render(template, data);
|
|
if(append)
|
|
$(targetId).append( rendered );
|
|
else
|
|
$(targetId).html( rendered );
|
|
}
|
|
|
|
function loading(enabled){
|
|
//if(enabled)
|
|
// $('#loading').modal('show');
|
|
//else
|
|
// $('#loading').modal('hide');
|
|
} |