FIX_Leave Permission : ps

This commit is contained in:
VE10-Sanjeev 2024-05-08 08:29:19 +00:00
parent 9dda22a558
commit fc57a9f4d0
3 changed files with 91 additions and 82 deletions

View File

@ -246,7 +246,7 @@ public function createLeave()
$data['status'] = 'pending';
// $data['created_date'] = date('d-m-Y');
$data['created_date_new'] = date('Y-m-d');
$data['created_time'] = date('H:i A');
$data['created_time'] = date('h:i a');
$leave_year = date('Y', strtotime($this->input->post('from_date_new')));
//get employee's leave count
@ -400,7 +400,7 @@ public function editleave()
$action['perm_date_new'] = date('Y-m-d', strtotime($this->input->post('perm_date_new')));
$action['created_date'] = date('d-m-Y');
$action['created_time'] = date('H:i A');
$action['created_time'] = date('h:i a');
$table="leave_list";
$create_permission = $this->MY_Model->edit_option($action, $id, $table);

View File

@ -451,55 +451,47 @@ function get_all_count(id) {
<script>
$(document).ready(function() {
var selectField = $('#from_time');
var selectField = $('#from_time');
var options = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
// var options = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
var options = [ '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM'];
for (var i = 0; i < options.length; i++) {
selectField.append('<option value="' + options[i] + '">' + options[i] + '</option>');
}
});
for (var i = 0; i < options.length; i++) {
selectField.append('<option value="' + options[i] + '">' + options[i] + '</option>');
}
});
var selectField = $('#from_time');
selectField.on('click', function() {
var selectedValue = $(this).val();
var selectField = $('#from_time');
selectField.on('click', function() {
var selectedValue = $(this).val();
console.log(selectedValue);
var timeSlots = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
function filterTimeSlots(startingTime, numberOfHours) {
// Find the index of the starting time in the array
// var timeSlots = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
var timeSlots = [ '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM'];
function filterTimeSlots(startingTime, numberOfHours) {
// Find the index of the starting time in the array
console.log(startingTime,numberOfHours);
const startIndex = timeSlots.findIndex(time => time === startingTime);
console.log(startIndex);
if (startIndex !== -1) {
const endIndex = startIndex + (numberOfHours * 2) - 1;
const startIndex = timeSlots.findIndex(time => time === startingTime);
console.log(startIndex);
if (startIndex !== -1) {
const endIndex = startIndex + (numberOfHours * 2) - 1;
return timeSlots.slice(startIndex, endIndex + 2);
}else{ return []; }
}
return timeSlots.slice(startIndex, endIndex + 2);
}
return [];
}
// Usage example
const startingTime = selectedValue;
const numberOfHours = 2 ;
const filteredTimeSlots = filterTimeSlots(startingTime, numberOfHours);
filteredTimeSlots.shift();
var totime = $('#to_time');
totime.empty();
for (var i = 0; i < filteredTimeSlots.length; i++) {
totime.append('<option value="' + filteredTimeSlots[i] + '">' + filteredTimeSlots[i] + '</option>');
// Usage example
const startingTime = selectedValue;
const numberOfHours = 4 ;
const filteredTimeSlots = filterTimeSlots(startingTime, numberOfHours);
filteredTimeSlots.shift();
var totime = $('#to_time');
totime.empty();
for (var i = 0; i < filteredTimeSlots.length; i++) {
totime.append('<option value="' + filteredTimeSlots[i] + '">' + filteredTimeSlots[i] + '</option>');
}
console.log(filteredTimeSlots);
});
}
console.log(filteredTimeSlots);
});
</script>
<script>

View File

