Révision 6738ceb2
Ajouté par Jérôme Schneider il y a environ 10 ans
calebasse/agenda/views.py | ||
---|---|---|
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): |
Formats disponibles : Unified diff
agenda: when removing recurrent removed it exceptions
Closes #4298