From 8cea190794a75022d3d95932b5895a21afb0b298 Mon Sep 17 00:00:00 2001 From: Gervase Markham Date: Wed, 5 Jan 2011 16:58:05 +0000 Subject: Document how to add user settings. r,a=mkanat. https://bugzilla.mozilla.org/show_bug.cgi?id=616427 --- Bugzilla/Extension.pm | 3 ++- extensions/Example/Extension.pm | 11 +++++++++++ .../en/default/hook/global/setting-descs-settings.none.tmpl | 6 ++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 extensions/Example/template/en/default/hook/global/setting-descs-settings.none.tmpl 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 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 with additional HOWTOs, tips and tricks. =head2 Using F 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 -- cgit v1.2.3-24-g4f1b