summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/Extension.pm3
-rw-r--r--extensions/Example/Extension.pm11
-rw-r--r--extensions/Example/template/en/default/hook/global/setting-descs-settings.none.tmpl6
3 files changed, 19 insertions, 1 deletions
diff --git a/Bugzilla/Extension.pm b/Bugzilla/Extension.pm
index c7688d90b..857d0d75b 100644
--- a/Bugzilla/Extension.pm
+++ b/Bugzilla/Extension.pm
@@ -272,7 +272,8 @@ This is the base class for all Bugzilla extensions.
The L</SYNOPSIS> above gives a pretty good overview of what's basically
required to write an extension. This section gives more information
-on exactly how extensions work and how you write them.
+on exactly how extensions work and how you write them. There is also a
+L<wiki page|https://wiki.mozilla.org/Bugzilla:Extension_Notes> with additional HOWTOs, tips and tricks.
=head2 Using F<extensions/create.pl>
diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm
index ab773561d..1ac121235 100644
--- a/extensions/Example/Extension.pm
+++ b/extensions/Example/Extension.pm
@@ -28,6 +28,7 @@ use Bugzilla::Constants;
use Bugzilla::Error;
use Bugzilla::Group;
use Bugzilla::User;
+use Bugzilla::User::Setting;
use Bugzilla::Util qw(diff_arrays html_quote);
use Bugzilla::Status qw(is_open_state);
@@ -384,6 +385,16 @@ sub group_end_of_update {
sub install_before_final_checks {
my ($self, $args) = @_;
print "Install-before_final_checks hook\n" unless $args->{silent};
+
+ # Add a new user setting like this:
+ #
+ # add_setting('product_chooser', # setting name
+ # ['pretty', 'full', 'small'], # options
+ # 'pretty'); # default
+ #
+ # To add descriptions for the setting and choices, add extra values to
+ # the hash defined in global/setting-descs.none.tmpl. Do this in a hook:
+ # hook/global/setting-descs-settings.none.tmpl .
}
sub job_map {
diff --git a/extensions/Example/template/en/default/hook/global/setting-descs-settings.none.tmpl b/extensions/Example/template/en/default/hook/global/setting-descs-settings.none.tmpl
new file mode 100644
index 000000000..9dc5fc767
--- /dev/null
+++ b/extensions/Example/template/en/default/hook/global/setting-descs-settings.none.tmpl
@@ -0,0 +1,6 @@
+[%
+ setting_descs.product_chooser = "Product chooser to use when entering $terms.bugs",
+ setting_descs.pretty = "Pretty chooser with common products and icons",
+ setting_descs.full = "Full chooser with all products",
+ setting_descs.small = "Product chooser for mobile devices",
+%] \ No newline at end of file