PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.21
VikAppointments Services Booking Calendar v1.2.21
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / admin / views / manageserworkday / tmpl / default.php
vikappointments / admin / views / manageserworkday / tmpl Last commit date
default.php 5 days ago index.html 5 days ago
default.php
199 lines
1 <?php
2 /**
3 * @package VikAppointments
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 JHtml::fetch('bootstrap.tooltip', '.hasTooltip');
15 JHtml::fetch('vaphtml.assets.select2');
16 JHtml::fetch('vaphtml.assets.fontawesome');
17
18 $worktime = $this->worktime;
19
20 $vik = VAPApplication::getInstance();
21
22 ?>
23
24 <form name="adminForm" action="index.php" method="post" id="adminForm">
25
26 <?php echo $vik->openCard(); ?>
27
28 <!-- MAIN -->
29
30 <div class="span6">
31 <?php echo $vik->openEmptyFieldset(); ?>
32
33 <!-- DAY -->
34
35 <?php
36 $options = JHtml::fetch('vikappointments.days');
37
38 // add special option
39 $options[] = JHtml::fetch('select.option', -1, JText::translate('VAPMANAGEWD9'));
40
41 $day = $worktime->ts == -1 ? $worktime->day : -1;
42
43 echo $vik->openControl(JText::translate('VAPMANAGEWD2') . '*'); ?>
44 <select name="day">
45 <?php echo JHtml::fetch('select.options', $options, 'value', 'text', $day); ?>
46 </select>
47 <?php echo $vik->closeControl(); ?>
48
49 <!-- DATE -->
50
51 <?php
52 $control = array();
53 $control['style'] = $day == -1 ? '' : 'display:none;';
54
55 $attr = array();
56 $attr['class'] = $day == -1 ? 'required' : '';
57
58 $date = $worktime->ts != -1 ? JFactory::getDate($worktime->tsdate) : '';
59
60 echo $vik->openControl('', 'special-day-field', $control);
61 echo $vik->calendar($date, 'date', 'vap-date', null, $attr);
62 echo $vik->closeControl();
63 ?>
64
65 <!-- CLOSED -->
66
67 <?php
68 $yes = $vik->initRadioElement('', JText::translate('JYES'), $worktime->closed, 'onclick="closedValueChanged(1);"');
69 $no = $vik->initRadioElement('', JText::translate('JNO'), !$worktime->closed, 'onclick="closedValueChanged(0);"');
70
71 echo $vik->openControl(JText::translate('VAPMANAGEEMPLOYEE22'));
72 echo $vik->radioYesNo('closed', $yes, $no, false);
73 echo $vik->closeControl(); ?>
74
75 <!-- FROM -->
76
77 <?php
78 $times = JHtml::fetch('vikappointments.times', array(
79 'step' => 5,
80 'value' => 'int',
81 ));
82
83 echo $vik->openControl(JText::translate('VAPMANAGEWD3')); ?>
84 <select name="fromts" class="time-select" <?php echo $worktime->closed ? 'disabled' : ''; ?>>
85 <?php echo JHtml::fetch('select.options', $times, 'value', 'text', $worktime->fromts); ?>
86 </select>
87 <?php echo $vik->closeControl(); ?>
88
89 <!-- TO -->
90
91 <?php echo $vik->openControl(JText::translate('VAPMANAGEWD4')); ?>
92 <select name="endts" class="time-select" <?php echo $worktime->closed ? 'disabled' : ''; ?>>
93 <?php echo JHtml::fetch('select.options', $times, 'value', 'text', $worktime->endts); ?>
94 </select>
95 <?php echo $vik->closeControl(); ?>
96
97 <!-- LOCATION -->
98
99 <?php
100 $locations = JHtml::fetch('vaphtml.admin.locations', $worktime->id_employee, $placeholder = '', $group = true);
101
102 echo $vik->openControl(JText::translate('VAPMANAGEWD7'));
103
104 $attrs = array();
105
106 if ($worktime->closed)
107 {
108 $attrs['disabled'] = true;
109 }
110
111 $params = array(
112 'id' => 'vap-location-sel',
113 'list.attr' => $attrs,
114 'group.items' => null,
115 'list.select' => $worktime->id_location,
116 );
117
118 echo JHtml::fetch('select.groupedList', $locations, 'id_location', $params);
119
120 echo $vik->closeControl(); ?>
121
122 <?php echo $vik->closeEmptyFieldset(); ?>
123 </div>
124
125 <?php echo $vik->closeCard(); ?>
126
127 <?php echo JHtml::fetch('form.token'); ?>
128
129 <input type="hidden" name="id" value="<?php echo $worktime->id; ?>" />
130 <input type="hidden" name="id_service" value="<?php echo $worktime->id_service; ?>" />
131 <input type="hidden" name="id_employee" value="<?php echo $worktime->id_employee; ?>" />
132
133 <input type="hidden" name="task" value="" />
134 <input type="hidden" name="option" value="com_vikappointments" />
135 </form>
136
137 <script>
138
139 jQuery(function($) {
140 $('select[name="day"], .time-select').select2({
141 allowClear: false,
142 width: 200,
143 });
144
145 $('#vap-location-sel').select2({
146 placeholder: '--',
147 allowClear: true,
148 width: 300,
149 });
150
151 $('select[name="day"]').on('change', function() {
152 if ($(this).val() == -1) {
153 $('.special-day-field').show();
154 validator.registerFields('#vap-date');
155 } else {
156 $('.special-day-field').hide();
157 validator.unregisterFields('#vap-date');
158 }
159 });
160 });
161
162 function closedValueChanged(is) {
163 jQuery('.time-select, #vap-location-sel').prop('disabled', is ? true : false);
164 }
165
166 // validate
167
168 var validator = new VikFormValidator('#adminForm');
169
170 validator.addCallback((form) => {
171 let fromField = jQuery('select[name="fromts"]');
172 let toField = jQuery('select[name="endts"]');
173
174 let from = parseInt(fromField.val());
175 let to = parseInt(toField.val());
176
177 if (from >= to && fromField.prop('disabled') == false) {
178 form.setInvalid(fromField.add(toField));
179
180 return false;
181 }
182
183 form.unsetInvalid(fromField.add(toField));
184
185 return true;
186 });
187
188 Joomla.submitbutton = function(task) {
189 if (task.indexOf('save') !== -1) {
190 if (validator.validate()) {
191 Joomla.submitform(task, document.adminForm);
192 }
193 } else {
194 Joomla.submitform(task, document.adminForm);
195 }
196 }
197
198 </script>
199