Ejemplo n.º 1
0
    def __call__(self):
        self.parent = aq_parent(aq_inner(self.context))

        deleter = RepositoryDeleter(self.context)

        if not deleter.is_deletion_allowed():
            raise Unauthorized

        if self.request.get("form.buttons.cancel"):
            return self.redirect_back()

        elif self.request.get("form.buttons.delete"):
            # Made form CSRF save
            if not self.request.method.lower() == "post":
                raise Unauthorized

            deleter.delete()

            msg = _(u"label_successfully_deleted", default=u"The repository have been successfully deleted.")
            IStatusMessage(self.request).addStatusMessage(msg, type="info")
            return self.redirect_to_parent()

        return super(RepositoryDeletionView, self).__call__()
Ejemplo n.º 2
0
    def __call__(self):
        self.parent = aq_parent(aq_inner(self.context))

        deleter = RepositoryDeleter(self.context)

        if not deleter.is_deletion_allowed():
            raise Unauthorized

        if self.request.get('form.buttons.cancel'):
            return self.redirect_back()

        elif self.request.get('form.buttons.delete'):
            # Made form CSRF save
            if not self.request.method.lower() == 'post':
                raise Unauthorized

            deleter.delete()

            msg = _(u'label_successfully_deleted',
                    default=u'The repository have been successfully deleted.')
            IStatusMessage(self.request).addStatusMessage(msg, type='info')
            return self.redirect_to_parent()

        return super(RepositoryDeletionView, self).__call__()
Ejemplo n.º 3
0
    def test_repository_deletion_raises_unauthorized_when_preconditions_not_satisfied(self):
        create(Builder('dossier').within(self.repository))
        deleter = RepositoryDeleter(self.repository)

        with self.assertRaises(Unauthorized):
            deleter.delete()
Ejemplo n.º 4
0
    def test_repository_deletion(self):
        deleter = RepositoryDeleter(self.repository)
        deleter.delete()

        self.assertEquals([], self.repository_root.listFolderContents())