def save_with_revision(self, author=None): revision_context_manager.start() if author: revision_context_manager.set_user(author) self.save() try: add_to_revision(self) try: add_to_revision(self.submission) except ReportSubmission.DoesNotExist: """ Saving for Interim Report """ if self.have_conflict_income: for income in self.incomeconflict_set.all(): add_to_revision(income) if self.have_conflict_activities: for business in self.businessconflict_set.all(): add_to_revision(business) for consulting in self.consultingconflict_set.all(): add_to_revision(consulting) for travel in self.travelconflict_set.all(): add_to_revision(travel) except: revision_context_manager.invalidate() raise finally: revision_context_manager.end()
def _close_revision(self, request): """Closes the revision.""" try: raise if request.META.get((REVISION_MIDDLEWARE_FLAG, self), False): del request.META[(REVISION_MIDDLEWARE_FLAG, self)] revision_context_manager.end() except: pass
def dispatch(self, request, *args, **kwargs): revision_context_manager.start() try: response = super().dispatch(request, *args, **kwargs) except Exception as e: revision_context_manager.invalidate() revision_context_manager.end() raise if self.request.user.is_authenticated(): revision_context_manager.set_user(self.request.user) if response.status_code > 206: revision_context_manager.invalidate() revision_context_manager.end() return response
def _close_revision(self, request): """Closes the revision.""" if request.META.get(REVISION_MIDDLEWARE_FLAG, False): del request.META[REVISION_MIDDLEWARE_FLAG] revision_context_manager.end()