2023-11-29 12:24:09 +03:00
|
|
|
<?php extend('layouts/backend_layout'); ?>
|
2021-11-16 12:40:54 +03:00
|
|
|
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php section('content'); ?>
|
2021-11-16 12:40:54 +03:00
|
|
|
|
2020-09-03 14:35:58 +03:00
|
|
|
<div class="container-fluid backend-page" id="calendar-page">
|
2020-08-31 20:11:02 +03:00
|
|
|
<div class="row" id="calendar-toolbar">
|
2022-01-24 14:55:45 +03:00
|
|
|
<div id="calendar-filter" class="col-md-4">
|
2021-11-25 11:13:27 +03:00
|
|
|
<div class="calendar-filter-items">
|
2020-08-31 20:11:02 +03:00
|
|
|
<select id="select-filter-item" class="form-control col"
|
2020-10-22 12:29:09 +03:00
|
|
|
data-tippy-content="<?= lang('select_filter_item_hint') ?>">
|
2016-07-12 23:02:59 +03:00
|
|
|
</select>
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2022-01-24 14:55:45 +03:00
|
|
|
<div id="calendar-actions" class="col-md-8">
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php if (
|
|
|
|
(session('role_slug') == DB_SLUG_ADMIN || session('role_slug') == DB_SLUG_PROVIDER) &&
|
|
|
|
config('google_sync_feature') == true
|
|
|
|
): ?>
|
2020-08-31 13:23:10 +03:00
|
|
|
<button id="google-sync" class="btn btn-primary"
|
2020-10-22 12:29:09 +03:00
|
|
|
data-tippy-content="<?= lang('trigger_google_sync_hint') ?>">
|
2022-01-25 00:41:09 +03:00
|
|
|
<i class="fas fa-sync-alt me-2"></i>
|
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
|
|
|
|
2021-11-23 10:37:41 +03:00
|
|
|
<button id="enable-sync" class="btn btn-light" data-bs-toggle="button"
|
2020-10-22 12:29:09 +03:00
|
|
|
data-tippy-content="<?= lang('enable_appointment_sync_hint') ?>">
|
2021-11-23 10:41:37 +03:00
|
|
|
<i class="fas fa-calendar-alt me-2"></i>
|
2017-09-14 16:18:20 +03:00
|
|
|
<span><?= lang('enable_sync') ?></span>
|
2015-11-28 12:52:42 +02:00
|
|
|
</button>
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php endif; ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
|
2021-11-25 11:13:27 +03:00
|
|
|
<?php if (can('add', PRIV_APPOINTMENTS)): ?>
|
2023-03-01 10:21:57 +03:00
|
|
|
<div class="dropdown d-sm-inline-block">
|
2023-02-07 09:21:04 +03:00
|
|
|
<button class="btn btn-light" type="button" data-bs-toggle="dropdown">
|
|
|
|
<i class="fas fa-plus-square"></i>
|
2020-12-09 15:17:45 +03:00
|
|
|
</button>
|
2023-02-07 09:21:04 +03:00
|
|
|
<ul class="dropdown-menu">
|
|
|
|
<li>
|
|
|
|
<a class="dropdown-item" href="#" id="insert-appointment">
|
|
|
|
<?= lang('appointment') ?>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a class="dropdown-item" href="#" id="insert-unavailability">
|
|
|
|
<?= lang('unavailability') ?>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2023-11-29 12:24:09 +03:00
|
|
|
<a class="dropdown-item" href="#"
|
|
|
|
id="insert-working-plan-exception" <?= session('role_slug') !== DB_SLUG_ADMIN
|
|
|
|
? 'hidden'
|
|
|
|
: '' ?>>
|
2023-02-07 09:21:04 +03:00
|
|
|
<?= lang('working_plan_exception') ?>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
2020-05-04 14:56:23 +03:00
|
|
|
</div>
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php endif; ?>
|
2016-07-13 23:56:05 +03:00
|
|
|
|
2020-12-09 15:17:45 +03:00
|
|
|
<button id="reload-appointments" class="btn btn-light"
|
|
|
|
data-tippy-content="<?= lang('reload_appointments_hint') ?>">
|
2020-09-07 12:21:16 +03:00
|
|
|
<i class="fas fa-sync-alt"></i>
|
2016-07-13 23:56:05 +03:00
|
|
|
</button>
|
2016-07-24 14:26:20 +03:00
|
|
|
|
2022-01-18 10:45:02 +03:00
|
|
|
<?php if (vars('calendar_view') === 'default'): ?>
|
2023-03-01 10:21:57 +03:00
|
|
|
<a class="btn btn-light mb-0" href="<?= site_url('calendar?view=table') ?>"
|
2020-10-22 12:29:09 +03:00
|
|
|
data-tippy-content="<?= lang('table') ?>">
|
2020-09-07 12:21:16 +03:00
|
|
|
<i class="fas fa-table"></i>
|
2020-05-04 14:38:28 +03:00
|
|
|
</a>
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php endif; ?>
|
2020-05-04 14:38:28 +03:00
|
|
|
|
2022-01-18 10:45:02 +03:00
|
|
|
<?php if (vars('calendar_view') === 'table'): ?>
|
2023-03-01 10:21:57 +03:00
|
|
|
<a class="btn btn-light mb-0" href="<?= site_url('calendar?view=default') ?>"
|
2020-10-22 12:29:09 +03:00
|
|
|
data-tippy-content="<?= lang('default') ?>">
|
2020-06-18 21:23:16 +03:00
|
|
|
<i class="fas fa-calendar-alt"></i>
|
2020-05-04 14:38:28 +03:00
|
|
|
</a>
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php endif; ?>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2021-11-12 10:25:27 +03:00
|
|
|
<div id="calendar">
|
|
|
|
<!-- Dynamically Generated Content -->
|
|
|
|
</div>
|
2015-11-28 12:52:42 +02:00
|
|
|
</div>
|
|
|
|
|
2021-11-12 10:25:27 +03:00
|
|
|
<!-- Page Components -->
|
2020-08-31 13:23:10 +03:00
|
|
|
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php component('appointments_modal', [
|
|
|
|
'available_services' => vars('available_services'),
|
|
|
|
'appointment_status_options' => vars('appointment_status_options'),
|
|
|
|
'timezones' => vars('timezones'),
|
|
|
|
'require_first_name' => vars('require_first_name'),
|
|
|
|
'require_last_name' => vars('require_last_name'),
|
|
|
|
'require_email' => vars('require_email'),
|
|
|
|
'require_phone_number' => vars('require_phone_number'),
|
|
|
|
'require_address' => vars('require_address'),
|
|
|
|
'require_city' => vars('require_city'),
|
|
|
|
'require_zip_code' => vars('require_zip_code'),
|
2023-12-22 13:35:41 +03:00
|
|
|
'require_notes' => vars('require_notes'),
|
2023-11-29 12:24:09 +03:00
|
|
|
]); ?>
|
|
|
|
|
|
|
|
<?php component('unavailabilities_modal', [
|
|
|
|
'timezones' => vars('timezones'),
|
2023-12-22 13:35:41 +03:00
|
|
|
'timezone' => vars('timezone'),
|
2023-11-29 12:24:09 +03:00
|
|
|
]); ?>
|
|
|
|
|
|
|
|
<?php component('select_google_calendar_modal'); ?>
|
|
|
|
|
|
|
|
<?php component('working_plan_exceptions_modal'); ?>
|
|
|
|
|
|
|
|
<?php end_section('content'); ?>
|
|
|
|
|
|
|
|
<?php section('scripts'); ?>
|
2022-01-17 23:18:59 +03:00
|
|
|
|
2023-01-27 17:54:26 +03:00
|
|
|
<script src="<?= asset_url('assets/vendor/fullcalendar/index.global.min.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/vendor/fullcalendar-moment/index.global.min.js') ?>"></script>
|
2022-01-17 23:18:59 +03:00
|
|
|
<script src="<?= asset_url('assets/vendor/jquery-jeditable/jquery.jeditable.min.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/date.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/message.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/validation.js') ?>"></script>
|
2022-05-26 16:17:33 +03:00
|
|
|
<script src="<?= asset_url('assets/js/utils/ui.js') ?>"></script>
|
2022-01-17 23:18:59 +03:00
|
|
|
<script src="<?= asset_url('assets/js/utils/url.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/calendar_default_view.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/calendar_table_view.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/calendar_google_sync.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/utils/calendar_event_popover.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/http/calendar_http_client.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/http/google_http_client.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/http/customers_http_client.js') ?>"></script>
|
|
|
|
<script src="<?= asset_url('assets/js/pages/calendar.js') ?>"></script>
|
|
|
|
|
2023-11-29 12:24:09 +03:00
|
|
|
<?php end_section('scripts'); ?>
|
2020-10-20 16:03:48 +03:00
|
|
|
|