From da982ceccd4c5598c29ce64cde3b4885a597c7bc Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Fri, 27 Feb 2015 15:32:38 -0500 Subject: Allow "multiplicable" attachment flags A multiplicable flag can be requested of several users. https://bugzilla.gnome.org/show_bug.cgi?id=602406 --- git-bz | 11 ++++++++--- git-bz.txt | 15 +++++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/git-bz b/git-bz index d9b4b69..6bac664 100755 --- a/git-bz +++ b/git-bz @@ -71,6 +71,9 @@ default-priority = --- CONFIG['bugzilla.redhat.com'] = \ """ https = true +attachment-flag.review.id = 155 +attachment-flag.review.requesteeable = true +attachment-flag.review.multiplicable = true """ CONFIG["bugs.webkit.org"] = \ @@ -1837,7 +1840,7 @@ def edit_attachment_comment(bug, initial_description, initial_body): if flag_names: template.write("""# Uncomment to set flags for the attachment; flags can be set to +,- , or ?.\n""") template.write("""# When setting a flag to ? you can optionally specify individuals as, for example: -# Review: ? joe@example.com\n""") +# Review: ? sue@example.com, joe@example.com\n""") for name in flag_names: template.write("""#%s: ?\n""" % name) template.write("\n") @@ -1883,6 +1886,7 @@ def edit_attachment_comment(bug, initial_description, initial_body): # that bugzilla will be able to understand. flag_config = attachment_flags[flag_name] requesteeable = flag_config.get('requesteeable', 'false') + multiplicable = flag_config.get('multiplicable', 'false') if len(value) > 1: extra = value[1:].strip() @@ -1895,12 +1899,13 @@ def edit_attachment_comment(bug, initial_description, initial_body): value = value[0] else: requestees = [r.strip() for r in value[1:].split(',')] - if len(requestees) > 1: + if len(requestees) > 1 and multiplicable != 'true': ignored_requestees = requestees[1:] print "Flag '%s' cannot be requested for multiple users. Ignoring '%s' and setting value to '%s'" % (flag_name, ', '.join(ignored_requestees), requestees[0]) - flags["requestee_type-%s" % flag_config['id']] = requestees[0] + requestees = requestees[0:1] + flags["requestee_type-%s" % flag_config['id']] = ','.join(requestees) value = '?' flags["flag_type-%s" % flag_config['id']] = value diff --git a/git-bz.txt b/git-bz.txt index eaa8eb1..d5ed11a 100644 --- a/git-bz.txt +++ b/git-bz.txt @@ -297,17 +297,20 @@ it is possible to set flag values, depending on the configuration of the bug tracker. However, it is first necessary to configure the flag types available for your bug tracker. Ask the administrator of the tracker or inspect the HTML source code of the attachment.cgi -page. For each flag you need to configure its id and whether or not it -is requesteeable (eg. if you can ask for a specific bugzilla user to -update the flag). Here is a sample configuration: +page. For each flag you need to configure its id, and can specify whether +it is requesteeable (if you can ask for a specific bugzilla user to +update the flag), and multiplicable (if you can request it of several +bugzilla users.) Here is a sample configuration: ---------------------------------------- attachment-flag.review.id = 1 -attachment-flag.review.requesteeable = false +attachment-flag.review.requesteeable = true +attachment-flag.review.multiplicable = false ---------------------------------------- -With the above flag configuration, when editing an attachment -description you should see a template allowing setting the flag: +(requesteeable and multiplicable both default to false.) With the +above flag configuration, when editing an attachment description you +should see a template allowing setting the flag: ---------------------------------------- # Uncomment to set flags for the attachment; flags can be set to +,- , or ?. -- cgit