Szabadság kiadás hozzáadva FullCalendarból
This commit is contained in:
parent
644ea4236e
commit
dff21701fd
|
|
@ -2310,7 +2310,50 @@ router.delete('/holidays_delete/:uid/:hid',utils.ensureAuthenticated,function(re
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
// Szabadság kiadás full calendar
|
||||||
|
router.post('/holidays_byperson_fc/:id', utils.ensureAuthenticated,function(req,res){
|
||||||
|
console.log(req.params.id);
|
||||||
|
console.log(req.body);
|
||||||
|
moment.locale('HU');
|
||||||
|
let startd = moment(req.body.sField, 'DD.MM.YYYY'); //Pick any format
|
||||||
|
let endd = moment(req.body.eField, 'DD.MM.YYYY');
|
||||||
|
let weekdayCounter = 0;
|
||||||
|
|
||||||
|
while (startd <= endd) {
|
||||||
|
console.log(startd.format('ddd'));
|
||||||
|
// if (startd.format('ddd') !== 'szo' && startd.format('ddd') !== 'vas'){
|
||||||
|
weekdayCounter++; //add 1 to your counter if its not a weekend day
|
||||||
|
//}
|
||||||
|
startd = moment(startd, 'DD.MM.YYYY').add(1, 'days'); //increment by one day
|
||||||
|
}
|
||||||
|
console.log("Hétköznapok",weekdayCounter); //display your total elapsed weekdays in the console!
|
||||||
|
|
||||||
|
let hd ={
|
||||||
|
start_date: req.body.sField,
|
||||||
|
end_date: req.body.eField,
|
||||||
|
|
||||||
|
duration: weekdayCounter,
|
||||||
|
|
||||||
|
};
|
||||||
|
//hd.id=hd._id;
|
||||||
|
Employee.findByIdAndUpdate(req.params.id,{ $inc: {'vacationUsed': weekdayCounter },$push: {holidayData:hd}},function(error,success){
|
||||||
|
if (error) {
|
||||||
|
console.log(error);
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.send({'response':'Fail','message':'Sikertelen művelet!'});
|
||||||
|
} else {
|
||||||
|
console.log(success);
|
||||||
|
sendEmailHolidayNotify(success.name,success.email,hd);
|
||||||
|
//res.redirect('/employee/holidays_byperson/'+req.params.id);
|
||||||
|
res.setHeader('Content-Type', 'application/json');
|
||||||
|
res.send({'response':'OK','message':'A szabadság sikeresen kiírva!'});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// Szabadság kiadás régi
|
||||||
router.post('/holidays_byperson/:id', utils.ensureAuthenticated,function(req,res){
|
router.post('/holidays_byperson/:id', utils.ensureAuthenticated,function(req,res){
|
||||||
console.log(req.params.id);
|
console.log(req.params.id);
|
||||||
console.log(req.body);
|
console.log(req.body);
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ block content
|
||||||
button.btn.btn-primary(type='submit') Rendben
|
button.btn.btn-primary(type='submit') Rendben
|
||||||
br
|
br
|
||||||
label#uid(style='display:none;') #{employee._id}
|
label#uid(style='display:none;') #{employee._id}
|
||||||
|
label#uname(style='display:none;') #{employee.name}
|
||||||
.container(style='width:95%')
|
.container(style='width:95%')
|
||||||
|
|
||||||
.panel.panel-primary(style='width:95%')
|
.panel.panel-primary(style='width:95%')
|
||||||
|
|
@ -158,6 +159,7 @@ block content
|
||||||
// Calendar
|
// Calendar
|
||||||
var calendarEl = document.getElementById('calendar');
|
var calendarEl = document.getElementById('calendar');
|
||||||
var empId = document.getElementById('uid')
|
var empId = document.getElementById('uid')
|
||||||
|
var empname = document.getElementById('uname').textContent
|
||||||
const year=+moment().format("YYYY")
|
const year=+moment().format("YYYY")
|
||||||
var calendar = new FullCalendar.Calendar(calendarEl,
|
var calendar = new FullCalendar.Calendar(calendarEl,
|
||||||
{
|
{
|
||||||
|
|
@ -174,8 +176,92 @@ block content
|
||||||
nextDayThreshold: "01:00:00",
|
nextDayThreshold: "01:00:00",
|
||||||
displayEventTime: false,
|
displayEventTime: false,
|
||||||
editable: true,
|
editable: true,
|
||||||
|
selectable: true,
|
||||||
eventStartEditable:true,
|
eventStartEditable:true,
|
||||||
eventDurationEditable:true,
|
eventDurationEditable:true,
|
||||||
|
select: async function (start, end, allDay) {
|
||||||
|
var vacationLeft = document.getElementById('vacationLeft').value
|
||||||
|
|
||||||
|
var a = moment(start.start);
|
||||||
|
var b = moment(start.end);
|
||||||
|
b= b.subtract(1,'days')
|
||||||
|
var duration = b.diff(a, 'days')+1
|
||||||
|
if (duration>vacationLeft)
|
||||||
|
{
|
||||||
|
Swal.fire({
|
||||||
|
position: "top-end",
|
||||||
|
icon: "warning",
|
||||||
|
title: 'Nincs ennyi szabid!\n'+duration+' nap',
|
||||||
|
showConfirmButton: false,
|
||||||
|
timer: 1500
|
||||||
|
});
|
||||||
|
calendar.unselect();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
|
||||||
|
const result= await Swal.fire(
|
||||||
|
{
|
||||||
|
title: "Biztosan kiadja a szabadságot? "+moment(a).format('YYYY.MM.DD')+" - "+moment(b).format('YYYY.MM.DD'),
|
||||||
|
text: "A szabadság kiadásáról "+empname+" e-mail értesítést fog kapni.",
|
||||||
|
icon: "question",
|
||||||
|
showDenyButton: true,
|
||||||
|
confirmButtonText: 'Igen',
|
||||||
|
denyButtonText: 'Nem',
|
||||||
|
customClass: {
|
||||||
|
actions: 'my-actions',
|
||||||
|
confirmButton: 'order-2',
|
||||||
|
denyButton: 'order-3',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (result.isConfirmed)
|
||||||
|
{
|
||||||
|
//console.log("Event ID: "+eventDropInfo.event.id)
|
||||||
|
//console.log("Event Before Drop\n"+eventDropInfo.oldEvent.start+'-'+eventDropInfo.oldEvent.end)
|
||||||
|
//console.log("Event After Drop\n"+eventDropInfo.event.start+'-'+eventDropInfo.event.end)
|
||||||
|
const response = await fetch("/employee/holidays_byperson_fc/"+empId.textContent,
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
},
|
||||||
|
method: "POST",
|
||||||
|
body: JSON.stringify({ sField: moment(a).format('DD.MM.YYYY'),eField: moment(b).format('DD.MM.YYYY')}),
|
||||||
|
});
|
||||||
|
const data = await response.json();
|
||||||
|
if (!response.ok)
|
||||||
|
{
|
||||||
|
Swal.fire('Error', '', 'error')
|
||||||
|
}
|
||||||
|
if (data.response="OK")
|
||||||
|
{
|
||||||
|
|
||||||
|
Swal.fire({
|
||||||
|
position: "top-end",
|
||||||
|
icon: "success",
|
||||||
|
title: data.message,
|
||||||
|
showConfirmButton: false,
|
||||||
|
timer: 1500
|
||||||
|
});
|
||||||
|
//Swal.fire('Saved!', '', 'success')
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (result.isDenied)
|
||||||
|
{
|
||||||
|
//Swal.fire('Changes are not saved', '', 'info')
|
||||||
|
Swal.fire({
|
||||||
|
position: "top-end",
|
||||||
|
icon: "info",
|
||||||
|
title: 'Nem történt változtatás',
|
||||||
|
showConfirmButton: false,
|
||||||
|
timer: 1500
|
||||||
|
});
|
||||||
|
calendar.unselect();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
views: {
|
views: {
|
||||||
multiMonthFourMonth: {
|
multiMonthFourMonth: {
|
||||||
type: 'multiMonth',
|
type: 'multiMonth',
|
||||||
|
|
|
||||||
|
|
@ -85,12 +85,12 @@ html
|
||||||
footer
|
footer
|
||||||
p(style='margin-left:10px;') IO-Technic Hungary Copyright © 2018
|
p(style='margin-left:10px;') IO-Technic Hungary Copyright © 2018
|
||||||
//-#picsa
|
//-#picsa
|
||||||
script(type='text/javascript',src='/bower_components/jquery/dist/jquery.js')
|
script(type='text/javascript',src='/bower_components/jquery/dist/jquery.js')
|
||||||
script(type='text/javascript',src='/js/datepicker.js')
|
script(type='text/javascript',src='/js/datepicker.js')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js')
|
script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js')
|
||||||
script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
|
script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
|
||||||
script(src='/bower_components/moment/min/moment-with-locales.js')
|
script(src='/bower_components/moment/min/moment-with-locales.js')
|
||||||
//-script(type='text/javascript', src='/bower_components/bootstrap/dist/js/bootstrap.min.js')
|
//-script(type='text/javascript', src='/bower_components/bootstrap/dist/js/bootstrap.min.js')
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,7 @@ block content
|
||||||
script(src='https://cdn.jsdelivr.net/gh/gitbrent/bootstrap-switch-button@1.1.0/dist/bootstrap-switch-button.min.js')
|
script(src='https://cdn.jsdelivr.net/gh/gitbrent/bootstrap-switch-button@1.1.0/dist/bootstrap-switch-button.min.js')
|
||||||
|
|
||||||
script.
|
script.
|
||||||
// $(document).ready(function () {
|
$(document).ready(function () {
|
||||||
// Get current page name
|
// Get current page name
|
||||||
const currentUrl = window.location.href;
|
const currentUrl = window.location.href;
|
||||||
var page = currentUrl.split("/").pop();
|
var page = currentUrl.split("/").pop();
|
||||||
|
|
@ -196,29 +196,17 @@ block content
|
||||||
element.parent().removeClass('has-error');
|
element.parent().removeClass('has-error');
|
||||||
};
|
};
|
||||||
|
|
||||||
$(document).ready(function() {
|
//$(document).ready(function() {
|
||||||
function specialValidation(value, validator) {
|
function specialValidation(value, validator) {
|
||||||
// Determine the numbers which are generated in captchaOperation
|
// Determine the numbers which are generated in captchaOperation
|
||||||
var items = $('#otherField').txt();
|
var items = $('#otherField').txt();
|
||||||
return value == sum;
|
return value == sum;
|
||||||
};
|
};
|
||||||
|
|
||||||
})
|
//})
|
||||||
$('tr[data-href]').on("click", function() {
|
$('tr[data-href]').on("click", function() {
|
||||||
document.location = $(this).data('href');
|
document.location = $(this).data('href');
|
||||||
});
|
});
|
||||||
/* function renderEventContent(eventInfo) {
|
|
||||||
return (
|
|
||||||
' <div> \
|
|
||||||
<p>{eventInfo.timeText}</p> \
|
|
||||||
<i>{eventInfo.event.title}</i> \
|
|
||||||
<button>123</button> \
|
|
||||||
</div>'
|
|
||||||
);
|
|
||||||
}*/
|
|
||||||
/* function haha(dayRenderInfo){
|
|
||||||
console.log(dayRenderInfo)
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// Szerkesztés modal
|
// Szerkesztés modal
|
||||||
$(document).on('show.bs.modal','#vehicleEditModal', function () {
|
$(document).on('show.bs.modal','#vehicleEditModal', function () {
|
||||||
|
|
@ -228,7 +216,7 @@ block content
|
||||||
var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id');
|
var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id');
|
||||||
var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid');
|
var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid');
|
||||||
var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name');
|
var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name');
|
||||||
$('.modal-backdrop').css('background', 'red');
|
//$('.modal-backdrop').css('background', 'red');
|
||||||
//$("#fuelingHeader").html(getIdFromRow);
|
//$("#fuelingHeader").html(getIdFromRow);
|
||||||
$(this).find('#vehicleId').html($('<b> Szerkesztés: '+ getVnameFromRow + '</b> <b style="float:right">'+getVidFromRow+'</b>' ))
|
$(this).find('#vehicleId').html($('<b> Szerkesztés: '+ getVnameFromRow + '</b> <b style="float:right">'+getVidFromRow+'</b>' ))
|
||||||
$.get('/vehicles/api/getVehicle/'+getIdFromRow,function(data)
|
$.get('/vehicles/api/getVehicle/'+getIdFromRow,function(data)
|
||||||
|
|
@ -358,4 +346,5 @@ block content
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// });
|
});
|
||||||
|
|
||||||
Loading…
Reference in New Issue