def delete_build(cls, user, build, send_delete_action=True): """ :type user: models.User :type build: models.Build """ cls.check_build_to_delete(user, build) if send_delete_action: ActionsLogic.send_delete_build(build) db.session.delete(build)
def delete_build(cls, user, build, send_delete_action=True): """ :type user: models.User :type build: models.Build """ if not user.can_edit(build.copr) or build.persistent: raise InsufficientRightsException( "You are not allowed to delete build `{}`.".format(build.id)) if not build.finished: raise ActionInProgressException( "You can not delete build `{}` which is not finished.".format(build.id), "Unfinished build") if send_delete_action: ActionsLogic.send_delete_build(build) for build_chroot in build.build_chroots: db.session.delete(build_chroot) db.session.delete(build)
def delete_build(cls, user, build, send_delete_action=True): """ :type user: models.User :type build: models.Build """ if not user.can_edit(build.copr) or build.persistent: raise exceptions.InsufficientRightsException( "You are not allowed to delete build `{}`.".format(build.id)) if not build.finished: # from celery.contrib import rdb; rdb.set_trace() raise exceptions.ActionInProgressException( "You can not delete build `{}` which is not finished.".format(build.id), "Unfinished build") if send_delete_action and build.state not in ["canceled"]: # cancelled builds should have nothing in backend to delete ActionsLogic.send_delete_build(build) for build_chroot in build.build_chroots: db.session.delete(build_chroot) db.session.delete(build)
def delete_build(cls, user, build, send_delete_action=True): """ :type user: models.User :type build: models.Build """ if not user.can_edit(build.copr): raise exceptions.InsufficientRightsException( "You are not allowed to delete build `{}`.".format(build.id)) if not build.deletable: # from celery.contrib import rdb; rdb.set_trace() raise exceptions.ActionInProgressException( "You can not delete build `{}` which is not finished.".format(build.id), "Unfinished build") if send_delete_action and build.state not in ["canceled"]: # cancelled builds should have nothing in backend to delete ActionsLogic.send_delete_build(build) for build_chroot in build.build_chroots: db.session.delete(build_chroot) db.session.delete(build)
def delete_build(cls, user, build): """ :type user: models.User :type build: models.Build """ if not user.can_edit(build.copr): raise exceptions.InsufficientRightsException( "You are not allowed to delete build `{}`.".format(build.id)) if not build.deletable: # from celery.contrib import rdb; rdb.set_trace() raise exceptions.ActionInProgressException( "You can not delete build `{}` which is not finished.".format( build.id), "Unfinished build") # Only failed, finished, succeeded get here. if build.state not in ["cancelled" ]: # has nothing in backend to delete ActionsLogic.send_delete_build(build) for build_chroot in build.build_chroots: db.session.delete(build_chroot) db.session.delete(build)