Ejemplo n.º 1
0
    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()
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
 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()
Ejemplo n.º 5
0
 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()