def test_deletion_is_allowed_when_repository_is_empty(self): self.login(self.administrator) self.assertFalse( self.empty_repofolder.objectIds(), 'Precondition: Assumed repofolder to have no children.') self.assertTrue( RepositoryDeleter(self.empty_repofolder).is_deletion_allowed())
def test_repository_deletion(self): self.login(self.administrator) parent = aq_parent(aq_inner(self.empty_repofolder)) repo_id = self.empty_repofolder.getId() self.assertIn(repo_id, parent.objectIds()) RepositoryDeleter(self.empty_repofolder).delete() self.assertNotIn(repo_id, parent.objectIds())
def test_deletion_is_allowed_when_root_is_empty(self): self.login(self.administrator) empty_root = create( Builder('repository_root').with_tree_portlet().having( title_de=u'empty', title_fr=u'empty')) self.assertFalse( empty_root.objectIds(), 'Precondition: Assumed reporoot to have no children.') self.assertTrue(RepositoryDeleter(empty_root).is_deletion_allowed())
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__()
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__()
def __call__(self): if IRepositoryFolderSchema.providedBy(self.context): deleter = RepositoryDeleter(self.context) return deleter.is_deletion_allowed() return False
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()
def test_repository_deletion(self): deleter = RepositoryDeleter(self.repository) deleter.delete() self.assertEquals([], self.repository_root.listFolderContents())
def test_deletion_is_allowed_when_repository_is_empty(self): deleter = RepositoryDeleter(self.repository) self.assertTrue(deleter.is_deletion_allowed())
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())
def render(self): if IRepositoryFolderSchema.providedBy(self.context): deleter = RepositoryDeleter(self.context) return deleter.is_deletion_allowed() return False