[copr] master: [frontend] show icon instead of [edit] tag (b916b21)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit b916b21709a2cd3fb7ce6cbc1d3d5befaba3967a
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Wed Nov 25 11:44:20 2015 +0100
[frontend] show icon instead of [edit] tag
>---------------------------------------------------------------
.../coprs/templates/coprs/_coprs_forms.html | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/_coprs_forms.html b/frontend/coprs_frontend/coprs/templates/coprs/_coprs_forms.html
index 78ab355..7ead87d 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/_coprs_forms.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/_coprs_forms.html
@@ -70,7 +70,7 @@
coprname = copr.name, chrootname = chrootname)}}
{% endif %}
">
- [Edit]
+ <span class="pficon pficon-edit"></span>
</a>
{% endif %}
</label>
8 years, 5 months
[copr] master: [frontend] show all information about default source (122d42d)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 122d42de836ead7552456bdb364347820b2a1c18
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Wed Nov 25 11:40:20 2015 +0100
[frontend] show all information about default source
>---------------------------------------------------------------
.../coprs/templates/coprs/detail/package.html | 47 ++++++++++++-------
1 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
index 864d6f1..457540e 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
@@ -16,7 +16,32 @@
{% block detail_body %}
+{% macro controls() %}
+ <div class="btn-group">
+ <a class="btn btn-default btn-sm" href="
+ {% if not copr.is_a_group_project %}
+ {{ url_for('coprs_ns.copr_package_edit', username=package.copr.owner.name, coprname=package.copr.name, package_name=package.name) }}
+ {% else %}
+ {{ url_for('coprs_ns.group_copr_package_edit', group_name=package.copr.group_name, coprname=package.copr.name, package_name=package.name) }}
+ {% endif %}">
+ <span class="pficon pficon-edit"></span> Edit</button>
+ </a>
+
+ {% if package.source_type %}
+ <a class="btn btn-default btn-sm" href="
+ {% if not copr.is_a_group_project %}
+ {{ url_for('coprs_ns.copr_package_rebuild', username=package.copr.owner.name, coprname=package.copr.name, package_name=package.name) }}
+ {% else %}
+ {{ url_for('coprs_ns.group_copr_package_rebuild', group_name=package.copr.group_name, coprname=package.copr.name, package_name=package.name) }}
+ {% endif %}">
+ <span class="pficon pficon-restart"></span> Rebuild</button>
+ </a>
+ {% endif %}
+ </div>
+{% endmacro %}
+
<h2> Package: {{ package.name }} </h2>
+
<div class="row">
<div class="col-sm-8 col-md-9">
<dl class="dl-horizontal">
@@ -28,26 +53,14 @@
</a>
</dd>
{% endif %}
- <dt>Default source type:</dt>
+
+ <dt><h3>Default source</h3></dt>
<dd>
- {{ package.source_type_text | build_source_description }}
- {% 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>
- {% if package.source_type %}
- <a href="{{ url_for('coprs_ns.copr_package_rebuild', username=package.copr.owner.name, coprname=package.copr.name, package_name=package.name) }}">[rebuild]</a>
- {% endif %}
- {% 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>
- {% if package.source_type %}
- <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 %}
- {% endif %}
+ <dt>Controls:</dt>
+ <dd>{{ controls() }}</dd>
+ {{ describe_source(package) }}
</dd>
</dl>
- {#
- <h3> Default Package Source </h3>
- {{ describe_source(package) }}
- #}
</div>
<div class="col-sm-12">
<h3> Recent Builds: </h3>
8 years, 5 months
[copr] master: [frontend] improve package default source navigation (d0bf2bb)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit d0bf2bb8aeee704c48fb160a33277fcacceea3b2
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 18:12:24 2015 +0100
[frontend] improve package default source navigation
>---------------------------------------------------------------
.../coprs/templates/coprs/detail/package.html | 8 ++++++--
.../coprs/templates/coprs/detail/package_edit.html | 6 +++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
index a022659..864d6f1 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
@@ -33,10 +33,14 @@
{{ package.source_type_text | build_source_description }}
{% 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>
+ {% if package.source_type %}
+ <a href="{{ url_for('coprs_ns.copr_package_rebuild', username=package.copr.owner.name, coprname=package.copr.name, package_name=package.name) }}">[rebuild]</a>
+ {% endif %}
{% 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>
+ {% if package.source_type %}
+ <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 %}
{% 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 cd0025b..bda05fa 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
@@ -5,7 +5,11 @@
{% block detail_body %}
-<h2> Package: {{ package.name }} </h2>
+{% if not copr.is_a_group_project %}
+ <h2> Package: <a href="{{ url_for('coprs_ns.copr_package', username=package.copr.owner.name, coprname=copr.name, package_name=package.name) }}">{{ package.name }}</a></h2>
+{% else %}
+ <h2> Package: <a href="{{ url_for('coprs_ns.group_copr_package', group_name=package.copr.group.name, coprname=copr.name, package_name=package.name) }}">{{ package.name }}</a></h2>
+{% endif %}
<p>You can choose and configure <b>exactly one</b> default source for the {{ package.name }} package.</p>
8 years, 5 months
[copr] master: [frontend] fix default source for group projects (c047b6f)
by frostyx@fedoraproject.org
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")
+
+
+(a)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/")
8 years, 5 months
[copr] master: [frontend] fix error handling on 'new build' page for url and tito (2736a38)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 2736a38a86d24a48799a79c79d5f47d7090293c1
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 15:48:44 2015 +0100
[frontend] fix error handling on 'new build' page for url and tito
>---------------------------------------------------------------
.../coprs/views/coprs_ns/coprs_builds.py | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
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 a99f403..f73405d 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -287,7 +287,7 @@ def process_new_build_tito(copr, add_view, url_on_success):
return flask.redirect(url_on_success)
else:
- return render_add_build_upload(copr, form, add_view)
+ return render_add_build_tito(copr, form, add_view)
@coprs_ns.route("/<username>/<coprname>/new_build_tito/", methods=["POST"])
@@ -466,7 +466,7 @@ def process_new_build_url(copr, add_view, url_on_success):
return flask.redirect(url_on_success)
else:
- return render_add_build_upload(copr, form, add_view)
+ return render_add_build(copr, form, add_view)
@coprs_ns.route("/<username>/<coprname>/new_build/", methods=["POST"])
@@ -475,7 +475,7 @@ def process_new_build_url(copr, add_view, url_on_success):
def copr_new_build(copr):
return process_new_build_url(
copr,
- "coprs_ns.copr_add_build",
+ "coprs_ns.copr_new_build",
url_on_success=url_for("coprs_ns.copr_builds",
username=copr.owner.username, coprname=copr.name)
)
@@ -487,7 +487,7 @@ def copr_new_build(copr):
def group_copr_new_build(copr):
return process_new_build_url(
copr,
- "coprs_ns.group_copr_add_build",
+ "coprs_ns.group_copr_new_build",
url_on_success=url_for("coprs_ns.group_copr_builds",
group_name=copr.group.name, coprname=copr.name)
)
8 years, 5 months
[copr] master: [frontend] fix broken 'new build' page for tito and mock on group projects (e72a9a3)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit e72a9a3d1065f843f2011fc6d29d4724e2bbcdb4
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 14:56:38 2015 +0100
[frontend] fix broken 'new build' page for tito and mock on group projects
>---------------------------------------------------------------
.../templates/coprs/detail/add_build/mock.html | 2 +-
.../templates/coprs/detail/add_build/tito.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/mock.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/mock.html
index 8eca2ed..ed630f5 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/mock.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/mock.html
@@ -13,6 +13,6 @@
<h2> New Build <small>From a Git or SVN Repository Using Mock SCM</small></h2>
<p> Provide a URL of a Git or SVN repository and path to the SPEC file within the repository. You can optionally build from a specific branch. </p>
- {{ copr_build_form_mock(form, 'coprs_ns.copr_new_build_mock', copr) }}
+ {{ copr_build_form_mock(form, view, copr) }}
{% endblock %}
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/tito.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/tito.html
index b682a07..aa3eef7 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/tito.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/add_build/tito.html
@@ -13,6 +13,6 @@
<h2> New Build <small>From a Git Repository Using Tito</small></h2>
<p> Provide a URL of a Git repository. You can optionally specify a directory within that repository and Git branch. You can also choose to build from the last commit instead of the last release.</p>
- {{ copr_build_form_tito(form, 'coprs_ns.copr_new_build_tito', copr) }}
+ {{ copr_build_form_tito(form, view, copr) }}
{% endblock %}
8 years, 5 months
[copr] master: [frontend] provide link to rebuild package (15a8c88)
by frostyx@fedoraproject.org
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})
+(a)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
8 years, 5 months
[copr] master: [frontend] add Provides for bundled components (5aa7992)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit 5aa7992f45f0c4ed407b18664059be91b7603603
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 12:35:27 2015 +0100
[frontend] add Provides for bundled components
>---------------------------------------------------------------
frontend/copr-frontend.spec | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/frontend/copr-frontend.spec b/frontend/copr-frontend.spec
index 1c95998..75ebaa2 100644
--- a/frontend/copr-frontend.spec
+++ b/frontend/copr-frontend.spec
@@ -133,6 +133,22 @@ BuildRequires: dnf
%endif # with_python3
+Provides: bundled(bootstrap) = 3.3.4
+Provides: bundled(bootstrap-combobox) = 1.1.6
+Provides: bundled(bootstrap-select) = 1.5.4
+Provides: bundled(bootstrap-treeview) = 1.0.1
+Provides: bundled(c3) = 0.4.10
+Provides: bundled(d3) = 3.5.0
+Provides: bundled(datatables) = 1.10.7
+Provides: bundled(datatables-colreorder) = 1.1.3
+Provides: bundled(datatables-colvis) = 1.1.2
+Provides: bundled(font-awesome) = 1.0.1
+Provides: bundled(google-code-prettify) = 4.3.0
+Provides: bundled(html5shiv) = 3.7.2
+Provides: bundled(jquery) = 1.11.3
+Provides: bundled(jquery-ui) = 1.11.4
+Provides: bundled(Respond.js) = 1.4.2
+
%description
COPR is lightweight build system. It allows you to create new project in WebUI,
and submit new builds and COPR will create yum repository from latests builds.
8 years, 5 months
[copr] master: [frontend] do not use jquery from remote URL (RhBug: 1268215) (f08ac38)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit f08ac3878b19f839f18589ec8651c1f93caa7b35
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Tue Nov 24 11:34:23 2015 +0100
[frontend] do not use jquery from remote URL (RhBug: 1268215)
>---------------------------------------------------------------
Diff suppressed because of size. To see it, use:
git diff --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol ^f08ac3878b19f839f18589ec8651c1f93caa7b35~1 f08ac3878b19f839f18589ec8651c1f93caa7b35
8 years, 5 months
[copr] master: [frontend] possibility to set default source for the package (a2da078)
by frostyx@fedoraproject.org
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit a2da078a7a0fd6433a271d7dcbcf5730c839124b
Author: Jakub Kadl����k <jkadlcik(a)redhat.com>
Date: Mon Nov 23 19:14:02 2015 +0100
[frontend] possibility to set default source for the package
>---------------------------------------------------------------
frontend/coprs_frontend/coprs/forms.py | 63 ++++++++++++++++
.../templates/coprs/detail/_package_forms.html | 64 ++++++++++++++++
.../coprs/templates/coprs/detail/package.html | 5 +
.../coprs/templates/coprs/detail/package_edit.html | 24 ++++++
.../coprs/views/coprs_ns/coprs_builds.py | 78 +++++++++++++++++++-
5 files changed, 233 insertions(+), 1 deletions(-)
diff --git a/frontend/coprs_frontend/coprs/forms.py b/frontend/coprs_frontend/coprs/forms.py
index f0aa6bc..43c0d87 100644
--- a/frontend/coprs_frontend/coprs/forms.py
+++ b/frontend/coprs_frontend/coprs/forms.py
@@ -546,6 +546,69 @@ class BuildFormRebuildFactory(object):
return F
+class PackageFormTitoFactory(object):
+ @staticmethod
+ def create_form_cls():
+ class F(wtf.Form):
+ source_type = wtforms.HiddenField(
+ "Source Type",
+ validators=[wtforms.validators.AnyOf(["git_and_tito"])])
+
+ git_url = wtforms.StringField(
+ "Git URL",
+ validators=[
+ wtforms.validators.DataRequired(),
+ wtforms.validators.URL()])
+
+ git_directory = wtforms.StringField(
+ "Git Directory",
+ validators=[
+ wtforms.validators.Optional()])
+
+ git_branch = wtforms.StringField(
+ "Git Branch",
+ validators=[
+ wtforms.validators.Optional()])
+
+ tito_test = wtforms.BooleanField(default=False)
+
+ return F
+
+
+class PackageFormMockFactory(object):
+ @staticmethod
+ def create_form_cls():
+ class F(wtf.Form):
+ source_type = wtforms.HiddenField(
+ "Source Type",
+ validators=[wtforms.validators.AnyOf(["mock_scm"])])
+
+ scm_type = wtforms.SelectField(
+ "SCM Type",
+ choices=[("git", "Git"), ("svn", "SVN")])
+
+ scm_url = wtforms.StringField(
+ "SCM URL",
+ validators=[
+ wtforms.validators.DataRequired(),
+ wtforms.validators.URL()])
+
+ scm_branch = wtforms.StringField(
+ "Git Branch",
+ validators=[
+ wtforms.validators.Optional()])
+
+ spec = wtforms.StringField(
+ "Spec File",
+ validators=[
+ wtforms.validators.Regexp(
+ "^.+\.spec$",
+ message="RPM spec file must end with .spec"
+ )])
+
+ return F
+
+
class ChrootForm(wtf.Form):
"""
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html
new file mode 100644
index 0000000..037dfb2
--- /dev/null
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/_package_forms.html
@@ -0,0 +1,64 @@
+{% from "_helpers.html" import render_field, render_form_errors %}
+
+{% macro copr_package_form_begin(form, view, copr, package) %}
+ {{ render_form_errors(form) }}
+ {% if not build %}
+ <form class="form-horizontal"
+ action="
+ {% if copr.is_a_group_project %}
+ {{ url_for(view, group_name=copr.group.name, coprname=copr.name, package_name=package.name) }}
+ {% else %}
+ {{ url_for(view, username=copr.owner.name, coprname=copr.name, package_name=package.name) }}
+ {% endif %}"
+ method="post" enctype="multipart/form-data">
+ {% else %}
+ <form class="form-horizontal"
+ action="
+ {% if copr.is_a_group_project %}
+ {{ url_for(view, group_name=copr.group.name, coprname=copr.name, package_name=package.name) }}
+ {% else %}
+ {{ url_for(view, username=copr.owner.name, coprname=copr.name, package_name=package.name) }}
+ {% endif %}"
+ method="post" enctype="multipart/form-data">
+ {% endif %}
+{% endmacro %}
+
+
+{% macro copr_package_form_end(form) %}
+ {{ form.csrf_token }}
+ <input class="btn btn-primary pull-right" type="submit" value="Submit">
+</form>
+{% endmacro %}
+
+
+{% macro copr_package_form_tito(form, view, copr, package) %}
+ {{ copr_package_form_begin(form, view, copr, package) }}
+
+ {{ render_field(form.git_url, placeholder="Public clone URL of your git repository.") }}
+ {{ render_field(form.git_directory, placeholder="Optional - A directory in the git containing the spec file.") }}
+ {{ render_field(form.git_branch, placeholder="Optional - A Git branch you want to build from.") }}
+ <div class="form-group">
+ <label class="col-sm-2 control-label" for="textInput-markup">
+ Tito Options
+ </label>
+ <div class="col-sm-10">
+ {{ form.tito_test() }} Build with the --test option. (build the last commit instead of the last release tag)
+ </div>
+ </div>
+ <input type="hidden" name="source_type" value="git_and_tito" />
+
+ {{ copr_package_form_end(form) }}
+{% endmacro %}
+
+
+{% macro copr_package_form_mock(form, view, copr, package) %}
+ {{ copr_package_form_begin(form, view, copr, package) }}
+
+ {{ render_field(form.scm_type) }}
+ {{ render_field(form.scm_url, placeholder="URL to your Git or SVN repository") }}
+ {{ render_field(form.spec, placeholder="Path from repository root directory to your .spec file") }}
+ {{ 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) }}
+{% endmacro %}
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
index fcbaf01..6464f44 100644
--- a/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package.html
@@ -28,6 +28,11 @@
</a>
</dd>
{% endif %}
+ <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>
+ </dd>
</dl>
{#
<h3> Default Package Source </h3>
diff --git a/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html b/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
new file mode 100644
index 0000000..e35f020
--- /dev/null
+++ b/frontend/coprs_frontend/coprs/templates/coprs/detail/package_edit.html
@@ -0,0 +1,24 @@
+{% extends "coprs/detail.html" %}
+{% from "coprs/detail/_package_forms.html" import copr_package_form_tito, copr_package_form_mock with context %}
+
+{% block title %}Package {{ package.name }} in {{ package.copr.owner.name }}/{{ package.copr.name }}{% endblock %}
+
+{% block detail_body %}
+
+<h2> Package: {{ package.name }} </h2>
+
+<p>You can choose and configure <b>exactly one</b> default source for the {{ package.name }} package.</p>
+
+<div class="clearfix">
+ <h3>Tito</h3>
+ {{ copr_package_form_tito(form_tito, 'coprs_ns.copr_package_edit_post', copr, package) }}
+</div>
+
+<hr>
+
+<div class="clearfix">
+ <h3>Mock</h3>
+ {{ copr_package_form_mock(form_mock, 'coprs_ns.copr_package_edit_post', 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 96187b2..3762843 100644
--- a/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
+++ b/frontend/coprs_frontend/coprs/views/coprs_ns/coprs_builds.py
@@ -15,7 +15,7 @@ from coprs import helpers
from coprs.logic import builds_logic
from coprs.logic import coprs_logic
-from coprs.logic import packages_logic
+from coprs.logic.packages_logic import PackagesLogic
from coprs.logic.builds_logic import BuildsLogic
from coprs.logic.complex_logic import ComplexLogic
@@ -106,6 +106,82 @@ def render_package(copr, package_name):
return flask.render_template("coprs/detail/package.html", package=package, copr=copr)
+(a)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)
+
+
+(a)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)
+
+
+def render_package_edit(copr, package_name, form_tito=None, form_mock=None):
+ package = ComplexLogic.get_package_safe(copr, package_name)
+ 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,
+ form_mock=form_mock)
+
+
+(a)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)
+
+
+(a)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 process_package_edit(copr, package_name):
+ if request.form["source_type"] == "git_and_tito":
+ form = forms.PackageFormTitoFactory
+ form_var = "form_tito"
+ elif request.form["source_type"] == "mock_scm":
+ form = forms.PackageFormMockFactory
+ form_var = "form_mock"
+ else:
+ raise Exception("Wrong source type")
+ form = form.create_form_cls()()
+
+ if form.validate_on_submit():
+ package = PackagesLogic.get(copr.id, package_name).first()
+ package.source_type = helpers.BuildSourceEnum(form.source_type.data)
+
+ if package.source_type == helpers.BuildSourceEnum("git_and_tito"):
+ package.source_json = json.dumps({
+ "git_url": form.git_url.data,
+ "git_branch": form.git_branch.data,
+ "git_dir": form.git_directory.data,
+ "tito_test": form.tito_test.data})
+ elif package.source_type == helpers.BuildSourceEnum("mock_scm"):
+ package.source_json = json.dumps({
+ "scm_type": form.scm_type.data,
+ "scm_url": form.scm_url.data,
+ "scm_branch": form.scm_branch.data,
+ "spec": form.spec.data})
+
+ db.session.add(package)
+ db.session.commit()
+
+ return render_package_edit(copr, package_name, **{form_var: form})
+
+
@coprs_ns.route("/<username>/<coprname>/add_build/")
@login_required
@req_with_copr
8 years, 5 months