forked from mirrors/easyappointments
moved book_success.php javascript code to frontend_book_success.js
This commit is contained in:
parent
ab0fd25240
commit
9c10b29f46
2 changed files with 115 additions and 112 deletions
|
@ -102,120 +102,12 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
var EALang = <?php echo json_encode($this->lang->language); ?>;
|
var EALang = <?php echo json_encode($this->lang->language); ?>;
|
||||||
|
|
||||||
$(document).ready(function() {
|
|
||||||
/**
|
|
||||||
* Event: Add Appointment to Google Calendar "Click"
|
|
||||||
*
|
|
||||||
* This event handler adds the appointment to the users Google
|
|
||||||
* Calendar Account. The event is going to be added to the "primary"
|
|
||||||
* calendar. In order to use the API the javascript client library
|
|
||||||
* provided by Google is necessary.
|
|
||||||
*/
|
|
||||||
$('#add-to-google-calendar').click(function() {
|
|
||||||
gapi.client.setApiKey(GlobalVariables.googleApiKey);
|
|
||||||
gapi.auth.authorize({
|
|
||||||
'client_id' : GlobalVariables.googleClientId,
|
|
||||||
'scope' : GlobalVariables.googleApiScope,
|
|
||||||
'immediate' : false
|
|
||||||
}, handleAuthResult);
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method handles the authorization result. If the user granted access
|
|
||||||
* to his data, then the appointment is going to be added to his calendar.
|
|
||||||
*
|
|
||||||
* @param {bool} authResult The user's auth result.
|
|
||||||
*/
|
|
||||||
function handleAuthResult(authResult) {
|
|
||||||
try {
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
console.log('Google Authorization Result: ', authResult);
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
if (authResult.error) {
|
|
||||||
throw 'Could not authorize user.';
|
|
||||||
}
|
|
||||||
|
|
||||||
// The user has granted access, add the appointment to his calendar.
|
|
||||||
// Before making the event.insert request the the event resource data
|
|
||||||
// must be prepared.
|
|
||||||
var appointmentData = GlobalVariables.appointmentData;
|
|
||||||
|
|
||||||
appointmentData['start_datetime'] = GeneralFunctions.ISODateString(
|
|
||||||
Date.parseExact(appointmentData['start_datetime'],
|
|
||||||
'yyyy-MM-dd HH:mm:ss'));
|
|
||||||
appointmentData['end_datetime'] = GeneralFunctions.ISODateString(
|
|
||||||
Date.parseExact(appointmentData['end_datetime'],
|
|
||||||
'yyyy-MM-dd HH:mm:ss'));
|
|
||||||
|
|
||||||
// Create a valid Google Calendar API resource for the new event.
|
|
||||||
var resource = {
|
|
||||||
'summary' : GlobalVariables.serviceData['name'],
|
|
||||||
'location' : GlobalVariables.companyName,
|
|
||||||
'start' : {
|
|
||||||
'dateTime': appointmentData['start_datetime']
|
|
||||||
},
|
|
||||||
'end' : {
|
|
||||||
'dateTime': appointmentData['end_datetime']
|
|
||||||
},
|
|
||||||
'attendees' : [
|
|
||||||
{
|
|
||||||
'email' : GlobalVariables.providerData['email'],
|
|
||||||
'displayName' : GlobalVariables.providerData['first_name'] + ' '
|
|
||||||
+ GlobalVariables.providerData['last_name']
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
gapi.client.load('calendar', 'v3', function() {
|
|
||||||
var request = gapi.client.calendar.events.insert({
|
|
||||||
'calendarId' : 'primary',
|
|
||||||
'resource' : resource
|
|
||||||
});
|
|
||||||
|
|
||||||
request.execute(function(response) {
|
|
||||||
/////////////////////////////////////////////////
|
|
||||||
console.log('Google API Response:', response);
|
|
||||||
/////////////////////////////////////////////////
|
|
||||||
|
|
||||||
if (!response.error) {
|
|
||||||
$('#success-frame').append(
|
|
||||||
'<br><br>' +
|
|
||||||
'<div class="alert alert-success col-xs-12">' +
|
|
||||||
'<h4>' + EALang['success'] + '</h4>' +
|
|
||||||
'<p>' +
|
|
||||||
EALang['appointment_added_to_google_calendar'] +
|
|
||||||
'<br>' +
|
|
||||||
'<a href="' + response.htmlLink + '" target="_blank">' +
|
|
||||||
EALang['view_appointment_in_google_calendar'] +
|
|
||||||
'</a>' +
|
|
||||||
'</p>' +
|
|
||||||
'</div>'
|
|
||||||
);
|
|
||||||
$('#add-to-google-calendar').hide();
|
|
||||||
} else {
|
|
||||||
throw 'Could not add the event to Google Calendar.';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} catch(exc) {
|
|
||||||
// The user denied access or something else happened, display
|
|
||||||
// corresponding message on the screen.
|
|
||||||
$('#success-frame').append(
|
|
||||||
'<div class="alert alert-danger col-xs-12">' +
|
|
||||||
'<h4>' + EALang['oops_something_went_wrong'] + '</h4>' +
|
|
||||||
'<p>' +
|
|
||||||
EALang['could_not_add_to_google_calendar'] +
|
|
||||||
'<pre>' + exc + '</pre>' +
|
|
||||||
'</p>' +
|
|
||||||
'</div>');
|
|
||||||
console.log('Add To Google Calendar Exception', exc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script
|
||||||
|
type="text/javascript"
|
||||||
|
src="<?php echo $this->config->base_url(); ?>/assets/js/frontend_book_success.js"></script>
|
||||||
|
|
||||||
<script
|
<script
|
||||||
type="text/javascript"
|
type="text/javascript"
|
||||||
src="<?php echo $this->config->base_url(); ?>/assets/js/general_functions.js"></script>
|
src="<?php echo $this->config->base_url(); ?>/assets/js/general_functions.js"></script>
|
||||||
|
|
111
src/assets/js/frontend_book_success.js
Normal file
111
src/assets/js/frontend_book_success.js
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
$(document).ready(function() {
|
||||||
|
/**
|
||||||
|
* Event: Add Appointment to Google Calendar "Click"
|
||||||
|
*
|
||||||
|
* This event handler adds the appointment to the users Google
|
||||||
|
* Calendar Account. The event is going to be added to the "primary"
|
||||||
|
* calendar. In order to use the API the javascript client library
|
||||||
|
* provided by Google is necessary.
|
||||||
|
*/
|
||||||
|
$('#add-to-google-calendar').click(function() {
|
||||||
|
gapi.client.setApiKey(GlobalVariables.googleApiKey);
|
||||||
|
gapi.auth.authorize({
|
||||||
|
'client_id' : GlobalVariables.googleClientId,
|
||||||
|
'scope' : GlobalVariables.googleApiScope,
|
||||||
|
'immediate' : false
|
||||||
|
}, handleAuthResult);
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method handles the authorization result. If the user granted access
|
||||||
|
* to his data, then the appointment is going to be added to his calendar.
|
||||||
|
*
|
||||||
|
* @param {bool} authResult The user's auth result.
|
||||||
|
*/
|
||||||
|
function handleAuthResult(authResult) {
|
||||||
|
try {
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
console.log('Google Authorization Result: ', authResult);
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
if (authResult.error) {
|
||||||
|
throw 'Could not authorize user.';
|
||||||
|
}
|
||||||
|
|
||||||
|
// The user has granted access, add the appointment to his calendar.
|
||||||
|
// Before making the event.insert request the the event resource data
|
||||||
|
// must be prepared.
|
||||||
|
var appointmentData = GlobalVariables.appointmentData;
|
||||||
|
|
||||||
|
appointmentData['start_datetime'] = GeneralFunctions.ISODateString(
|
||||||
|
Date.parseExact(appointmentData['start_datetime'],
|
||||||
|
'yyyy-MM-dd HH:mm:ss'));
|
||||||
|
appointmentData['end_datetime'] = GeneralFunctions.ISODateString(
|
||||||
|
Date.parseExact(appointmentData['end_datetime'],
|
||||||
|
'yyyy-MM-dd HH:mm:ss'));
|
||||||
|
|
||||||
|
// Create a valid Google Calendar API resource for the new event.
|
||||||
|
var resource = {
|
||||||
|
'summary' : GlobalVariables.serviceData['name'],
|
||||||
|
'location' : GlobalVariables.companyName,
|
||||||
|
'start' : {
|
||||||
|
'dateTime': appointmentData['start_datetime']
|
||||||
|
},
|
||||||
|
'end' : {
|
||||||
|
'dateTime': appointmentData['end_datetime']
|
||||||
|
},
|
||||||
|
'attendees' : [
|
||||||
|
{
|
||||||
|
'email' : GlobalVariables.providerData['email'],
|
||||||
|
'displayName' : GlobalVariables.providerData['first_name'] + ' '
|
||||||
|
+ GlobalVariables.providerData['last_name']
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
gapi.client.load('calendar', 'v3', function() {
|
||||||
|
var request = gapi.client.calendar.events.insert({
|
||||||
|
'calendarId' : 'primary',
|
||||||
|
'resource' : resource
|
||||||
|
});
|
||||||
|
|
||||||
|
request.execute(function(response) {
|
||||||
|
/////////////////////////////////////////////////
|
||||||
|
console.log('Google API Response:', response);
|
||||||
|
/////////////////////////////////////////////////
|
||||||
|
|
||||||
|
if (!response.error) {
|
||||||
|
$('#success-frame').append(
|
||||||
|
'<br><br>' +
|
||||||
|
'<div class="alert alert-success col-xs-12">' +
|
||||||
|
'<h4>' + EALang['success'] + '</h4>' +
|
||||||
|
'<p>' +
|
||||||
|
EALang['appointment_added_to_google_calendar'] +
|
||||||
|
'<br>' +
|
||||||
|
'<a href="' + response.htmlLink + '" target="_blank">' +
|
||||||
|
EALang['view_appointment_in_google_calendar'] +
|
||||||
|
'</a>' +
|
||||||
|
'</p>' +
|
||||||
|
'</div>'
|
||||||
|
);
|
||||||
|
$('#add-to-google-calendar').hide();
|
||||||
|
} else {
|
||||||
|
throw 'Could not add the event to Google Calendar.';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} catch(exc) {
|
||||||
|
// The user denied access or something else happened, display
|
||||||
|
// corresponding message on the screen.
|
||||||
|
$('#success-frame').append(
|
||||||
|
'<div class="alert alert-danger col-xs-12">' +
|
||||||
|
'<h4>' + EALang['oops_something_went_wrong'] + '</h4>' +
|
||||||
|
'<p>' +
|
||||||
|
EALang['could_not_add_to_google_calendar'] +
|
||||||
|
'<pre>' + exc + '</pre>' +
|
||||||
|
'</p>' +
|
||||||
|
'</div>');
|
||||||
|
console.log('Add To Google Calendar Exception', exc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
Loading…
Reference in a new issue