def test_delete_project_that_is_pinned(self, f_users, f_coprs, f_db): pc1 = models.PinnedCoprs(id=1, copr_id=self.c2.id, user_id=self.u2.id, position=1) pc2 = models.PinnedCoprs(id=2, copr_id=self.c3.id, user_id=self.u2.id, position=2) self.db.session.add_all([pc1, pc2]) ComplexLogic.delete_copr(self.c2, admin_action=True) assert set(CoprsLogic.get_multiple_by_username( self.u2.name)) == {self.c3} assert set(PinnedCoprsLogic.get_by_owner(self.u2)) == {pc2}
def delete_project(ownername, projectname): copr = get_copr(ownername, projectname) copr_dict = to_dict(copr) form = forms.APICoprDeleteForm(meta={'csrf': False}) if form.validate_on_submit() and copr: try: ComplexLogic.delete_copr(copr) except (ActionInProgressException, InsufficientRightsException) as err: db.session.rollback() raise err else: db.session.commit() else: raise BadRequest(form.errors) return flask.jsonify(copr_dict)
def process_delete(copr, url_on_error, url_on_success): form = forms.CoprDeleteForm() if form.validate_on_submit(): try: ComplexLogic.delete_copr(copr) except (exceptions.ActionInProgressException, exceptions.InsufficientRightsException) as e: db.session.rollback() flask.flash(str(e), "error") return flask.redirect(url_on_error) else: db.session.commit() flask.flash("Project has been deleted successfully.") return flask.redirect(url_on_success) else: return render_template("coprs/detail/settings/delete.html", form=form, copr=copr)
def api_copr_delete(copr): """ Deletes selected user's project """ form = forms.CoprDeleteForm(meta={'csrf': False}) httpcode = 200 if form.validate_on_submit() and copr: try: ComplexLogic.delete_copr(copr) except (exceptions.ActionInProgressException, exceptions.InsufficientRightsException) as err: db.session.rollback() raise LegacyApiError(str(err)) else: message = "Project {} has been deleted.".format(copr.name) output = {"output": "ok", "message": message} db.session.commit() else: raise LegacyApiError("Invalid request: {0}".format(form.errors)) return flask.jsonify(output)
def api_copr_delete(copr): """ Deletes selected user's project """ form = forms.CoprDeleteForm(csrf_enabled=False) httpcode = 200 if form.validate_on_submit() and copr: try: ComplexLogic.delete_copr(copr) except (exceptions.ActionInProgressException, exceptions.InsufficientRightsException) as err: db.session.rollback() raise LegacyApiError(str(err)) else: message = "Project {} has been deleted.".format(copr.name) output = {"output": "ok", "message": message} db.session.commit() else: raise LegacyApiError("Invalid request") return flask.jsonify(output)