Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit b9f3fab7d54b06ecb480ade9efd032570b67fd0b
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Mon Nov 30 15:59:32 2015 +0100
[frontend] add checkbox for 'package.webhook_rebuild'
---------------------------------------------------------------
frontend/coprs_frontend/coprs/forms.py | 3 +++
.../templates/coprs/detail/_package_forms.html | 20 +++++++++++++++++---
.../coprs/views/coprs_ns/coprs_builds.py | 7 +++++--
3 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/forms.py
b/frontend/coprs_frontend/coprs/forms.py
index 43c0d87..2abf804 100644
--- a/frontend/coprs_frontend/coprs/forms.py
+++ b/frontend/coprs_frontend/coprs/forms.py
@@ -571,6 +571,7 @@ class PackageFormTitoFactory(object):
wtforms.validators.Optional()])
tito_test = wtforms.BooleanField(default=False)
+ webhook_rebuild = wtforms.BooleanField(default=False)
return F
@@ -606,6 +607,8 @@ class PackageFormMockFactory(object):
message="RPM spec file must end with .spec"
)])
+ webhook_rebuild = wtforms.BooleanField(default=False)
+
return F
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html
b/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html
index 037dfb2..ef01980 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html
@@ -24,7 +24,21 @@
{% endmacro %}
-{% macro copr_package_form_end(form) %}
+{% macro copr_package_form_end(form, package, source_type) %}
+ <div class="form-group">
+ <label class="col-sm-2 control-label"
for="textInput-markup">
+ Webhook rebuild
+ </label>
+ <div class="col-sm-10">
+ {# @WORKAROUND form.webhook_rebuild(checked=(...)) just didn't work #}
+ {% if package.source_type_text == source_type %}
+ {{ form.webhook_rebuild() }}
+ {% else %}
+ <input type="checkbox" name="webhook_rebuild" />
+ {% endif %}
+ Use webhook to rebuild package? (i.e. every commit in git repository)
+ </div>
+ </div>
{{ form.csrf_token }}
<input class="btn btn-primary pull-right" type="submit"
value="Submit">
</form>
@@ -47,7 +61,7 @@
</div>
<input type="hidden" name="source_type"
value="git_and_tito" />
- {{ copr_package_form_end(form) }}
+ {{ copr_package_form_end(form, package, 'git_and_tito') }}
{% endmacro %}
@@ -60,5 +74,5 @@
{{ render_field(form.scm_branch, placeholder="Optional - A branch you want to
build from.") }}
<input type="hidden" name="source_type"
value="mock_scm" />
- {{ copr_package_form_end(form) }}
+ {{ copr_package_form_end(form, package, 'mock_scm') }}
{% endmacro %}
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 78c306b..7704233 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -120,14 +120,16 @@ def group_copr_package_edit(copr, package_name):
def render_package_edit(copr, package_name, view, form_tito=None, form_mock=None):
package = ComplexLogic.get_package_safe(copr, package_name)
+
+ data = package.source_json_dict
+ data["webhook_rebuild"] = package.webhook_rebuild
+
if not form_tito:
- data = package.source_json_dict
if "git_dir" in data:
data["git_directory"] = data["git_dir"] # @FIXME
workaround
form_tito = forms.PackageFormTitoFactory.create_form_cls()(data=data)
if not form_mock:
- data = package.source_json_dict
form_mock = forms.PackageFormMockFactory.create_form_cls()(data=data)
return flask.render_template("coprs/detail/package_edit.html",
package=package, copr=copr, form_tito=form_tito,
@@ -162,6 +164,7 @@ def process_package_edit(copr, package_name, view):
if form.validate_on_submit():
package = PackagesLogic.get(copr.id, package_name).first()
package.source_type = helpers.BuildSourceEnum(form.source_type.data)
+ package.webhook_rebuild = form.webhook_rebuild.data
if package.source_type == helpers.BuildSourceEnum("git_and_tito"):
package.source_json = json.dumps({