| #------------------------------------------------------------------------ |
| # Compiled template generated by the Template Toolkit version 2.15 |
| #------------------------------------------------------------------------ |
| |
| Template::Document->new({ |
| METADATA => { |
| 'modtime' => '1138010588', |
| 'name' => 'config.js.tmpl', |
| }, |
| BLOCK => sub { |
| my $context = shift || die "template sub called without context\n"; |
| my $stash = $context->stash; |
| my $output = ''; |
| my $error; |
| |
| eval { BLOCK: { |
| $output .= "\n"; |
| $output .= "\n//\n// This file contains the installation specific values for QuickSearch\n// and other Bugzilla clients. See quicksearch.js for more details.\n//\n// Note: this interface is experimental and under development.\n// We may and probably will make breaking changes to it in the future.\n\n// the global bugzilla url\nvar installation = {\n base_url : '"; |
| #line 30 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get(['Param', [ 'urlbase' ]]); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "',\n install_version : '"; |
| #line 31 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('VERSION'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "',\n maintainer : '"; |
| #line 32 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get(['Param', [ 'maintainer' ]]); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "'\n};\n\n\n// Status and Resolution\n// =====================\nvar status = [ "; |
| #line 38 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('status'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 38 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\nvar status_open = [ "; |
| #line 39 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('open_status'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 39 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\nvar status_closed = [ "; |
| #line 40 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('closed_status'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 40 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\nvar resolution = [ "; |
| #line 41 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('resolution'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 41 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\n\n\n// Keywords\n// ========\n\nvar keyword = [ "; |
| #line 47 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('keyword'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 47 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\n\n\n// Platforms\n// =========\n\nvar platform = [ "; |
| #line 53 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('platform'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 53 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\n\n\n// Severities\n// ==========\n\nvar severity = [ "; |
| #line 59 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('severity'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 59 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\n\n\n// Products and Components\n// =======================\n//\n// It is not necessary to list all products and components here.\n// Instead, you can define a \"blacklist\" for some commonly used words\n// or word fragments that occur in a product or component name\n// but should _not_ trigger product/component search.\n\n\n// A list of all products and their components, versions, and target milestones:\n \nvar component = new Object();\nvar version = new Object();\nvar target_milestone = new Object();\n"; |
| #line 81 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('legal_products'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'p'} = $value; |
| $output .= "\n component['"; |
| #line 78 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('p'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "'] = [ "; |
| #line 78 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get(['components_by_product', 0, $stash->get('p'), 0]); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 78 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\n version['"; |
| #line 79 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('p'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "'] = [ "; |
| #line 79 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get(['versions_by_product', 0, $stash->get('p'), 0]); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 79 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];\n target_milestone['"; |
| #line 80 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('p'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "'] = [ "; |
| #line 80 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get(['milestones_by_product', 0, $stash->get('p'), 0]); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "'"; |
| #line 80 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get('x'); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', ";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= " ];";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= "\n\n// Product and Component Exceptions\n// ================================\n//\n// A blacklist for some commonly used words or word fragments \n// that occur in a product or component name but should *not*\n// trigger product/component search in QuickSearch.\n\nvar product_exceptions = new Array(\n // Example:\n //\"row\" // [Browser]\n // // ^^^\n //,\"new\" // [MailNews]\n // // ^^^\n);\n\nvar component_exceptions = new Array(\n // Example:\n //\"hang\" // [mozilla.org] Bugzilla: Component/Keyword Changes\n // // ^^^^\n);\n\n// Queryable Fields\n// ================"; |
| #line 106 "template/en/custom/config.js.tmpl" |
| $output .= $context->process('global/field-descs.none.tmpl'); |
| $output .= "\nvar field = ["; |
| #line 111 "template/en/custom/config.js.tmpl" |
| |
| # FOREACH |
| do { |
| my ($value, $error, $oldloop); |
| my $list = $stash->get('field'); |
| |
| unless (UNIVERSAL::isa($list, 'Template::Iterator')) { |
| $list = Template::Config->iterator($list) |
| || die $Template::Config::ERROR, "\n"; |
| } |
| |
| ($value, $error) = $list->get_first(); |
| eval { $oldloop = $stash->get('loop') }; |
| $stash->set('loop', $list); |
| eval { |
| LOOP: while (! $error) { |
| $stash->{'x'} = $value; |
| $output .= "\n { name: '"; |
| #line 109 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= $stash->get(['x', 0, 'name', 0]); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "', \n description: '"; |
| #line 110 "template/en/custom/config.js.tmpl" |
| |
| # FILTER |
| $output .= do { |
| my $output = ''; |
| my $filter = $context->filter('js') |
| || $context->throw($context->error); |
| |
| $output .= ($stash->get(['field_descs', 0, $stash->get(['x', 0, 'name', 0]), 0]) || $stash->get(['x', 0, 'description', 0])); |
| |
| &$filter($output); |
| }; |
| |
| $output .= "' },";; |
| ($value, $error) = $list->get_next(); |
| } |
| }; |
| $stash->set('loop', $oldloop); |
| die $@ if $@; |
| $error = 0 if $error && $error eq Template::Constants::STATUS_DONE; |
| die $error if $error; |
| }; |
| |
| $output .= "\n];\n\n// Deprecated Variables\n// ====================\n//\n// Other names for various variables. These are deprecated\n// and could go away at any time. Use them at your own risk!\n\nvar bugzilla = installation.base_url;\nvar statuses = status;\nvar statuses_resolved = status_closed;\nvar resolutions = resolution;\nvar keywords = keyword;\nvar platforms = platform;\nvar severities = severity;\nvar cpts = component;\nvar vers = version;\nvar tms = target_milestone;\n"; |
| } }; |
| if ($@) { |
| $error = $context->catch($@, \$output); |
| die $error unless $error->type eq 'return'; |
| } |
| |
| return $output; |
| }, |
| DEFBLOCKS => { |
| |
| }, |
| }); |