From d9f811ee4872aa05473ff6e620757dff8b3ed266 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Sep 19 2016 13:33:51 +0000 Subject: Allow editing the privacy setting in the issue's metadata Fixes https://pagure.io/pagure/issue/1286 --- diff --git a/pagure/forms.py b/pagure/forms.py index 379c08f..cebe5f4 100644 --- a/pagure/forms.py +++ b/pagure/forms.py @@ -262,6 +262,10 @@ class UpdateIssueForm(wtf.Form): [wtforms.validators.Optional()], choices=[] ) + private = wtforms.BooleanField( + 'Private', + [wtforms.validators.optional()], + ) def __init__(self, *args, **kwargs): """ Calls the default constructor with the normal argument but diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index 06de571..fe8b982 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -270,6 +270,16 @@ {% endif %} + {% if issue.private %} +
+ +
+ {% endif %} + {% if authenticated and g.repo_admin %} + {{ render_bootstrap_field(form.private, + formclass="issue-metadata-form") }} + {% endif%} + cancel diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index 17211cb..8c7de4e 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -245,12 +245,12 @@ def update_issue(repo, issueid, username=None, namespace=None): if message: messages.add(message) - # Update milestone + # Update milestone and privacy setting message = pagure.lib.edit_issue( SESSION, issue=issue, milestone=new_milestone, - private=issue.private, + private=form.private.data, user=flask.g.fas_user.username, ticketfolder=APP.config['TICKETS_FOLDER'], ) @@ -771,6 +771,7 @@ def view_issue(repo, issueid, username=None, namespace=None): form.status.data = issue.status form.priority.data = str(issue.priority) form.milestone.data = str(issue.milestone) + form.private.data = issue.private tag_list = pagure.lib.get_tags_of_project(SESSION, repo) return flask.render_template( 'issue.html',