diff options
-rw-r--r-- | .htaccess | 1 | ||||
-rw-r--r-- | extensions/BMO/template/en/default/bug/create/comment-automative.txt.tmpl | 52 | ||||
-rw-r--r-- | extensions/BMO/template/en/default/bug/create/create-automative.html.tmpl | 276 |
3 files changed, 329 insertions, 0 deletions
@@ -73,4 +73,5 @@ RewriteRule ^form[\.:]user[\.\-:]engagement$ enter_bug.cgi?product=Marketing&for RewriteRule ^form[\.:]dev[\.\-:]engagement[\.\-\:]event$ enter_bug.cgi?product=Developer+Engagement&format=dev-engagement-event RewriteRule ^form[\.:]mobile[\.\-:]compat$ enter_bug.cgi?product=Tech+Evangelism&format=mobile-compat RewriteRule ^form[\.:]web[\.:]bounty$ enter_bug.cgi?product=mozilla.org&format=web-bounty +RewriteRule ^form[\.:]automative$ enter_bug.cgi?product=Testing&format=automative RewriteRule ^rest/(.*)$ rest.cgi/$1 [NE] diff --git a/extensions/BMO/template/en/default/bug/create/comment-automative.txt.tmpl b/extensions/BMO/template/en/default/bug/create/comment-automative.txt.tmpl new file mode 100644 index 000000000..c23a6427d --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/comment-automative.txt.tmpl @@ -0,0 +1,52 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] +[% PROCESS global/variables.none.tmpl %] +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi +%] +>>Problem: +[%+ cgi.param('desc_problem') %] + +>>Solution: +[%+ cgi.param('desc_solution') %] + +>>Mozilla Top Level Goal: +[%+ cgi.param('desc_top_level_goal') %] + +>>Existing [% terms.Bug %]: +[% IF cgi.param('existing_bug') %] +[%+ terms.Bug %] [% cgi.param("existing_bug") %] +[% ELSE %] +No [% terms.bug %] +[% END %] + +>>Per-Commit: +[%+ cgi.param('per_commit') || 'No' %] + +>>Data other than Pass/Fail: +[%+ cgi.param('desc_data_produce') || 'No' %] + +>>Prototype Date: +[%+ cgi.param("prototype_date") || 'Not provided' %] + +>>Production Date: +[%+ cgi.param("production_date") || 'Not provided' %] + +>>Most Valuable Piece: +[%+ cgi.param('most_valuable_piece') || 'Not provided' %] + +>>Responsible Engineer: +[%+ cgi.param('responsible_engineer') || 'Not provided' %] + +>>Manager: +[%+ cgi.param('manager') || 'Not provided' %] + +>>Other Teams/External Dependencies: +[%+ cgi.param('other_teams') || 'Not provided' %] + +>>Additional Info: +[%+ cgi.param('additional_info') || 'Not provided' %] diff --git a/extensions/BMO/template/en/default/bug/create/create-automative.html.tmpl b/extensions/BMO/template/en/default/bug/create/create-automative.html.tmpl new file mode 100644 index 000000000..cbe2da910 --- /dev/null +++ b/extensions/BMO/template/en/default/bug/create/create-automative.html.tmpl @@ -0,0 +1,276 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% inline_style = BLOCK %] +#automative_form { + padding: 10px; +} +#automative_form .required:after { + content: " *"; + color: red; +} +#automative_form .field_label { + font-weight: bold; +} +#automative_form .field_desc { + padding-bottom: 3px; +} +#automative_form .field_desc, +#automative_form .head_desc { + width: 600px; + word-wrap: normal; +} +#automative_form .head_desc { + padding-top: 5px; + padding-bottom: 12px; +} +#automative_form .form_section { + margin-bottom: 10px; +} +#automative_form textarea { + font-family: inherit; + font-size: inherit; +} +#automative_form em { + font-size: 1em; +} +.yui-calcontainer { + z-index: 2; +} +[% END %] + +[% inline_javascript = BLOCK %] +function validateAndSubmit() { + 'use strict'; + var alert_text = ''; + var requiredLabels = YAHOO.util.Selector.query('label.required'); + if (requiredLabels) { + requiredLabels.forEach(function (label) { + var name = label.getAttribute('for'); + var ids = YAHOO.util.Selector.query( + '#automative_form *[name="' + name + '"]' + ).map(function (e) { + return e.id + }); + + if (ids && ids[0]) { + if (!isFilledOut(ids[0])) { + var desc = label.textContent || name; + alert_text += + "Please enter a value for " + + desc.replace(/[\r\n]+/, "").replace(/\s+/g, " ") + + "\n"; + } + } + }); + } + + if (alert_text != '') { + alert(alert_text); + return false; + } + return true; +} +[% END %] + +[% PROCESS global/header.html.tmpl + title = "Automation Request Form" + style = inline_style + javascript = inline_javascript + javascript_urls = [ 'extensions/BMO/web/js/form_validate.js', + 'js/field.js', 'js/util.js' ] + yui = [ "autocomplete", "calendar", "selector" ] +%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +<form id="automative_form" method="post" action="post_bug.cgi" + enctype="multipart/form-data" onSubmit="return validateAndSubmit();"> + <input type="hidden" name="format" value="automative"> + <input type="hidden" name="product" value="Testing"> + <input type="hidden" name="component" value="General"> + <input type="hidden" name="rep_platform" value="All"> + <input type="hidden" name="op_sys" value="Other"> + <input type="hidden" name="version" value="unspecified"> + <input type="hidden" name="bug_severity" id="bug_severity" value="normal"> + <input type="hidden" name="token" value="[% token FILTER html %]"> + <input type="hidden" name="assigned_to" value="jgriffin@mozilla.com"> + + <div class="head_desc"> + Welcome to the Automation Request Form! + </div> + + <div class="form_section"> + <label for="short_desc" class="field_label required">Summary</label> + <div class="field_desc"> + One-line summary of the problem you'd like automation to help solve + </div> + <input type="text" name="short_desc" id="short_desc" size="80"> + </div> + + <div class="form_section"> + <label for="desc_problem" class="field_label required">Problem</label> + <div class="field_desc"> + Detailed description of the problem + </div> + <textarea id="desc_problem" name="desc_problem" + cols="80" rows="5"></textarea> + </div> + + <div class="form_section"> + <label for="desc_solution" class="field_label required">Solution</label> + <div class="field_desc"> + Detailed description of the proposed automation solution + </div> + <textarea id="desc_solution" name="desc_solution" + cols="80" rows="5"></textarea> + </div> + + <div class="form_section"> + <label for="desc_top_level_goal" class="field_label required">Top Level + Goal</label> + <div class="field_desc">Describe the top-level project goal which this is + supporting</div> + <textarea id="desc_top_level_goal" name="desc_top_level_goal" cols="80" + rows="5"></textarea> + </div> + + <div class="form_section"> + <label for="existing_bug" class="field_label">Existing [% terms.Bug %] + number </label> + <div class="field_desc"> Existing [% terms.bug %] (if any) </div> + <input type="text" name="existing_bug" id="existing_bug" size="80"> + </div> + + <div class="form_section"> + <label for="per_commit" class="field_label">Run per-commit?</label> + <div class="field_desc"> + Does this automation need to be run per-commit and report to TBPL? Can it + be run less frequently? + </div> + <input type="text" name="per_commit" id="per_commit" size="80"> + </div> + + <div class="form_section"> + <label for="desc_data_produce" class="field_label">Data capture?</label> + <div class="field_desc">If this automation will report data other than + pass/fail (e.g. some sort of performance metric), describe the data that + you'd like to have the automation produce. Do we already have a method of + capturing this kind of data, or do we need to develop one?</div> + <textarea id="desc_data_produce" name="desc_data_produce" cols="80" + rows="5"></textarea> + </div> + + <div class="form_section"> + <label for="prototype_date" class="field_label">Prototype Date</label> + <div class="field_desc"> + When is a prototype needed? + </div> + <input name="prototype_date" size="20" id="prototype_date" value="" + onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" + id="button_calendar_prototype_date" + onclick="showCalendar('prototype_date')"> + <span>Calendar</span> + </button> + <div id="con_calendar_prototype_date"></div> + <script type="text/javascript"> + createCalendar('prototype_date') + </script> + </div> + + <div class="form_section"> + <label for="production_date" class="field_label">Production Date</label> + <div class="field_desc"> + When is a finished project running in production needed? + </div> + <input name="production_date" size="20" id="production_date" value="" + onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" + id="button_calendar_production_date" + onclick="showCalendar('production_date')"> + <span>Calendar</span> + </button> + <div id="con_calendar_production_date"></div> + <script type="text/javascript"> + createCalendar('production_date') + </script> + </div> + + <div class="form_section"> + <label for="most_valuable_piece" class="field_label">Most Valuable + Piece?</label> + <div class="field_desc">If there are multiple pieces, tests, or features in + the proposed automation, what is the single most valuable piece?</div> + <input type="text" name="most_valuable_piece" id="most_valuable_piece" + size="80"> + </div> + + <div class="form_section"> + <label for="responsible_engineer" class="field_label">Responsible + Engineer</label> + <div class="field_desc"> + Which engineer is responsible for working with the automation engineer for + information, support, and troubleshooting? + </div> + [% INCLUDE global/userselect.html.tmpl + id => "responsible_engineer" + name => "responsible_engineer" + value => "" + size => 80 + classes => ["bz_userfield"] + %] + </div> + + <div class="form_section"> + <label for="manager" class="field_label">Manager</label> + <div class="field_desc"> + Which manager/project manager is responsible for issues related to + milestones and priorities? + </div> + [% INCLUDE global/userselect.html.tmpl + id => "manager" + name => "manager" + value => "" + size => 80 + classes => ["bz_userfield"] + %] + </div> + + <div class="form_section"> + <label for="other_teams" class="field_label">Other Teams</label> + <div class="field_desc"> + What other teams are involved and are there any other external + dependencies? + </div> + <textarea id="other_teams" name="other_teams" cols="80" + rows="5"></textarea> + </div> + + <div class="form_section"> + <label for="additional_info" class="field_label">Additional + Information</label> + <div class="field_desc"> + Additional information + </div> + <textarea id="additional_info" name="additional_info" cols="80" + rows="5"></textarea> + </div> + + <input type="submit" id="commit" value="Submit"> + + <p> + [ <span class="required_star">*</span> <span class="required_explanation"> + Required Field</span> ] + </p> +</form> + +[% PROCESS global/footer.html.tmpl %] |