diff options
author | David Lawrence <dkl@mozilla.com> | 2015-02-13 20:05:07 +0100 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2015-02-13 20:05:07 +0100 |
commit | 42e7bbfa6271c99fff3fa484733a504f4bc19c20 (patch) | |
tree | 7aea5b3856595ef926f4bfdcbb026bba72b353be /extensions | |
parent | f0873dabd78216f5a7c40d4a9d63d9c0dc3cd9dc (diff) | |
download | bugzilla-42e7bbfa6271c99fff3fa484733a504f4bc19c20.tar.gz bugzilla-42e7bbfa6271c99fff3fa484733a504f4bc19c20.tar.xz |
Bug 1108816: Project kickoff form, changes to privacy review
Diffstat (limited to 'extensions')
4 files changed, 137 insertions, 101 deletions
diff --git a/extensions/MozProjectReview/Extension.pm b/extensions/MozProjectReview/Extension.pm index 215927146..a5f4e0b8c 100644 --- a/extensions/MozProjectReview/Extension.pm +++ b/extensions/MozProjectReview/Extension.pm @@ -46,13 +46,11 @@ sub post_bug_after_creation { 'legal_cc' => { 'type' => 'multi' } }); - my ($do_sec_review, $do_legal, $do_finance, $do_privacy_vendor, - $do_privacy_tech, $do_privacy_policy); + my ($do_sec_review, $do_legal, $do_finance, $do_data_compliance); if ($params->{'mozilla_data'} eq 'Yes') { $do_legal = 1; - $do_privacy_policy = 1; - $do_privacy_tech = 1; + $do_data_compliance = 1; $do_sec_review = 1; } @@ -62,7 +60,7 @@ sub post_bug_after_creation { } if ($params->{'data_access'} eq 'Yes') { - $do_privacy_policy = 1; + $do_data_compliance = 1; $do_legal = 1; $do_sec_review = 1; } @@ -70,7 +68,7 @@ sub post_bug_after_creation { if ($params->{'data_access'} eq 'Yes' && $params->{'privacy_policy_vendor_user_data'} eq 'Yes') { - $do_privacy_vendor = 1; + $do_data_compliance = 1; } if ($params->{'vendor_cost'} eq '> $25,000' @@ -81,9 +79,8 @@ sub post_bug_after_creation { } } - my ($sec_review_bug, $legal_bug, $finance_bug, $privacy_vendor_bug, - $privacy_tech_bug, $privacy_policy_bug, $error, @dep_comment, - @dep_errors, @send_mail); + my ($sec_review_bug, $legal_bug, $finance_bug, $data_compliance_bug, + $error, @dep_comment, @dep_errors, @send_mail); # Common parameters always passed to _file_child_bug # bug_data and template_suffix will be different for each bug @@ -161,55 +158,22 @@ sub post_bug_after_creation { _file_child_bug($child_params); } - if ($do_privacy_tech) { + if ($do_data_compliance) { $child_params->{'bug_data'} = { - short_desc => 'Privacy-Technical Review: ' . $bug->short_desc, - product => 'mozilla.org', - component => 'Security Assurance: Review Request', - bug_severity => 'normal', - priority => '--', - keywords => 'privacy-review-needed', - groups => [ 'mozilla-employee-confidential' ], - op_sys => 'All', - rep_platform => 'All', - version => 'other', - blocked => $bug->bug_id, - }; - $child_params->{'template_suffix'} = 'privacy-tech'; - _file_child_bug($child_params); - } - - if ($do_privacy_policy) { - $child_params->{'bug_data'} = { - short_desc => 'Privacy-Policy Review: ' . $bug->short_desc, - product => 'Privacy', - component => 'Product Review', - bug_severity => 'normal', - priority => '--', - groups => [ 'mozilla-employee-confidential' ], - op_sys => 'All', - rep_platform => 'All', - version => 'unspecified', - blocked => $bug->bug_id, - }; - $child_params->{'template_suffix'} = 'privacy-policy'; - _file_child_bug($child_params); - } - - if ($do_privacy_vendor) { - $child_params->{'bug_data'} = { - short_desc => 'Privacy / Vendor Review: ' . $bug->short_desc, - product => 'Privacy', - component => 'Vendor Review', + short_desc => 'Data Compliance Review: ' . $bug->short_desc, + product => 'Data Compliance', + component => 'General', bug_severity => 'normal', priority => '--', + bug_severity => $params->{data_comp_urgency}, groups => [ 'mozilla-employee-confidential' ], op_sys => 'All', rep_platform => 'All', version => 'unspecified', + cf_due_date => $params->{release_date}, blocked => $bug->bug_id, }; - $child_params->{'template_suffix'} = 'privacy-vendor'; + $child_params->{'template_suffix'} = 'data-compliance'; _file_child_bug($child_params); } diff --git a/extensions/MozProjectReview/template/en/default/bug/create/comment-moz-project-review-data-compliance.txt.tmpl b/extensions/MozProjectReview/template/en/default/bug/create/comment-moz-project-review-data-compliance.txt.tmpl new file mode 100644 index 000000000..889543c0c --- /dev/null +++ b/extensions/MozProjectReview/template/en/default/bug/create/comment-moz-project-review-data-compliance.txt.tmpl @@ -0,0 +1,28 @@ +[%# 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. + #%] + +[% USE Bugzilla %] +[% cgi = Bugzilla.cgi %] + +> Request Type +[%+ cgi.param('data_comp_request_type') %] + +> Area +[%+ cgi.param('data_comp_area') %] + +> Description +[%+ cgi.param('data_comp_desc') %] + +> Does this request involve a change in data collection or handling? +[%+ cgi.param('data_comp_handling_change') %] + +> Does this request involve a change in to the business unit's data practices? +[%+ cgi.param('data_comp_practice_change') %] + +> Other Information +[%+ cgi.param('data_comp_other') || "None" %] diff --git a/extensions/MozProjectReview/template/en/default/bug/create/create-moz-project-review.html.tmpl b/extensions/MozProjectReview/template/en/default/bug/create/create-moz-project-review.html.tmpl index 0dd3da5a8..d3a2a7253 100644 --- a/extensions/MozProjectReview/template/en/default/bug/create/create-moz-project-review.html.tmpl +++ b/extensions/MozProjectReview/template/en/default/bug/create/create-moz-project-review.html.tmpl @@ -323,60 +323,109 @@ </div> </div> - <div id="privacy_policy_project_questions" class="bz_default_hidden"> - <div class="header">Privacy (Policy/Project)</div> + <div id="data_compliance_questions" class="bz_default_hidden"> + <div class="header">Data Compliance</div> + + <div id="data_comp_request_type_row" class="field_row"> + <span class="field_label required">Type of request</span> + <span class="field_data"> + <select id="data_comp_request_type" name="data_comp_request_type"> + <option value="">-- Select --</option> + <option value="General">General</option> + <option value="Data Compliance">Data Compliance</option> + <option value="Vendor Review">Vendor Review</option> + <option value="Privacy Policy">Privacy Policy</option> + <option value="Other">Other</option> + </select> + </span> + </div> - <div id="privacy_policy_project_link_row" class="field_row"> - <span class="field_label">Is there a privacy policy for<br>this new feature/product?:</span> + <div class="data_comp_area_row"> + <span class="field_label required">Area</span> <span class="field_data"> - <div class="field_description">If yes, please enter a url to the policy.</div> - <input type="text" name="privacy_policy_project_link" id="privacy_policy_project_link" size="60"> + <select id="data_comp_area" name="data_comp_area"> + <option value="">-- Select --</option> + <option value="Firefox">Firefox</option> + <option value="Cloud Services">Cloud Services</option> + <option value="FxOS">FxOS</option> + <option value="Foundation">Foundation</option> + <option value="Engagement">Engagement</option> + <option value="IT">IT</option> + <option value="Content Services">Content Services</option> + <option value="Platform">Platform</option> + <option value="Other">Other</option> + </select> </span> </div> - <div id="privacy_policy_project_assistance_row" class="field_row"> - <span class="field_label required">What assistance do you need from the privacy team (if any)?:</span> + <div id="data_comp_description_row"> + <span class="field_label required">Description</span> <span class="field_data"> - <textarea name="privacy_policy_project_assistance" id="privacy_policy_project_assistance" rows="10" cols="80"></textarea> + <div class="field_description"> + Describe the data compliance issue: If your request involves changes + or additional data collection, please describe that collection, + including specific fields, where the data will be stored, how long it + will be stored, and who will have access to the data. + </div> + <textarea name="data_comp_desc" id="data_comp_desc" rows="10" cols="60" + class="wide"></textarea> </span> </div> - </div> - <div id="privacy_policy_vendor_questions" class="bz_default_hidden"> - <div class="header">Privacy (Policy/Vendor)</div> + <div id="data_comp_urgency_row"> + <span class="field_label required">Urgency</span> + <span class="field_data"> + <select id="data_comp_urgency" name="data_comp_urgency"> + <option value="">-- Select --</option> + <option value="blocker">blocker</option> + <option value="critical">critical</option> + <option value="major">major</option> + <option value="normal">normal</option> + <option value="minor">minor</option> + <option value="trivial">trivial</option> + <option value="enhancement">enhancement</option> + </select> + </span> + </div> - <div id="privacy_policy_vendor_user_data_row" class="field_row"> - <span class="field_label">Privacy Policy:</span> + <div id="data_comp_handling_change_row"> + <span class="field_label required">Collection/Handling Change</span> <span class="field_data"> - <div class="field_description">Will the vendor have access to Mozilla (customer, contributor, user, employee) data?</div> - <select name="privacy_policy_vendor_user_data" id="privacy_policy_vendor_user_data"> - <option value="">Select One</option> + <div class="field_description"> + Does this request involve a change in data collection or handling? + </div> + <select id="data_comp_handling_change" name="data_comp_handling_change"> + <option value="">-- Select --</option> <option value="Yes">Yes</option> <option value="No">No</option> </select> </span> </div> - <div id="privacy_policy_vendor_extra" class="bz_default_hidden"> - <div id="privacy_policy_vendor_link_row" class="field_row"> - <span class="field_label">Vendor's Privacy Policy:</span> - <span class="field_data"> - <div class="field_description">Please provide link to vendor's privacy policy</div> - <input type="text" name="privacy_policy_vendor_link" id="privacy_policy_vendor_link" size="60"> - </span> - </div> + <div id="data_comp_practice_change_row"> + <span class="field_label required">Practice Change</span> + <span class="field_data"> + <div class="field_description"> + Does this request involve a change in to the business unit's data practices? + </div> + <select id="data_comp_practice_change" name="data_comp_practice_change"> + <option value="">-- Select --</option> + <option value="Yes">Yes</option> + <option value="No">No</option> + </select> + </span> + </div> - <div id="privacy_policy_vendor_questionnaire_row" class="field_row"> - <span class="field_label">Privacy Questionnaire:</span> - <span class="field_data"> - <div class="field_description">Has vendor completed Mozilla Vendor Privacy Questionnaire?</div> - <select name="privacy_policy_vendor_questionnaire" id="privacy_policy_vendor_questionnaire"> - <option value="">Select One</option> - <option value="Yes">Yes</option> - <option value="No">No</option> - </select> - </span> - </div> + <div id="data_comp_other_row"> + <span class="field_label">Other</span> + <span class="field_data"> + <div class="field_description"> + Please include any additional information, including links to relevant + material, details regarding user benefit, etc. + </div> + <textarea name="data_comp_other" id="data_comp_other" rows="10" cols="60" + class="wide"></textarea> + </span> </div> </div> diff --git a/extensions/MozProjectReview/web/js/moz_project_review.js b/extensions/MozProjectReview/web/js/moz_project_review.js index 22e79f707..4bca4d833 100644 --- a/extensions/MozProjectReview/web/js/moz_project_review.js +++ b/extensions/MozProjectReview/web/js/moz_project_review.js @@ -52,9 +52,12 @@ var MPR = { "legal_sow_vendor_total_max": "Please enter a value for SOW vendor maximum total to be paid", "legal_sow_vendor_product_line": "Please enter a value for SOW vendor product line" }, - "privacy_policy_project_questions": { - "privacy_policy_project_assistance": "Please enter a value for any assistance needed in the privacy policy project questions section", - "privacy_policy_project_link": "Please enter a value for project link in the privacy policy project questions section" + "data_compliance_questions": { + "data_comp_request_type": "Please select a value for the data compliance request type", + "data_comp_area": "Please select a value for the data compliance area", + "data_comp_desc": "Please enter a value for the data compliance description", + "data_comp_handling_change": "Please select a value for the data compliance handling change", + "data_comp_practice_change": "Please select a value for the data compliance practice change" } }, @@ -68,8 +71,6 @@ var MPR = { 'vendor_cost', 'po_needed', 'sec_affects_products', - 'privacy_policy_vendor_user_data', - 'privacy_policy_vendor_questionnaire', 'legal_priority', 'legal_sow_vendor_product_line', 'legal_vendor_services_where', @@ -109,9 +110,7 @@ var MPR = { legal_vendor_single_country: false, legal_vendor_services_where_row: false, sec_review_questions: false, - privacy_policy_project_questions: false, - privacy_policy_vendor_questions: false, - privacy_policy_vendor_extra: false + data_compliance_questions: false, }; if (MPR.fieldValue('key_initiative') == 'Other') { @@ -120,7 +119,7 @@ var MPR = { if (MPR.fieldValue('mozilla_data') == 'Yes') { page_sections.legal_questions = true; - page_sections.privacy_policy_project_questions = true; + page_sections.data_compliance_questions = true; page_sections.sec_review_questions = true; } @@ -147,7 +146,7 @@ var MPR = { if (MPR.fieldValue('data_access') == 'Yes') { page_sections.legal_questions = true; page_sections.sec_review_questions = true; - page_sections.privacy_policy_vendor_questions = true; + page_sections.data_compliance_questions = true; } if (MPR.fieldValue('vendor_cost') == '<= $25,000') { @@ -167,10 +166,6 @@ var MPR = { page_sections.legal_vendor_single_country = true; } - if (MPR.fieldValue('privacy_policy_vendor_user_data') == 'Yes') { - page_sections.privacy_policy_vendor_extra = true; - } - // Toggle the individual page_sections for (section in page_sections) { MPR.toggleShowSection(section, page_sections[section]); @@ -181,7 +176,7 @@ var MPR = { if (show) { Dom.removeClass(section, 'bz_default_hidden'); } - else { + else { Dom.addClass(section ,'bz_default_hidden'); } }, @@ -199,7 +194,7 @@ var MPR = { } } } - + // Special case checks if (MPR.fieldValue('relationship_type') == 'Vendor/Services' && MPR.fieldValue('legal_vendor_services_where') == '') |