Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit c047b6f4735e325e758a70711ee211908c4bfd3b
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 17:53:58 2015 +0100
[frontend] fix default source for group projects
---------------------------------------------------------------
.../coprs/templates/coprs/detail/package.html | 9 ++++-
.../coprs/templates/coprs/detail/package_edit.html | 4 +-
.../coprs/views/coprs_ns/coprs_builds.py | 32 +++++++++++++------
3 files changed, 31 insertions(+), 14 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
index 51df093..a022659 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
@@ -31,8 +31,13 @@
<dt>Default source type:</dt>
<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>
+ {% if not copr.is_a_group_project %}
+ <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>
+ {% else %}
+ <a href="{{ url_for('coprs_ns.group_copr_package_edit',
group_name=package.copr.group_name, coprname=package.copr.name, package_name=package.name)
}}">[edit]</a>
+ <a href="{{ url_for('coprs_ns.group_copr_package_rebuild',
group_name=package.copr.group_name, coprname=package.copr.name, package_name=package.name)
}}">[rebuild]</a>
+ {% endif %}
</dd>
</dl>
{#
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
b/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
index e35f020..cd0025b 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
@@ -11,14 +11,14 @@
<div class="clearfix">
<h3>Tito</h3>
- {{ copr_package_form_tito(form_tito, 'coprs_ns.copr_package_edit_post', copr,
package) }}
+ {{ copr_package_form_tito(form_tito, view, copr, package) }}
</div>
<hr>
<div class="clearfix">
<h3>Mock</h3>
- {{ copr_package_form_mock(form_mock, 'coprs_ns.copr_package_edit_post', copr,
package) }}
+ {{ copr_package_form_mock(form_mock, view, copr, package) }}
</div>
{% endblock %}
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 f73405d..78c306b 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -109,16 +109,16 @@ def render_package(copr, package_name):
@coprs_ns.route("/<username>/<coprname>/package/<package_name>/edit")
@req_with_copr
def copr_package_edit(copr, package_name):
- return render_package_edit(copr, package_name)
+ return render_package_edit(copr, package_name,
view="coprs_ns.copr_package_edit")
@coprs_ns.route("/g/<group_name>/<coprname>/package/<package_name>/edit")
@req_with_copr
def group_copr_package_edit(copr, package_name):
- return render_package_edit(copr, package_name)
+ return render_package_edit(copr, package_name,
view="coprs_ns.group_copr_package_edit")
-def render_package_edit(copr, package_name, form_tito=None, form_mock=None):
+def render_package_edit(copr, package_name, view, form_tito=None, form_mock=None):
package = ComplexLogic.get_package_safe(copr, package_name)
if not form_tito:
data = package.source_json_dict
@@ -131,24 +131,24 @@ def render_package_edit(copr, package_name, form_tito=None,
form_mock=None):
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,
- form_mock=form_mock)
+ form_mock=form_mock, view=view)
@coprs_ns.route("/<username>/<coprname>/package/<package_name>/edit",
methods=["POST"])
@login_required
@req_with_copr
def copr_package_edit_post(copr, package_name):
- return process_package_edit(copr, package_name)
+ return process_package_edit(copr, package_name,
view="coprs_ns.copr_package_edit")
@coprs_ns.route("/g/<group_name>/<coprname>/package/<package_name>/edit",
methods=["POST"])
@login_required
@req_with_copr
-def group_package_edit_post(copr, package_name): # @TODO Merge with
copr_package_edit_post ?
- return process_package_edit(copr, package_name)
+def group_package_edit_post(copr, package_name):
+ return process_package_edit(copr, package_name,
view="coprs_ns.group_copr_package_edit")
-def process_package_edit(copr, package_name):
+def process_package_edit(copr, package_name, view):
if request.form["source_type"] == "git_and_tito":
form = forms.PackageFormTitoFactory
form_var = "form_tito"
@@ -179,12 +179,22 @@ def process_package_edit(copr, package_name):
db.session.add(package)
db.session.commit()
- return render_package_edit(copr, package_name, **{form_var: form})
+ return render_package_edit(copr, package_name, view, **{form_var: form})
@coprs_ns.route("/<username>/<coprname>/package/<package_name>/rebuild")
@req_with_copr
def copr_package_rebuild(copr, package_name):
+ return render_copr_package_rebuild(copr, package_name,
view="coprs_ns.copr_new_build")
+
+
+@coprs_ns.route("/g/<group_name>/<coprname>/package/<package_name>/rebuild")
+@req_with_copr
+def group_copr_package_rebuild(copr, package_name):
+ return render_copr_package_rebuild(copr, package_name,
view="coprs_ns.group_copr_new_build")
+
+
+def render_copr_package_rebuild(copr, package_name, view):
package = ComplexLogic.get_package_safe(copr, package_name)
data = package.source_json_dict
@@ -192,12 +202,14 @@ def copr_package_rebuild(copr, package_name):
data["git_directory"] = data["git_dir"] # @FIXME workaround
form = forms.BuildFormTitoFactory
f = render_add_build_tito
+ view_suffix = "_tito"
elif package.source_type_text == "mock_scm":
form = forms.BuildFormMockFactory
f = render_add_build_mock
+ view_suffix = "_mock"
form = form.create_form_cls(copr.active_chroots)(data=data)
- return f(copr, form, view="")
+ return f(copr, form, view=view + view_suffix)
@coprs_ns.route("/<username>/<coprname>/add_build/")