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 __call__(self):
        if IRepositoryFolderSchema.providedBy(self.context):
            deleter = RepositoryDeleter(self.context)
            return deleter.is_deletion_allowed()

        return False
Ejemplo n.º 4
0
    def test_deletion_is_allowed_when_repository_is_empty(self):
        deleter = RepositoryDeleter(self.repository)

        self.assertTrue(deleter.is_deletion_allowed())
Ejemplo n.º 5
0
    def test_deletion_is_not_allowed_when_repository_is_not_empty(self):
        create(Builder('dossier').within(self.repository))
        deleter = RepositoryDeleter(self.repository)

        self.assertFalse(deleter.is_deletion_allowed())
Ejemplo n.º 6
0
    def render(self):
        if IRepositoryFolderSchema.providedBy(self.context):
            deleter = RepositoryDeleter(self.context)
            return deleter.is_deletion_allowed()

        return False