diff --git a/pagure/static/pagure.css b/pagure/static/pagure.css index b81dffc..b7a79c6 100644 --- a/pagure/static/pagure.css +++ b/pagure/static/pagure.css @@ -120,7 +120,12 @@ white-space: nowrap; .issue-metadata-form { -display:none; + display:none; +} + +.issue-custom-form +{ + display:none; } .bodycontent diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index 0287100..fdcc82d 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -289,9 +289,9 @@ {% endif%} - - cancel - + + cancel + {% if authenticated and g.repo_admin %} Edit Metadata @@ -301,6 +301,42 @@ +
+
+
+
+ @@ -564,6 +600,8 @@ function try_async_comment(form) { $('#comments').find('.edit_comment').remove(); $( ".issue-metadata-form" ).hide(); $( ".issue-metadata-display" ).show(); + $( ".issue-custom-form" ).hide(); + $( ".issue-custom-display" ).show(); } else { // Make the browser submit the form sync $(form).off('submit'); @@ -611,6 +649,13 @@ $( document ).ready(function() { } ); + $( ".edit_custom_toggle" ).click( + function() { + $( ".issue-custom-form" ).toggle(); + $( ".issue-custom-display" ).toggle(); + } + ); + $('#assignee').selectize({ valueField: 'user', labelField: 'user', diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index 4a25511..f879bbb 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -267,6 +267,15 @@ def update_issue(repo, issueid, username=None, namespace=None): if message: messages.add(message) + # Update the custom keys/fields + for key in repo.issue_keys: + value = flask.request.form.get(key.name) + if value: + messages.add( + pagure.lib.set_custom_key_value( + SESSION, issue, key, value) + ) + # Update ticket this one depends on messages.union(set(pagure.lib.update_dependency_issue( SESSION, repo, issue, depends, @@ -789,6 +798,11 @@ def view_issue(repo, issueid, username=None, namespace=None): form.private.data = issue.private form.close_status.data = issue.close_status tag_list = pagure.lib.get_tags_of_project(SESSION, repo) + + knowns_keys = {} + for key in issue.other_fields: + knowns_keys[key.key.name] = key + return flask.render_template( 'issue.html', select='issues', @@ -798,6 +812,7 @@ def view_issue(repo, issueid, username=None, namespace=None): issue=issue, issueid=issueid, form=form, + knowns_keys=knowns_keys, )