mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
copy ranges from one day to another fixed
This commit is contained in:
parent
c339f7a828
commit
88784b7f7e
@ -50,11 +50,11 @@ class CalendarRangeAPIController extends ApiController
|
||||
}
|
||||
|
||||
if($request->query->has('start') && !$request->query->has('end')) {
|
||||
$startDate = $request->query->get('start');
|
||||
$sql = $sql . ' AND c.startDate > :startDate + INTERVAL "1 DAY"';
|
||||
dump($sql);
|
||||
$copyDate = $request->query->get('start');
|
||||
|
||||
$sql = $sql . ' AND DATE_DIFF(c.startDate, :copyDate) = 0';
|
||||
$query = $em ->createQuery($sql)
|
||||
->setParameter('startDate', $startDate)
|
||||
->setParameter('copyDate', $copyDate)
|
||||
->setParameter('user', $user);
|
||||
}
|
||||
} else {
|
||||
|
@ -310,21 +310,20 @@ export default {
|
||||
toggleWeekends: function() {
|
||||
this.calendarOptions.weekends = !this.calendarOptions.weekends;
|
||||
},
|
||||
replaceDate(from, to) {
|
||||
|
||||
const fromDate = new Date(from)
|
||||
const toDate = new Date(to);
|
||||
|
||||
let newDate = fromDate.setDate(toDate.getDate());
|
||||
newDate = new Date(newDate).setMonth(toDate.getMonth());
|
||||
newDate = new Date(newDate).setFullYear(toDate.getFullYear());
|
||||
|
||||
newDate = `${new Date(newDate).toISOString().split('.')[0]}+0000`;
|
||||
|
||||
return newDate;
|
||||
},
|
||||
onDateSelect(payload) {
|
||||
// let events = this.calendarEvents.new.events;
|
||||
// events.push({
|
||||
// start: payload.startStr,
|
||||
// end: payload.endStr
|
||||
// });
|
||||
// this.calendarEvents.new = {
|
||||
// events: events,
|
||||
// borderColor: "#3788d8",
|
||||
// backgroundColor: '#fffadf',
|
||||
// textColor: '#444444',
|
||||
// };
|
||||
this.disableCopyDayButton = false;
|
||||
this.lastNewDate = new Date(payload.startStr);
|
||||
this.updateEventsSource();
|
||||
postCalendarRange({
|
||||
user: {
|
||||
type: 'user',
|
||||
@ -339,17 +338,6 @@ export default {
|
||||
}).then((_r) => {
|
||||
this.resetCalendar();
|
||||
})
|
||||
payload.event.setProp('textColor', '#444444');
|
||||
|
||||
patchCalendarRange(payload.event.extendedProps.calendarRangeId,
|
||||
{
|
||||
startDate: {
|
||||
datetime: `${payload.event.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
||||
},
|
||||
endDate: {
|
||||
datetime: `${payload.event.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
||||
},
|
||||
}).then((_r) => this.resetCalendar());
|
||||
},
|
||||
onEventClick(payload) {
|
||||
if (payload.event.extendedProps.myCalendar) {
|
||||
@ -371,38 +359,49 @@ export default {
|
||||
deleteCalendarRange(payload.extendedProps.calendarRangeId).then(() => {
|
||||
this.resetCalendar();
|
||||
})
|
||||
// console.log(this.myCalendarClickedEvent)
|
||||
this.openModal();
|
||||
}
|
||||
},
|
||||
// onClickSave(payload) {
|
||||
// this.flag.loading = true;
|
||||
// Promise.all(this.$store.state.newCalendarRanges.map(cr => {
|
||||
// postCalendarRange({
|
||||
// user: {
|
||||
// type: 'user',
|
||||
// id: window.userId,
|
||||
// },
|
||||
// startDate: {
|
||||
// datetime: `${cr.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
||||
isSameDay(date1, date2) {
|
||||
return date1.getFullYear() === date2.getFullYear() &&
|
||||
date1.getMonth() === date2.getMonth() &&
|
||||
date1.getDate() === date2.getDate();
|
||||
},
|
||||
isFriday(date) {
|
||||
return date.getDay() === 5
|
||||
onEventDropOrResize(payload) {
|
||||
patchCalendarRange(payload.event.extendedProps.calendarRangeId,
|
||||
{
|
||||
startDate: {
|
||||
datetime: `${payload.event.start.toISOString().split('.')[0]}+0000`, //should be like "2021-08-20T15:00:00+0200",
|
||||
},
|
||||
endDate: {
|
||||
datetime: `${payload.event.end.toISOString().split('.')[0]}+0000`, // TODO check if OK with time zone
|
||||
},
|
||||
}).then((_r) => this.resetCalendar());
|
||||
},
|
||||
// isSameDay(date1, date2) {
|
||||
// return date1.getFullYear() === date2.getFullYear() &&
|
||||
// date1.getMonth() === date2.getMonth() &&
|
||||
// date1.getDate() === date2.getDate();
|
||||
// },
|
||||
// isFriday(date) {
|
||||
// return date.getDay() === 5
|
||||
// },
|
||||
copyDay() {
|
||||
const fromDate = new Date(this.copyFrom).toISOString();
|
||||
const toDate = new Date(this.copyTo).toISOString();
|
||||
|
||||
fetchCalendarRangesByUser(this.userId, fromDate)
|
||||
const dateToFetch = new Date(this.copyFrom).toISOString();
|
||||
fetchCalendarRangesByUser(this.userId, dateToFetch)
|
||||
.then((ranges) => {
|
||||
console.log(ranges.results);
|
||||
// ranges.results.foreach()
|
||||
ranges.results.forEach((range) => {
|
||||
postCalendarRange({
|
||||
user: {
|
||||
type: 'user',
|
||||
id: range.user.id,
|
||||
},
|
||||
startDate: {
|
||||
datetime: this.replaceDate(range.startDate.datetime, this.copyTo), //should be like "2021-08-20T15:00:00+0200",
|
||||
},
|
||||
endDate: {
|
||||
datetime: this.replaceDate(range.endDate.datetime, this.copyTo),
|
||||
},
|
||||
})
|
||||
.then((_r) => this.resetCalendar());
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
// if (this.calendarEvents.new.events.length > 0) {
|
||||
// // Create the copied events
|
||||
// let increment = !this.calendarOptions.weekends && this.isFriday(this.lastNewDate) ? 24*60*60*1000*3 : 24*60*60*1000;
|
||||
|
@ -17,6 +17,8 @@ const fetchCalendarRangesByUser = (userId, startDate = null, endDate = null) =>
|
||||
|
||||
if (null !== startDate && null !== endDate) {
|
||||
url = `/api/1.0/calendar/calendar-range-available.json?user=${userId}&start=${startDate}&end=${endDate}`;
|
||||
} else if (null !== startDate) {
|
||||
url = `/api/1.0/calendar/calendar-range-available.json?user=${userId}&start=${startDate}`;
|
||||
} else {
|
||||
url = `/api/1.0/calendar/calendar-range-available.json?user=${userId}`;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user