def delete_distro(distro_name): """ Delete a distro """ distro = anitya.lib.model.Distro.by_name(SESSION, distro_name) if not distro: flask.abort(404) if not is_admin(): flask.abort(401) form = anitya.forms.ConfirmationForm() if form.validate_on_submit(): anitya.log( SESSION, distro=distro, topic='distro.remove', message=dict( agent=flask.g.auth.openid, distro=distro.name, ) ) SESSION.delete(distro) SESSION.commit() flask.flash('Distro %s has been removed' % distro_name) return flask.redirect(flask.url_for('distros')) return flask.render_template( 'distro_delete.html', current='distros', distro=distro, form=form)
def delete_distro(distro_name): """ Delete a distro """ distro = anitya.lib.model.Distro.by_name(SESSION, distro_name) if not distro: flask.abort(404) if not is_admin(): flask.abort(401) form = anitya.forms.ConfirmationForm() if form.validate_on_submit(): anitya.log(SESSION, distro=distro, topic='distro.remove', message=dict( agent=flask.g.auth.openid, distro=distro.name, )) SESSION.delete(distro) SESSION.commit() flask.flash('Distro %s has been removed' % distro_name) return flask.redirect(flask.url_for('distros')) return flask.render_template('distro_delete.html', current='distros', distro=distro, form=form)
def delete_project_version(project_id, version): project = anitya.lib.model.Project.get(SESSION, project_id) if not project: flask.abort(404) version_obj = None for vers in project.versions_obj: if version == vers.version: version_obj = vers break if version_obj is None: flask.abort( 404, 'Version %s not found for project %s' % (version, project.name) ) if not is_admin(): flask.abort(401) form = anitya.forms.ConfirmationForm() confirm = flask.request.form.get('confirm', False) if form.validate_on_submit(): if confirm: anitya.log( SESSION, project=project, topic='project.version.remove', message=dict( agent=flask.g.auth.openid, project=project.name, version=version, ) ) # Delete the record of the version for this project SESSION.delete(version_obj) # Adjust the latest_version if needed if project.latest_version == version: project.latest_version = None SESSION.add(project) SESSION.commit() flask.flash('Version for %s has been removed' % version) return flask.redirect( flask.url_for('project', project_id=project.id)) return flask.render_template( 'version_delete.html', current='projects', project=project, version=version, form=form)
def delete_project_version(project_id, version): project = anitya.lib.model.Project.get(SESSION, project_id) if not project: flask.abort(404) version_obj = None for vers in project.versions_obj: if version == vers.version: version_obj = vers break if version_obj is None: flask.abort( 404, 'Version %s not found for project %s' % (version, project.name) ) if not is_admin(): flask.abort(401) form = anitya.forms.ConfirmationForm() confirm = flask.request.form.get('confirm', False) if form.validate_on_submit(): if confirm: anitya.log( SESSION, project=project, topic='project.version.remove', message=dict( agent=flask.g.auth.openid, project=project.name, version=version, ) ) # Delete the record of the version for this project SESSION.delete(version_obj) # Adjust the latest_version if needed if project.latest_version == version: project.latest_version = None SESSION.add(project) SESSION.commit() flask.flash('Version for %s has been removed' % version) return flask.redirect( flask.url_for('project', project_id=project.id)) return flask.render_template( 'version_delete.html', current='projects', project=project, version=version, form=form)
def delete_project_mapping(project_id, distro_name, pkg_name): project = anitya.lib.model.Project.get(SESSION, project_id) if not project: flask.abort(404) distro = anitya.lib.model.Distro.get(SESSION, distro_name) if not distro: flask.abort(404) package = anitya.lib.model.Packages.get( SESSION, project.id, distro.name, pkg_name) if not package: flask.abort(404) if not is_admin(): flask.abort(401) form = anitya.forms.ConfirmationForm() confirm = flask.request.form.get('confirm', False) if form.validate_on_submit(): if confirm: anitya.log( SESSION, project=project, topic='project.map.remove', message=dict( agent=flask.g.auth.openid, project=project.name, distro=distro.name, ) ) SESSION.delete(package) SESSION.commit() flask.flash('Mapping for %s has been removed' % project.name) return flask.redirect( flask.url_for('project', project_id=project.id)) return flask.render_template( 'regex_delete.html', current='projects', project=project, package=package, form=form)
def delete_project_mapping(project_id, distro_name, pkg_name): project = anitya.lib.model.Project.get(SESSION, project_id) if not project: flask.abort(404) distro = anitya.lib.model.Distro.get(SESSION, distro_name) if not distro: flask.abort(404) package = anitya.lib.model.Packages.get( SESSION, project.id, distro.name, pkg_name) if not package: flask.abort(404) if not is_admin(): flask.abort(401) form = anitya.forms.ConfirmationForm() confirm = flask.request.form.get('confirm', False) if form.validate_on_submit(): if confirm: anitya.log( SESSION, project=project, topic='project.map.remove', message=dict( agent=flask.g.auth.openid, project=project.name, distro=distro.name, ) ) SESSION.delete(package) SESSION.commit() flask.flash('Mapping for %s has been removed' % project.name) return flask.redirect( flask.url_for('project', project_id=project.id)) return flask.render_template( 'regex_delete.html', current='projects', project=project, package=package, form=form)
def delete_project(project_id): project = anitya.lib.model.Project.get(SESSION, project_id) if not project: flask.abort(404) if not is_admin(): flask.abort(401) project_name = project.name form = anitya.forms.ConfirmationForm() confirm = flask.request.form.get('confirm', False) if form.validate_on_submit(): if confirm: anitya.log( SESSION, project=project, topic='project.remove', message=dict( agent=flask.g.auth.openid, project=project.name, ) ) for version in project.versions_obj: SESSION.delete(version) SESSION.delete(project) SESSION.commit() flask.flash('Project %s has been removed' % project_name) return flask.redirect(flask.url_for('projects')) else: return flask.redirect( flask.url_for('project', project_id=project.id)) return flask.render_template( 'project_delete.html', current='projects', project=project, form=form)
def delete_project(project_id): project = anitya.lib.model.Project.get(SESSION, project_id) if not project: flask.abort(404) if not is_admin(): flask.abort(401) project_name = project.name form = anitya.forms.ConfirmationForm() confirm = flask.request.form.get('confirm', False) if form.validate_on_submit(): if confirm: anitya.log( SESSION, project=project, topic='project.remove', message=dict( agent=flask.g.auth.openid, project=project.name, ) ) for version in project.versions_obj: SESSION.delete(version) SESSION.delete(project) SESSION.commit() flask.flash('Project %s has been removed' % project_name) return flask.redirect(flask.url_for('projects')) else: return flask.redirect( flask.url_for('project', project_id=project.id)) return flask.render_template( 'project_delete.html', current='projects', project=project, form=form)