Другой вариант - решить эту сторону сервера, так как вы должны проверить, что она там тоже действительна.
Когда событие «concept» перетаскивается в день, отправьте Ajax-запрос на сервер, чтобы обновить дату события «concept», если оно недопустимо, позвоните revertFunc()
, чтобы вернуть событие назад.
eventDrop: function(event, dayDelta, minuteDelta, allDay,
revertFunc, jsEvent, ui, view) {
$.post("/concep_update/", { id: event.id, delta: dayDelta },
function(data) {
if(data!="true") {
revertFunc();
}
}, "text"});
}
На сервере убедитесь, что в тот же день происходит событие "Встреча", и если да, обновите событие "Концепция" и верните "Истина", в противном случае верните "Ложь".
@require_POST @login_required
def concept_update(request):
concept = get_object_or_404(Concept.objects.all(),
id=int(request.POST.get("id","0")))
concept.date = concept.date + timedelta(days=int(request.POST.get("delta","0")))
meetings = Meeting.objects.filter(date=concept.date)
if meetings.count() > 0:
concept.save()
return HttpResponse("true", status=200, content_type="text/plain")
else:
return HttpResponse("false", status=200, content_type="text/plain")