@ -193,14 +193,14 @@
<label class="control-label col-md-2 col-sm-2 " for="first-name"> From<a style="color:red;">*</a> </label>
<div class="col-md-2 col-sm-2 ">
<select class="custom-select" id="from_time" name=from_time required >
<option value="<?php echo $leave->from_time; ?>"><?php echo $leave->from_time; ?></option>
<!-- <option value="<?php echo $leave->from_time; ?>"><?php echo $leave->from_time; ?></option> -->
</select>
</div>
<label class="control-label col-md-1 col-sm-1 " for="last-name">To<a style="color:red;">*</a> </label>
<div class="col-md-2 col-sm-2 ">
<select id="to_time" class="custom-select" name="to_time" required>
<option value="<?php echo $leave->to_time; ?>"><?php echo $leave->to_time; ?></option>
<!-- <option value="<?php echo $leave->to_time; ?>"><?php echo $leave->to_time; ?></option> -->
</select>
</div>
@ -507,53 +507,70 @@ function calculateDateDifference() {
<script>
$(document).ready(function() {
var selectField = $('#from_time');
var selectField = $('#from_time');
var selectToField = $('#to_time');
var SelectedFromTime = '<?php echo $leave->from_time; ?>';
var SelectedToTime = '<?php echo $leave->to_time; ?>';
var options = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
// var options = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
var options = [ '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM'];
for (var i = 0; i < options.length; i++) {
selectField.append('<option value="' + options[i] + '"' + ((SelectedFromTime !== '' && options[i] === SelectedFromTime) ? ' selected' : '') + '>' + options[i] + '</option>');
}
for (var i = 0; i < options.length; i++) {
selectField.append('<option value="' + options[i] + '">' + options[i] + '</option>');
}
});
if (SelectedToTime !== '') {
const ToTimeSlots = filterTimeSlots(SelectedFromTime,2,options);
for (var i = 0; i < ToTimeSlots.length; i++) {
selectToField.append('<option value="' + ToTimeSlots[i] + '"' + ((ToTimeSlots[i] === SelectedToTime) ? ' selected' : '') + '>' + ToTimeSlots[i] + '</option>');
}
}else{
console.log("No time slot selected.");
}
});
var selectField = $('#from_time');
selectField.on('click', function() {
function filterTimeSlots(startingTime, numberOfHours,timeSlots) {
// Find the index of the starting time in the array
console.log(startingTime,numberOfHours);
const startIndex = timeSlots.findIndex(time => time === startingTime);
console.log(startIndex);
if (startIndex !== -1) {
const endIndex = startIndex + (numberOfHours * 2) - 1;
return timeSlots.slice(startIndex, endIndex + 2);
}else{
return [];
}
}
var selectField = $('#from_time');
selectField.on('click', function() {
var selectedValue = $(this).val();
console.log(selectedValue);
var timeSlots = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
// var timeSlots = [ '12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM', '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'];
var timeSlots = [ '8:00 AM', '8:30 AM', '9:00 AM', '9:30 AM', '10:00 AM', '10:30 AM', '11:00 AM', '11:30 AM', '12:00 Noon', '12:30 PM', '1:00 PM', '1:30 PM', '2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM', '4:00 PM', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM'];
// Usage example
const startingTime = selectedValue;
const numberOfHours = 2 ;
const filteredTimeSlots = filterTimeSlots(startingTime, numberOfHours,timeSlots);
function filterTimeSlots(startingTime, numberOfHours) {
// Find the index of the starting time in the array
console.log(startingTime,numberOfHours);
const startIndex = timeSlots.findIndex(time => time === startingTime);
console.log(startIndex);
if (startIndex !== -1) {
filteredTimeSlots.shift();
var totime = $('#to_time');
totime.empty();
for (var i = 0; i < filteredTimeSlots.length; i++) {
totime.append('<option value="' + filteredTimeSlots[i] + '">' + filteredTimeSlots[i] + '</option>');
}
const endIndex = startIndex + (numberOfHours * 2) - 1;
return timeSlots.slice(startIndex, endIndex + 2);
}
return [];
}
// Usage example
const startingTime = selectedValue;
const numberOfHours = 4 ;
const filteredTimeSlots = filterTimeSlots(startingTime, numberOfHours);
filteredTimeSlots.shift();
var totime = $('#to_time');
totime.empty();
for (var i = 0; i < filteredTimeSlots.length; i++) {
totime.append('<option value="' + filteredTimeSlots[i] + '">' + filteredTimeSlots[i] + '</option>');
}
console.log(filteredTimeSlots);
console.log(filteredTimeSlots);
});
</script>