2017-09-14 16:18:20 +03:00
|
|
|
<link rel="stylesheet" type="text/css" href="<?= base_url('/assets/ext/jquery-fullcalendar/jquery.fullcalendar.css') ?>">
|
|
|
|
|
|
|
|
<script src="<?= base_url('assets/ext/jquery-fullcalendar/jquery.fullcalendar.min.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/ext/jquery-sticky-table-headers/jquery.stickytableheaders.min.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/ext/jquery-ui/jquery-ui-timepicker-addon.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar_default_view.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar_table_view.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar_google_sync.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar_appointments_modal.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar_unavailabilities_modal.js') ?>"></script>
|
|
|
|
<script src="<?= base_url('assets/js/backend_calendar_api.js') ?>"></script>
|
2017-09-05 15:58:34 +03:00
|
|
|
<script>
|
2015-11-28 12:52:42 +02:00
|
|
|
var GlobalVariables = {
|
2017-09-14 16:18:20 +03:00
|
|
|
'csrfToken' : <?= json_encode($this->security->get_csrf_hash()) ?>,
|
|
|
|
'availableProviders' : <?= json_encode($available_providers) ?>,
|
|
|
|
'availableServices' : <?= json_encode($available_services) ?>,
|
|
|
|
'baseUrl' : <?= json_encode($base_url) ?>,
|
|
|
|
'bookAdvanceTimeout' : <?= $book_advance_timeout ?>,
|
|
|
|
'dateFormat' : <?= json_encode($date_format) ?>,
|
|
|
|
'editAppointment' : <?= json_encode($edit_appointment) ?>,
|
|
|
|
'customers' : <?= json_encode($customers) ?>,
|
|
|
|
'secretaryProviders' : <?= json_encode($secretary_providers) ?>,
|
|
|
|
'calendarView' : <?= json_encode($calendar_view) ?>,
|
2015-11-28 12:52:42 +02:00
|
|
|
'user' : {
|
2017-09-14 16:18:20 +03:00
|
|
|
'id' : <?= $user_id ?>,
|
|
|
|
'email' : <?= json_encode($user_email) ?>,
|
|
|
|
'role_slug' : <?= json_encode($role_slug) ?>,
|
|
|
|
'privileges': <?= json_encode($privileges) ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
$(document).ready(function() {
|
2016-07-17 14:46:38 +03:00
|
|
|
BackendCalendar.initialize(GlobalVariables.calendarView);
|
2015-11-28 12:52:42 +02:00
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
2016-07-12 23:02:59 +03:00
|
|
|
<div id="calendar-page" class="container-fluid">
|
2015-11-28 12:52:42 +02:00
|
|
|
<div id="calendar-toolbar">
|
2016-07-12 23:02:59 +03:00
|
|
|
<div id="calendar-filter" class="form-inline col-xs-12 col-md-5">
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="select-filter-item">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('display_calendar') ?>
|
2016-07-12 23:02:59 +03:00
|
|
|
</label>
|
2016-12-04 15:09:25 +03:00
|
|
|
<select id="select-filter-item" class="form-control"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('select_filter_item_hint') ?>">
|
2016-07-12 23:02:59 +03:00
|
|
|
</select>
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-12 23:02:59 +03:00
|
|
|
<div id="calendar-actions" class="col-xs-12 col-md-7">
|
2016-07-13 23:56:05 +03:00
|
|
|
<?php if (($role_slug == DB_SLUG_ADMIN || $role_slug == DB_SLUG_PROVIDER)
|
|
|
|
&& Config::GOOGLE_SYNC_FEATURE == TRUE): ?>
|
|
|
|
<button id="google-sync" class="btn btn-primary"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('trigger_google_sync_hint') ?>">
|
2016-07-13 23:56:05 +03:00
|
|
|
<span class="glyphicon glyphicon-refresh"></span>
|
2017-09-14 16:18:20 +03:00
|
|
|
<span><?= lang('synchronize') ?></span>
|
2016-07-13 23:56:05 +03:00
|
|
|
</button>
|
2015-11-28 12:52:42 +02:00
|
|
|
|
2016-07-13 23:56:05 +03:00
|
|
|
<button id="enable-sync" class="btn btn-default" data-toggle="button"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('enable_appointment_sync_hint') ?>">
|
2016-07-13 23:56:05 +03:00
|
|
|
<span class="glyphicon glyphicon-calendar"></span>
|
2017-09-14 16:18:20 +03:00
|
|
|
<span><?= lang('enable_sync') ?></span>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
2016-07-13 23:56:05 +03:00
|
|
|
<?php endif ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
|
2016-07-12 23:02:59 +03:00
|
|
|
<?php if ($privileges[PRIV_APPOINTMENTS]['add'] == TRUE): ?>
|
2016-07-16 21:14:10 +03:00
|
|
|
<button id="insert-appointment" class="btn btn-default"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('new_appointment_hint') ?>">
|
2015-11-28 12:52:42 +02:00
|
|
|
<span class="glyphicon glyphicon-plus"></span>
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('appointment') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
|
|
|
|
<button id="insert-unavailable" class="btn btn-default"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('unavailable_periods_hint') ?>">
|
2015-12-12 01:22:26 +02:00
|
|
|
<span class="glyphicon glyphicon-plus"></span>
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('unavailable') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
2016-07-12 23:02:59 +03:00
|
|
|
<?php endif ?>
|
2016-07-13 23:56:05 +03:00
|
|
|
|
|
|
|
<button id="reload-appointments" class="btn btn-default"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('reload_appointments_hint') ?>">
|
2016-07-13 23:56:05 +03:00
|
|
|
<span class="glyphicon glyphicon-repeat"></span>
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('reload') ?>
|
2016-07-13 23:56:05 +03:00
|
|
|
</button>
|
2016-07-24 14:26:20 +03:00
|
|
|
|
|
|
|
<button id="toggle-fullscreen" class="btn btn-default">
|
|
|
|
<span class="glyphicon glyphicon-fullscreen"></span>
|
|
|
|
</button>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="calendar"></div> <?php // Main calendar container ?>
|
|
|
|
</div>
|
|
|
|
|
2017-09-05 15:58:34 +03:00
|
|
|
<!-- MANAGE APPOINTMENT MODAL -->
|
|
|
|
|
2015-11-28 12:52:42 +02:00
|
|
|
<div id="manage-appointment" class="modal fade full-screen" data-keyboard="true" tabindex="-1">
|
|
|
|
<div class="modal-dialog">
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="wrapper">
|
2016-03-22 23:36:48 +02:00
|
|
|
|
2015-11-28 12:52:42 +02:00
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-dismiss="modal"
|
|
|
|
aria-hidden="true">×</button>
|
2017-09-14 16:18:20 +03:00
|
|
|
<h3 class="modal-title"><?= lang('edit_appointment_title') ?></h3>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-body">
|
|
|
|
<div class="modal-message alert hidden"></div>
|
|
|
|
|
|
|
|
<form class="form-horizontal">
|
|
|
|
<fieldset class="container">
|
2017-09-14 16:18:20 +03:00
|
|
|
<legend><?= lang('appointment_details_title') ?></legend>
|
2015-11-28 12:52:42 +02:00
|
|
|
|
|
|
|
<input id="appointment-id" type="hidden" />
|
|
|
|
|
|
|
|
<div class="form-group">
|
2017-09-14 16:18:20 +03:00
|
|
|
<label for="select-service" class="col-sm-3 control-label"><?= lang('service') ?> *</label>
|
2015-11-28 12:52:42 +02:00
|
|
|
<div class="col-sm-7">
|
|
|
|
<select id="select-service" class="required form-control">
|
|
|
|
<?php
|
|
|
|
// Group services by category, only if there is at least one service
|
|
|
|
// with a parent category.
|
|
|
|
$has_category = FALSE;
|
|
|
|
foreach($available_services as $service) {
|
|
|
|
if ($service['category_id'] != NULL) {
|
|
|
|
$has_category = TRUE;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($has_category) {
|
|
|
|
$grouped_services = array();
|
|
|
|
|
|
|
|
foreach($available_services as $service) {
|
|
|
|
if ($service['category_id'] != NULL) {
|
|
|
|
if (!isset($grouped_services[$service['category_name']])) {
|
|
|
|
$grouped_services[$service['category_name']] = array();
|
|
|
|
}
|
|
|
|
|
|
|
|
$grouped_services[$service['category_name']][] = $service;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// We need the uncategorized services at the end of the list so
|
|
|
|
// we will use another iteration only for the uncategorized services.
|
|
|
|
$grouped_services['uncategorized'] = array();
|
|
|
|
foreach($available_services as $service) {
|
|
|
|
if ($service['category_id'] == NULL) {
|
|
|
|
$grouped_services['uncategorized'][] = $service;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach($grouped_services as $key => $group) {
|
|
|
|
$group_label = ($key != 'uncategorized')
|
|
|
|
? $group[0]['category_name'] : 'Uncategorized';
|
|
|
|
|
|
|
|
if (count($group) > 0) {
|
|
|
|
echo '<optgroup label="' . $group_label . '">';
|
|
|
|
foreach($group as $service) {
|
|
|
|
echo '<option value="' . $service['id'] . '">'
|
|
|
|
. $service['name'] . '</option>';
|
|
|
|
}
|
|
|
|
echo '</optgroup>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
foreach($available_services as $service) {
|
|
|
|
echo '<option value="' . $service['id'] . '">'
|
|
|
|
. $service['name'] . '</option>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2017-09-14 16:18:20 +03:00
|
|
|
<label for="select-provider" class="col-sm-3 control-label"><?= lang('provider') ?> *</label>
|
2016-10-21 00:00:34 +03:00
|
|
|
<div class="col-sm-7">
|
2015-11-28 12:52:42 +02:00
|
|
|
<select id="select-provider" class="required form-control"></select>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2017-09-14 16:18:20 +03:00
|
|
|
<label for="start-datetime" class="col-sm-3 control-label" ><?= lang('start_date_time') ?></label>
|
2015-11-28 12:52:42 +02:00
|
|
|
<div class="col-sm-7">
|
|
|
|
<input type="text" id="start-datetime" class="form-control" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2017-09-14 16:18:20 +03:00
|
|
|
<label for="end-datetime" class="control-label col-sm-3" ><?= lang('end_date_time') ?></label>
|
2015-11-28 12:52:42 +02:00
|
|
|
<div class="col-sm-7">
|
2016-07-16 19:14:49 +03:00
|
|
|
<input type="text" id="end-datetime" class="form-control" />
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
2017-09-14 16:18:20 +03:00
|
|
|
<label for="appointment-notes" class="control-label col-sm-3" ><?= lang('notes') ?></label>
|
2015-11-28 12:52:42 +02:00
|
|
|
<div class="col-sm-7">
|
|
|
|
<textarea id="appointment-notes" class="form-control" rows="3"></textarea>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<fieldset class="container">
|
|
|
|
<legend>
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('customer_details_title') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
<button id="new-customer" class="btn btn-default btn-xs"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('clear_fields_add_existing_customer_hint') ?>"
|
|
|
|
type="button"><?= lang('new') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
<button id="select-customer" class="btn btn-primary btn-xs"
|
2017-09-14 16:18:20 +03:00
|
|
|
title="<?= lang('pick_existing_customer_hint') ?>"
|
|
|
|
type="button"><?= lang('select') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
<input type="text" id="filter-existing-customers"
|
2017-09-14 16:18:20 +03:00
|
|
|
placeholder="<?= lang('type_to_filter_customers') ?>"
|
2017-08-10 10:58:42 +03:00
|
|
|
style="display: none;" class="input-sm"/>
|
2015-11-28 12:52:42 +02:00
|
|
|
<div id="existing-customers-list" style="display: none;"></div>
|
|
|
|
</legend>
|
|
|
|
|
|
|
|
<input id="customer-id" type="hidden" />
|
2016-07-16 21:14:10 +03:00
|
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6">
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="first-name" class="control-label col-sm-2">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('first_name') ?> *</label>
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="col-sm-8">
|
|
|
|
<input type="text" id="first-name" class="required form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="last-name" class="control-label col-sm-2">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('last_name') ?>*</label>
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="col-sm-8">
|
|
|
|
<input type="text" id="last-name" class="required form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="email" class="control-label col-sm-2">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('email') ?>*</label>
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="col-sm-8">
|
|
|
|
<input type="text" id="email" class="required form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="phone-number" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('phone_number') ?>*</label>
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="col-sm-8">
|
|
|
|
<input type="text" id="phone-number" class="required form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="col-md-6">
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="address" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('address') ?></label>
|
2016-10-21 00:00:34 +03:00
|
|
|
<div class="col-sm-8">
|
2016-07-16 21:14:10 +03:00
|
|
|
<input type="text" id="address" class="form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="city" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('city') ?></label>
|
2016-10-21 00:00:34 +03:00
|
|
|
<div class="col-sm-8">
|
2016-07-16 21:14:10 +03:00
|
|
|
<input type="text" id="city" class="form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="zip-code" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('zip_code') ?></label>
|
2016-10-21 00:00:34 +03:00
|
|
|
<div class="col-sm-8">
|
2016-07-16 21:14:10 +03:00
|
|
|
<input type="text" id="zip-code" class="form-control" />
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-07-16 21:14:10 +03:00
|
|
|
<div class="form-group">
|
|
|
|
<label for="customer-notes" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('notes') ?></label>
|
2016-10-21 00:00:34 +03:00
|
|
|
<div class="col-sm-8">
|
2016-07-16 21:14:10 +03:00
|
|
|
<textarea id="customer-notes" rows="3" class="form-control"></textarea>
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</fieldset>
|
|
|
|
</form>
|
|
|
|
</div>
|
2016-03-22 23:36:48 +02:00
|
|
|
|
|
|
|
<div class="modal-push"></div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2016-03-22 23:36:48 +02:00
|
|
|
<div class="modal-footer footer">
|
|
|
|
<button id="save-appointment" class="btn btn-primary">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('save') ?>
|
2016-03-22 23:36:48 +02:00
|
|
|
</button>
|
|
|
|
<button id="cancel-appointment" class="btn btn-default" data-dismiss="modal">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('cancel') ?>
|
2016-03-22 23:36:48 +02:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2017-09-05 15:58:34 +03:00
|
|
|
<!-- MANAGE UNAVAILABLE MODAL -->
|
|
|
|
|
2015-11-28 12:52:42 +02:00
|
|
|
<div id="manage-unavailable" class="modal fade">
|
|
|
|
<div class="modal-dialog">
|
|
|
|
<div class="modal-content">
|
|
|
|
|
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-dismiss="modal"
|
|
|
|
aria-hidden="true">×</button>
|
2017-09-14 16:18:20 +03:00
|
|
|
<h3 class="modal-title"><?= lang('new_unavailable_title') ?></h3>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-body">
|
2016-01-24 16:40:06 +02:00
|
|
|
<div class="modal-message alert hidden"></div>
|
2015-11-28 12:52:42 +02:00
|
|
|
|
|
|
|
<form class="form-horizontal">
|
|
|
|
<fieldset>
|
|
|
|
<input id="unavailable-id" type="hidden" />
|
2016-07-18 23:55:05 +03:00
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="unavailable-provider" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('provider') ?>
|
2016-07-18 23:55:05 +03:00
|
|
|
</label>
|
|
|
|
<div class="col-sm-8">
|
|
|
|
<select type="text" id="unavailable-provider" class="form-control"></select>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="unavailable-start" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('start') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</label>
|
|
|
|
<div class="col-sm-8">
|
|
|
|
<input type="text" id="unavailable-start" class="form-control" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="unavailable-end" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('end') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</label>
|
|
|
|
<div class="col-sm-8">
|
|
|
|
<input type="text" id="unavailable-end" class="form-control" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="unavailable-notes" class="control-label col-sm-3">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('notes') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</label>
|
|
|
|
<div class="col-sm-8">
|
|
|
|
<textarea id="unavailable-notes" rows="3" class="form-control"></textarea>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</fieldset>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button id="save-unavailable" class="btn btn-primary">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('save') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
<button id="cancel-unavailable" class="btn btn-default" data-dismiss="modal">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('cancel') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2017-09-05 15:58:34 +03:00
|
|
|
<!-- SELECT GOOGLE CALENDAR MODAL -->
|
|
|
|
|
2015-11-28 12:52:42 +02:00
|
|
|
<div id="select-google-calendar" class="modal fade">
|
|
|
|
<div class="modal-dialog">
|
|
|
|
<div class="modal-content">
|
|
|
|
|
|
|
|
<div class="modal-header">
|
|
|
|
<button type="button" class="close" data-dismiss="modal"
|
|
|
|
aria-hidden="true">×</button>
|
2017-09-14 16:18:20 +03:00
|
|
|
<h3 class="modal-title"><?= lang('select_google_calendar') ?></h3>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-body">
|
|
|
|
<p>
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('select_google_calendar_prompt') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</p>
|
|
|
|
<select id="google-calendar"></select>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
<button id="select-calendar" class="btn btn-primary">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('select') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
<button id="close-calendar" class="btn btn-default" data-dismiss="modal">
|
2017-09-14 16:18:20 +03:00
|
|
|
<?= lang('close') ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|