From e8995a0b25f2c018a7c9a1ccadd4274235297801 Mon Sep 17 00:00:00 2001 From: Jakub Kadlčík Date: Feb 03 2017 00:06:39 +0000 Subject: [PATCH 1/5] [frontend] fill module rpm components --- diff --git a/frontend/coprs_frontend/coprs/forms.py b/frontend/coprs_frontend/coprs/forms.py index 59b90f5..c73865f 100644 --- a/frontend/coprs_frontend/coprs/forms.py +++ b/frontend/coprs_frontend/coprs/forms.py @@ -749,6 +749,8 @@ class CreateModuleForm(wtf.Form): name = wtforms.StringField("Name") stream = wtforms.StringField("Stream") version = wtforms.IntegerField("Version") + builds = wtforms.FieldList(wtforms.StringField("Builds ID list")) + packages = wtforms.FieldList(wtforms.StringField("Packages list")) filter = wtforms.FieldList(wtforms.StringField("Package Filter")) api = wtforms.FieldList(wtforms.StringField("Module API")) profile_names = wtforms.FieldList(wtforms.StringField("Install Profiles"), min_entries=2) diff --git a/frontend/coprs_frontend/coprs/logic/builds_logic.py b/frontend/coprs_frontend/coprs/logic/builds_logic.py index dfa8b10..6607627 100644 --- a/frontend/coprs_frontend/coprs/logic/builds_logic.py +++ b/frontend/coprs_frontend/coprs/logic/builds_logic.py @@ -801,6 +801,24 @@ GROUP BY def filter_by_group_name(cls, query, group_name): return query.filter(models.Group.name == group_name) + @classmethod + def build_upstream_tuple(cls, build): + """ + Attempts to determine upstream project for given build and returns most specific build source + Returns: Tuple (url, ref) + """ + if build.source_type == helpers.BuildSourceEnum("srpm_link"): + return build.source_json_dict["url"], None + if build.source_type == helpers.BuildSourceEnum("git_and_tito"): + return build.source_json_dict["git_url"], build.source_json_dict["git_branch"] + if build.source_type == helpers.BuildSourceEnum("mock_scm"): + return build.source_json_dict["scm_url"], build.source_json_dict["scm_branch"] + if build.source_type == helpers.BuildSourceEnum("pypi"): + return "https://pypi.python.org/pypi/{}/".format(build.source_json_dict["pypi_package_name"]), None + if build.source_type == helpers.BuildSourceEnum("rubygems"): + return "https://rubygems.org/gems/{}/".format(build.source_json_dict["gem_name"]), None + return None, None + class BuildChrootsLogic(object): @classmethod diff --git a/frontend/coprs_frontend/coprs/templates/coprs/create_module.html b/frontend/coprs_frontend/coprs/templates/coprs/create_module.html index 5cfbe21..b30d763 100644 --- a/frontend/coprs_frontend/coprs/templates/coprs/create_module.html +++ b/frontend/coprs_frontend/coprs/templates/coprs/create_module.html @@ -60,6 +60,13 @@ + + {% for package, build in built_packages %} + + + {% endfor %} + + {% set no_packages = 'No successfully built packages in this project yet' %}
@@ -73,7 +80,7 @@
- {% for package in packages %} + {% for package, build in built_packages %}