270 |
270 |
form_class = UpdatePeriodicEventForm
|
271 |
271 |
template_name = 'agenda/new-event.html'
|
272 |
272 |
|
|
273 |
def delete_eventwithact(event):
|
|
274 |
assert event.event_type == 1
|
|
275 |
if event.act.id \
|
|
276 |
and not event.act.is_billed:
|
|
277 |
event.act.delete()
|
|
278 |
if not event.act.id or \
|
|
279 |
not event.act.is_billed:
|
|
280 |
event.delete()
|
273 |
281 |
|
274 |
282 |
class DeleteOccurrenceView(TodayOccurrenceMixin, cbv.DeleteView):
|
275 |
283 |
model = Event
|
... | ... | |
278 |
286 |
|
279 |
287 |
def delete(self, request, *args, **kwargs):
|
280 |
288 |
self.object = self.get_object()
|
281 |
|
if self.object.event_type == 1 and self.object.act.id \
|
282 |
|
and not self.object.act.is_billed:
|
283 |
|
self.object.act.delete()
|
284 |
|
self.object.delete()
|
|
289 |
if self.object.event_type == 1:
|
|
290 |
delete_eventwithact(self.object)
|
|
291 |
else:
|
|
292 |
self.object.delete()
|
285 |
293 |
|
286 |
294 |
return HttpResponse(status=204)
|
287 |
295 |
|
288 |
296 |
class DeleteEventView(cbv.DeleteView):
|
289 |
|
"""
|
290 |
|
TODO: Remove this class
|
291 |
|
"""
|
292 |
297 |
model = Event
|
293 |
298 |
success_url = '..'
|
294 |
299 |
cookies_to_clear = []
|
295 |
300 |
|
296 |
301 |
def delete(self, request, *args, **kwargs):
|
297 |
|
super(DeleteEventView, self).delete(request, *args, **kwargs)
|
|
302 |
self.object = self.get_object()
|
|
303 |
# If exceptions remove them only if act is not billed
|
|
304 |
for exception in self.object.exceptions.all():
|
|
305 |
exception.recurrence_periodicity = None
|
|
306 |
exception.exception_to = None
|
|
307 |
exception.save()
|
|
308 |
if exception.event_type == 1:
|
|
309 |
delete_eventwithact(exception)
|
|
310 |
else:
|
|
311 |
exception.delete()
|
|
312 |
|
|
313 |
if self.object.event_type == 1:
|
|
314 |
delete_eventwithact(self.object)
|
|
315 |
else:
|
|
316 |
self.object.delete()
|
298 |
317 |
return HttpResponse(status=204)
|
299 |
318 |
|
300 |
319 |
class AgendaServiceActValidationView(TemplateView):
|