Events can now be deleted

merge-requests/1/head
Mike Koch 8 years ago
parent 4c5d9416cb
commit 688d330268

@ -423,9 +423,9 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
</div>
</div>
<div class="modal-footer">
<input type="hidden" name="action" value="create">
<input type="hidden" name="id">
<div class="btn-group">
<button type="button" class="btn btn-danger">
<button type="button" class="btn btn-danger" id="delete-button">
<i class="fa fa-trash"></i>
<span>Delete</span>
</button>

@ -40,6 +40,13 @@ if ($request_method === 'GET') {
return output($id);
} elseif ($action === 'update') {
//TODO
return http_response_code(200);
} elseif ($action === 'delete') {
$id = hesk_POST('id');
delete_event($id, $hesk_settings);
return http_response_code(200);
}
}

@ -48,3 +48,9 @@ function create_event($event, $hesk_settings) {
hesk_dbQuery($sql);
return hesk_dbInsertID();
}
function delete_event($id, $hesk_settings) {
$sql = "DELETE FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "calendar_event` WHERE `id` = " . intval($id);
hesk_dbQuery($sql);
}

@ -46,6 +46,29 @@ $(document).ready(function() {
$('#edit-form .clockpicker').css('display', hideTimeFields ? 'none' : 'block');
});
$('#edit-form #delete-button').click(function() {
var id = $('#edit-form').find('input[name="id"]').val();
var data = {
id: id,
action: 'delete'
};
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
data: data,
success: function() {
removeFromCalendar(data.id);
$.jGrowl('Event successfully deleted', { theme: 'alert-success', closeTemplate: '' });
$('#edit-event-modal').modal('hide');
},
error: function(data) {
console.error(data);
}
});
});
$('#create-form').submit(function(e) {
e.preventDefault();
@ -87,7 +110,7 @@ $(document).ready(function() {
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
data: data,
success: function(id) {
addToCalendar(id, data);
addToCalendar(id, data, "Event successfully created");
$('#create-event-modal').modal('hide');
},
error: function(data) {
@ -95,12 +118,69 @@ $(document).ready(function() {
}
});
});
$('#edit-form').submit(function(e) {
e.preventDefault();
var $form = $('#edit-form');
var start = $form.find('input[name="start-date"]').val();
var end = $form.find('input[name="end-date"]').val();
var dateFormat = 'YYYY-MM-DD';
var allDay = $form.find('input[name="all-day"]').is(':checked');
var createTicketDate = null;
var assignTo = null;
if ($form.find('input[name="assign-to"]').length) {
assignTo = $form.find('input[name="assign-to"]').val();
} else if ($form.find('select[name="assign-to"]').length) {
assignTo = $form.find('select[name="assign-to"]').val();
}
if ($form.find('input[name="create-ticket-date"]').val() != '') {
createTicketDate = moment($form.find('input[name="create-ticket-date"]').val()).format('YYYY-MM-DD');
}
if (!allDay) {
start += ' ' + $form.find('input[name="start-time"]').val();
end += ' ' + $form.find('input[name="end-time"]').val();
dateFormat = 'YYYY-MM-DD HH:mm:ss';
}
var data = {
id: $form.find('input[name="id"]').val(),
title: $form.find('input[name="name"]').val(),
location: $form.find('input[name="location"]').val(),
startTime: moment(start).format(dateFormat),
endTime: moment(end).format(dateFormat),
allDay: allDay,
comments: $form.find('textarea[name="comments"]').val(),
createTicketDate: createTicketDate,
assignTo: assignTo,
action: 'update'
};
$.ajax({
method: 'POST',
url: getHelpdeskUrl() + '/internal-api/admin/calendar',
data: data,
success: function() {
removeFromCalendar(data.id);
addToCalendar(data.id, data, "Event successfully updated");
$('#edit-event-modal').modal('hide');
},
error: function(data) {
console.error(data);
}
});
});
});
function addToCalendar(id, event) {
function addToCalendar(id, event, successMessage) {
var eventObject = buildEvent(id, event);
$('#calendar').fullCalendar('renderEvent', eventObject);
$.jGrowl("Event successfully created", { theme: 'alert-success', closeTemplate: '' });
$.jGrowl(successMessage, { theme: 'alert-success', closeTemplate: '' });
}
function removeFromCalendar(id) {
$('#calendar').fullCalendar('removeEvents', id);
}
function buildEvent(id, dbObject) {
@ -175,7 +255,8 @@ function displayEditModal(date) {
.find('input[name="location"]').val(date.location).end()
.find('textarea[name="comments"]').val(date.comments).end()
.find('input[name="start-date"]').val(date.start.format('YYYY-MM-DD')).end()
.find('input[name="end-date"]').val(date.end.format('YYYY-MM-DD')).end();
.find('input[name="end-date"]').val(date.end.format('YYYY-MM-DD')).end()
.find('input[name="id"]').val(date.id).end();
$('#edit-event-modal').modal('show');
}
Loading…
Cancel
Save