summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2015-02-27 15:32:38 -0500
committerOwen W. Taylor <otaylor@fishsoup.net>2015-02-27 15:50:16 -0500
commitda982ceccd4c5598c29ce64cde3b4885a597c7bc (patch)
treeccfa01bff7428c3715e884b882b49c2fab07e51f
parent146ec9c0f35d8ea1494d3f400bffbd9fcde7f5d4 (diff)
downloadgit-bz-da982ceccd4c5598c29ce64cde3b4885a597c7bc.tar.gz
Allow "multiplicable" attachment flags
A multiplicable flag can be requested of several users. https://bugzilla.gnome.org/show_bug.cgi?id=602406
-rwxr-xr-xgit-bz11
-rw-r--r--git-bz.txt15
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 ?.