Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 15a8c8887bc559d62085717e3bd5477cd6ed6ee1
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 13:48:24 2015 +0100
[frontend] provide link to rebuild package
---------------------------------------------------------------
.../coprs/templates/coprs/detail/package.html | 1 +
.../coprs/views/coprs_ns/coprs_builds.py | 18 ++++++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
index 6464f44..51df093 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
@@ -32,6 +32,7 @@
<dd>
{{ package.source_type_text | build_source_description }}
<a href="{{ url_for('coprs_ns.copr_package_edit',
username=package.copr.owner.name, coprname=package.copr.name, package_name=package.name)
}}">[edit]</a>
+ <a href="{{ url_for('coprs_ns.copr_package_rebuild',
username=package.copr.owner.name, coprname=package.copr.name, package_name=package.name)
}}">[rebuild]</a>
</dd>
</dl>
{#
diff --git a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
index 3762843..a99f403 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -182,6 +182,24 @@ def process_package_edit(copr, package_name):
return render_package_edit(copr, package_name, **{form_var: form})
+@coprs_ns.route("/<username>/<coprname>/package/<package_name>/rebuild")
+@req_with_copr
+def copr_package_rebuild(copr, package_name):
+ package = ComplexLogic.get_package_safe(copr, package_name)
+ data = package.source_json_dict
+
+ if package.source_type_text == "git_and_tito":
+ data["git_directory"] = data["git_dir"] # @FIXME workaround
+ form = forms.BuildFormTitoFactory
+ f = render_add_build_tito
+ elif package.source_type_text == "mock_scm":
+ form = forms.BuildFormMockFactory
+ f = render_add_build_mock
+
+ form = form.create_form_cls(copr.active_chroots)(data=data)
+ return f(copr, form, view="")
+
+
@coprs_ns.route("/<username>/<coprname>/add_build/")
@login_required
@req_with_copr