[% PROCESS global/header.html.tmpl
title = "Mozilla Project Review"
generate_api_token = 1
- style_urls = [ 'extensions/MozProjectReview/web/style/moz_project_review.css' ]
+ style_urls = [ 'skins/custom/create_bug.css',
+ 'extensions/MozProjectReview/web/style/moz_project_review.css'
+ 'js/jquery/plugins/datetimepicker/datetimepicker.css' ]
javascript_urls = [ 'js/field.js', 'js/util.js',
'extensions/MozProjectReview/web/js/moz_project_review.js' ]
- yui = [ 'calendar' ]
+ jquery = ["datetimepicker" ]
%]
+<div id="custom_form_list">
+ <div id="custom_form_list_text">
+ Other task-specific [% terms.bug %] forms exist that should be used if appropriate:
+ <ul>
+ <li><a href="enter_bug.cgi?product=Mozilla%20Foundation%20Operations">Mozilla Foundation Vendor Request</a></li>
+ <li><a href="form.name.clearance">Name Clearance Request</a></li>
+ <li><a href="form.nda">NDA Request</a></li>
+ </ul>
+ </div>
+</div>
+
<p>
- <strong>Please use this form for submitting a Mozilla Project Review</strong>
- If you have a [% terms.bug %] to file, go <a href="enter_bug.cgi">here</a>.
+ <strong>Please use this form for submitting a contract request, spend approval request and/or vendor review request.</strong>
</p>
<p>
<span class="required_explanation">Required Field</span>)
</p>
-<form method="post" action="post_bug.cgi" id="mozProjectForm" enctype="multipart/form-data"
- onSubmit="return MPR.validateAndSubmit();">
- <input type="hidden" id="product" name="product" value="mozilla.org">
- <input type="hidden" id="component" name="component" value="Project Review">
+<form method="post" action="post_bug.cgi" id="mozProjectForm" enctype="multipart/form-data">
+ <input type="hidden" id="product" name="product" value="Legal">
+ <input type="hidden" id="component" name="component" value="General">
<input type="hidden" id="rep_platform" name="rep_platform" value="All">
<input type="hidden" id="op_sys" name="op_sys" value="All">
<input type="hidden" id="priority" name="priority" value="--">
- <input type="hidden" id="version" name="version" value="other">
+ <input type="hidden" id="version" name="version" value="unspecified">
<input type="hidden" id="format" name="format" value="moz-project-review">
<input type="hidden" id="bug_severity" name="bug_severity" value="normal">
<input type="hidden" id="groups" name="groups" value="mozilla-employee-confidential">
+ <input type="hidden" id="short_desc" name="short_desc" value="">
<input type="hidden" id="token" name="token" value="[% token FILTER html %]">
<div id="initial_questions">
<div class="header">Initial Questions</div>
- <div id="project_feature_summary_row" class="field_row">
- <span class="field_label required">Project/Feature Name:</span>
+ <div id="contract_type_row" class="field_row">
+ <span class="field_label required">What are you doing?:</span>
+ <span class="field_data">
+ <div class="field_description">Select one from the list</div>
+ <select name="contract_type" id="contract_type">
+ <option value="">Select One</option>
+ <option value="Engaging a new vendor company">Engaging a new vendor company</option>
+ <option value="Engaging an individual (independent contractor, temp agency worker, incorporated)">Engaging an individual (independent contractor, temp agency worker, incorporated)</option>
+ <option value="Adding a new SOW with a vendor">Adding a new SOW with a vendor</option>
+ <option value="Extending a SOW or renewing a contract">Extending an SOW or renewing a contract</option>
+ <option value="Purchasing software">Purchasing software</option>
+ <option value="Purchasing hardware">Purchasing hardware</option>
+ <option value="Signing up for an online service">Signing up for an online service</option>
+ <option value="An agreement with a partner">An agreement with a partner</option>
+ <option value="Other">Other</option>
+ </select>
+ <br>
+ <input type="text" name="contract_type_other" id="contract_type_other" size="60" style="display:none;">
+ </span>
+ </div>
+
+ <div id="description_row" class="field_row">
+ <span class="field_label required">Description:</span>
<span class="field_data">
- <div class="field_description">Be brief yet descriptive as possible. Include name of product,
- feature, or name of vendor involved as well if appropriate.</div>
- <input type="text" name="short_desc" id="short_desc" size="60" maxsize="255">
+ <div class="field_description">
+ Expand on the request, but most needed information will be requested in later questions.
+ </div>
+ <textarea name="comment" id="comment" rows="10" cols="80"></textarea>
</span>
</div>
- <div id="tracking_id_row" class="field_row">
- <span class="field_label">Tracking [% terms.Bug %] ID:</span>
+ <div id="other_party_row" class="field_row">
+ <span class="field_label required">Vendor/Contractor/Partner Name:</span>
<span class="field_data">
- <div class="field_description">Master tracking [% terms.bug %] number (if it exists)?</div>
- <input type="text" name="tracking_id" id="tracking_id" size="60">
+ <div class="field_description">Name of other party involved</div>
+ <input type="text" name="other_party" id="other_party" size="60">
</span>
</div>
- <div id="contacts_row" class="field_row">
- <span class="field_label required">Points of Contact:</span>
+ <div id="cc_row" class="field_row">
+ <span class="field_label">Cc:</span>
<span class="field_data">
- <div class="field_description">Who are the points of contact for this review?</div>
[% INCLUDE global/userselect.html.tmpl
id => "cc"
name => "cc"
- value => ""
size => 60
classes => ["bz_userfield"]
multiple => 5
</span>
</div>
- <div id="description_row" class="field_row">
- <span class="field_label required">Description:</span>
- <span class="field_data">
- <div class="field_description">Please provide a short description of the feature / application / project /
- business relationship (e.g. problem solved, use cases, etc.)</div>
- <textarea name="description" id="description" rows="10" cols="80"></textarea>
- </span>
- </div>
-
- <div id="additional_row" class="field_row">
- <span class="field_label">Additional Information:</span>
- <span class="field_data">
- <div class="field_description">Please provide links to additional information (e.g. feature page, wiki)
- if available and not yet included in feature description.)</div>
- <textarea name="additional" id="additional" rows="10" cols="80"></textarea>
- </span>
- </div>
-
<div id="key_initiative_row" class="field_row">
<span class="field_label required">Key Initiative:</span>
<span class="field_data">
- <div class="field_description">Which key initiative does this support?</div>
+ <div class="field_description">
+ Which key initiative does this support?
+ </div>
<select name="key_initiative" id="key_initiative">
<option value="">Select One</option>
<option value="Business Support">Business Support</option>
<option value="Content Services">Content Services</option>
<option value="Firefox Desktop">Firefox Desktop</option>
<option value="Firefox Mobile">Firefox Mobile</option>
- <option value="Firefox OS">Firefox OS</option>
<option value="Firefox Platform">Firefox Platform</option>
- <option value="Labs / Research / H3">Labs / Research / H3</option>
- <option value="Marketplace / Apps">Marketplace / Apps</option>
- <option value="Services: Persona">Services: Persona</option>
- <option value="Services: Social API">Services: Social API</option>
- <option value="Services: UP">Services: UP</option>
- <option value="Services: WebRTC">Services: WebRTC</option>
+ <option value="Labs/Research/H3">Labs/Research/H3</option>
<option value="Other">Other</option>
</select>
- </span>
- </div>
-
- <div id="key_initiative_other_row" class="field_row bz_default_hidden">
- <span class="field_label"> </span>
- <span class="field_data">
- <input type="text" name="key_initiative_other" id="key_initiative_other" size="60">
- </span>
- </div>
-
- <div id="release_date_row" class="field_row">
- <span class="field_label required">Release Date:</span>
- <span class="field_data">
- <div class="field_description">What is your overall key release / launch date / go live date?</div>
- <input name="release_date" size="20" id="release_date" value=""
- onchange="updateCalendarFromField(this)">
- <button type="button" class="calendar_button"
- id="button_calendar_release_date"
- onclick="showCalendar('release_date')">
- <span>Calendar</span>
- </button>
- <div id="con_calendar_release_date"></div>
- <script type="text/javascript">
- createCalendar('release_date')
- </script>
- </span>
- </div>
-
- <div id="project_status_row" class="field_row">
- <span class="field_label required">Project Status:</span>
- <span class="field_data">
- <div class="field_description">What is the current state of your project?</div>
- <select name="project_status" id="project_status">
- <option value="">Select One</option>
- <option value="future">Future project under discussion</option>
- <option value="active">Active planning</option>
- <option value="development">Development</option>
- <option value="ready">Ready to launch/commit</option>
- <option value="launched">Already launched/committed</option>
- </select>
+ <br>
+ <input type="text" name="key_initiative_other" id="key_initiative_other" size="60" style="display:none;">
</span>
</div>
<div id="mozilla_data_row" class="field_row">
- <span class="field_label required">Mozilla Data:</span>
+ <span class="field_label required">Data Access</span>
<span class="field_data">
- <div class="field_description">Does this product/service/project access, interact with, or store Mozilla
- (customer, contributor, user, employee) data? Example of such data includes
- email addresses, first and last name, addresses, phone numbers, credit card data.)</div>
+ <div class="field_description">
+ Will the vendor or the vendor's systems access, interact with, or
+ store customer, contributor, user, or employee data? Examples of such
+ data include email addresses, first and last name, addresses, phone
+ numbers, credit card data.)
+ </div>
<select name="mozilla_data" id="mozilla_data">
<option value="">Select One</option>
+ <option value="Don't Know">Don't Know</option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
+ <div id="mozilla_data_explain_row" style="display:none;">
+ <div class="field_description required">
+ If yes, please explain
+ </div>
+ <textarea name="mozilla_data_explain" id="mozilla_data_explain" rows="10" cols="80"></textarea>
+ </div>
</span>
</div>
- <div id="mozilla_related_row" class="field_row">
- <span class="field_label">Mozilla Related:</span>
+ <div id="vendor_cost_row" class="field_row">
+ <span class="field_label required">Vendor Cost:</span>
<span class="field_data">
- <div class="field_description">What Mozilla products/services/projects does this product/service/project
- integrate with or relate to?</div>
- <input type="text" name="mozilla_related" id="mozilla_related" size="60">
+ <div class="field_description">
+ What is the anticipated cost of the vendor relationship? (Entire Contract Cost, not monthly cost)
+ </div>
+ <select name="vendor_cost" id="vendor_cost">
+ <option value="">Select One</option>
+ <option value="< $25,000 PO Needed">< $25,000 PO Needed</option>
+ <option value="< $25,000 No PO Needed">< $25,000 No PO Needed</option>
+ <option value="> $25,000">> $25,000</option>
+ </select>
</span>
</div>
- <div id="separate_party_row" class="field_row">
- <span class="field_label required">Separate Party:</span>
+ <div id="timeframe_row" class="field_row">
+ <span class="field_label required">Time Frame For Completion:</span>
<span class="field_data">
- <div class="field_description">Hardware Purchases,
- Vendor agreements, NDAs, Contracts etc</div>
- <select name="separate_party" id="separate_party">
+ <div class="field_description">What is the desired time frame to have this completed.</div>
+ <select name="timeframe" id="timeframe">
<option value="">Select One</option>
- <option value="Yes">Yes</option>
- <option value="No">No</option>
+ <option value="2 days">2 days</option>
+ <option value="a week">a week</option>
+ <option value="2-4 weeks">2-4 weeks</option>
+ <option value="will take a while but please start soon">
+ will take a while but please start soon</option>
+ <option value="no rush" selected>no rush</option>
</select>
</span>
</div>
- <div id="initial_separate_party_questions" class="bz_default_hidden">
- <div id="relation_type_row" class="field_row">
- <span class="field_label required">Type of Relationship:</span>
- <span class="field_data">
- <div class="field_description">What type of relationship?</div>
- <select name="relationship_type" id="relationship_type">
- <option value="">Select One</option>
- <option value="Hardware Purchase">Hardware Purchase</option>
- <option value="Vendor/Services">Vendor/Services</option>
- <option value="Firefox Distribution/Bundling">Firefox Distribution/Bundling</option>
- <option value="Search">Search</option>
- <option value="NDA">NDA</option>
- <option value="Other">Other</option>
- </select>
- </span>
- </div>
-
- <div id="data_access_row" class="field_row">
- <span class="field_label required">Data Access:</span>
- <span class="field_data">
- <div class="field_description">Will the other party have access to Mozilla (customer, contributor, user,
- employee) data? (If this is for an NDA, choose no)</div>
- <select name="data_access" id="data_access">
- <option value="">Select One</option>
- <option value="Yes">Yes</option>
- <option value="No">No</option>
- </select>
- </span>
- </div>
-
- <div id="privacy_policy_row" class="field_row">
- <span class="field_label">Privacy Policy:</span>
- <span class="field_data">
- <div class="field_description">What is the url for their privacy policy?</div>
- <input type="text" name="privacy_policy" id="privacy_policy" size="60">
- </span>
- </div>
-
- <div id="vendor_cost_row" class="field_row">
- <span class="field_label required">Vendor Cost:</span>
- <span class="field_data">
- <div class="field_description">What is the anticipated cost of the vendor relationship?
- (Entire Contract Cost, not monthly cost)</div>
- <select name="vendor_cost" id="vendor_cost">
- <option value="">Select One</option>
- <option value="N/A">N/A</option>
- <option value="<= $25,000"><= $25,000</option>
- <option value="> $25,000">> $25,000</option>
- </select>
- </span>
- </div>
-
- <div id="po_needed_row" class="field_row bz_default_hidden">
- <span class="field_label required">PO Needed?:</span>
- <span class="field_data">
- <select name="po_needed" id="po_needed">
- <option value="">Select One</option>
- <option value="Yes">Yes</option>
- <option value="No">No</option>
- </select>
- </span>
- </div>
- </div>
- </div>
-
- <div id="sec_review_questions" class="bz_default_hidden">
- <div class="header">Security Review</div>
-
- <div id="sec_review_affects_products_row">
- <span class="field_label">Affects Products:</span>
+ <div id="contract_priority_row" class="field_row">
+ <span class="field_label required">Priority:</span>
<span class="field_data">
- <div class="field_description">Does this feature or code change affect Firefox, Thunderbird or any
- product or service the Mozilla ships to end users?</div>
- <select name="sec_affects_products" id="sec_affects_products">
+ <div class="field_description">Priority to your team</div>
+ <select name="contract_priority" id="contract_priority">
<option value="">Select One</option>
- <option value="Yes">Yes</option>
- <option value="No">No</option>
+ <option value="high">High</option>
+ <option value="medium">Medium</option>
+ <option value="low">Low</option>
</select>
</span>
</div>
- <div id="sec_review_date_row" class="field_row">
- <span class="field_label">Review Due Date:</span>
+ <div id="internal_org_row" class="field_row">
+ <span class="field_label required">Internal Organization:</span>
<span class="field_data">
- <div class="field_description">When would you like the review to be completed?
- (<a href="https://mail.mozilla.com/home/ckoenig@mozilla.com/Security%20Review.html"
- target="_blank">more info</a>)</div>
- <input name="sec_review_date" size="20" id="sec_review_date" value=""
- onchange="updateCalendarFromField(this)">
- <button type="button" class="calendar_button"
- id="button_calendar_sec_review_date"
- onclick="showCalendar('sec_review_date')">
- <span>Calendar</span>
- </button>
- <div id="con_calendar_sec_review_date"></div>
- <script type="text/javascript">
- createCalendar('sec_review_date')
- </script>
+ <select id="internal_org" name="internal_org">
+ <option value="">Select One</option>
+ <option value="Firefox">Firefox</option>
+ <option value="Connected Devices">Connected Devices</option>
+ <option value="Emerging Technologies">Emerging Technologies</option>
+ <option value="Innovation">Innovation</option>
+ <option value="Marketing">Marketing</option>
+ <option value="BD/Legal/Policy">BD/Legal/Policy</option>
+ <option value="Finance & Accounting">Finance & Accounting</option>
+ <option value="WPR">WPR</option>
+ <option value="IT">IT</option>
+ <option value="People">People</option>
+ <option value="Internal Comms">Internal Comms</option>
+ <option value="Metrics">Metrics</option>
+ <option value="Other">Other</option>
+ </select>
</span>
</div>
- <div id="sec_review_invitees_row" class="field_row">
- <span class="field_label">Review Invitees:</span>
+ <div id="total_cost_row" class="field_row" style="display:none;">
+ <span class="field_label required">Total Cost:</span>
<span class="field_data">
- <div class="field_description">Whom should be invited to the review?</div>
- <input type="text" name="sec_review_invitees" id="sec_review_invitees" size="60">
+ <div class="field_description">
+ Please enter the total cost if a one time payment or the total for the entire
+ contract term if monthly or annual payments
+ </div>
+ <input type="text" name="total_cost" id="total_cost" size="60">
</span>
</div>
- <div id="sec_review_extra_row" class="field_row">
- <span class="field_label">Extra Information:</span>
+ <div id="attachment_row" class="field_row">
+ <span class="field_label">Attachment:</span>
<span class="field_data">
- <div class="field_description">If you feel something is missing here or you would like to provide other
- kind of feedback, feel free to do so here?</div>
- <textarea name="sec_review_extra" id="sec_review_extra" rows="10" cols="80"></textarea>
- </span>
+ <div class="field_description">
+ Upload any supporting document as draft SOW, quote, order form, etc.
+ </div>
+ <input type="file" id="attachment" name="data" size="50"><br>
+ <input type="hidden" name="contenttypemethod" value="autodetect">
+ <div class="field_description">Description</div>
+ <input type="text" name="description" id="description" size="30">
</div>
</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="independent_contractor_questions" style="display:none">
+ <div class="header">Independent Contractor Questions</div>
- <div class="data_comp_area_row">
- <span class="field_label required">Area</span>
+ <div id="independent_contractor_prev_work_row" class="field_row">
+ <span class="field_label required">Previous Work:</span>
<span class="field_data">
- <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>
+ <div class="field_description">Is this someone we've worked with before?</div>
+ <select name="independent_contractor_prev_work" id="independent_contractor_prev_work">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
</select>
- </span>
- </div>
-
- <div id="data_comp_description_row">
- <span class="field_label required">Description</span>
- <span class="field_data">
- <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 id="independent_contractor_prev_work_bug_row" style="display:none;">
+ <div class="field_description required">
+ If yes, enter the [% terms.bug %] number for the previous work or note that this is a former employee
+ </div>
+ <input type="text" name="independent_contractor_prev_work_bug" id="independent_contractor_prev_work_bug" size="30">
</div>
- <textarea name="data_comp_desc" id="data_comp_desc" rows="10" cols="60"
- class="wide"></textarea>
</span>
</div>
- <div id="data_comp_urgency_row">
- <span class="field_label required">Urgency</span>
+ <div id="independent_contractor_incorporated_row" class="field_row">
+ <span class="field_label required">Incorporated:</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>
+ <div class="field_description">Has this person incorporated (sole proprietorship or similar form)?</div>
+ <select name="independent_contractor_incorporated" id="independent_contractor_incorporated">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
</select>
</span>
</div>
- <div id="data_comp_handling_change_row">
- <span class="field_label required">Collection/Handling Change</span>
+ <div id="independent_contractor_staff_agency_row" class="field_row">
+ <span class="field_label required">Staffing Agency:</span>
<span class="field_data">
- <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>
+ <div class="field_description">Will the person be engaged through a staffing agency?</div>
+ <select name="independent_contractor_staff_agency" id="independent_contractor_staff_agency">
+ <option value="">Select One</option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</span>
</div>
- <div id="data_comp_practice_change_row">
- <span class="field_label required">Practice Change</span>
+ <div id="independent_contractor_other_clients_row" class="field_row">
+ <span class="field_label required">Other Clients:</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>
+ <div class="field_description">Does the person have other clients?</div>
+ <select name="independent_contractor_other_clients" id="independent_contractor_other_clients">
+ <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>
+ <div id="independent_contractor_dupe_services_row" class="field_row">
+ <span class="field_label required">Duplicate Services:</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 class="field_description">Does the person provide services similar to a paid Mozilla employee?</div>
+ <select name="independent_contractor_dupe_services" id="independent_contractor_dupe_services">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
+ </select>
+ <div id="independent_contractor_dupe_services_temp_row" style="display:none;">
+ <div class="field_description required">
+ If yes, is the person primarily being engaged due to a temporary increase in workload or as backfill for an employee on leave?
+ </div>
+ <select name="independent_contractor_dupe_services_temp" id="independent_contractor_dupe_services_temp">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
+ </select>
</div>
- <textarea name="data_comp_other" id="data_comp_other" rows="10" cols="60"
- class="wide"></textarea>
</span>
</div>
- </div>
-
- <div id="legal_questions" class="bz_default_hidden">
- <div class="header">Legal</div>
- <div id="legal_priority_row" class="field_row">
- <span class="field_label required">Priority:</span>
+ <div id="independent_contractor_self_manage_row" class="field_row">
+ <span class="field_label required"a>Self Managed:</span>
<span class="field_data">
- <div class="field_description">Priority to your team</div>
- <select name="legal_priority" id="legal_priority">
+ <div class="field_description">Will the person be managing his or her own time?</div>
+ <select name="independent_contractor_self_manage" id="independent_contractor_self_manage">
<option value="">Select One</option>
- <option value="high">High</option>
- <option value="medium">Medium</option>
- <option value="low">Low</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
</select>
</span>
</div>
- <div id="legal_timeframe_row" class="field_row">
- <span class="field_label required">Time Frame For Completion<br>of Legal Portion?:</span>
+- <div id="independent_contractor_own_equipment_row" class="field_row">
+ <span class="field_label required">Own Equipment:</span>
<span class="field_data">
- <div class="field_description">What is the desired time frame to have the legal component/involvement completed.</div>
- <select name="legal_timeframe" id="legal_timeframe">
- <option value="2 days">2 days</option>
- <option value="a week">a week</option>
- <option value="2-4 weeks">2-4 weeks</option>
- <option value="will take a while but please start soon">
- will take a while but please start soon</option>
- <option value="no rush" selected>no rush</option>
+ <div class="field_description">Will the person be using his or her own equipment?</div>
+ <select name="independent_contractor_own_equipment" id="independent_contractor_own_equipment">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
</select>
</span>
</div>
- <div id="legal_cc_row" class="field_row">
- <span class="field_label">Cc:</span>
+ <div id="independent_contractor_mozilla_facility_row" class="field_row">
+ <span class="field_label required">Mozilla Facility:</span>
<span class="field_data">
- [% INCLUDE global/userselect.html.tmpl
- id => "legal_cc"
- name => "legal_cc"
- value => ""
- size => 60
- classes => ["bz_userfield"]
- multiple => 5
- %]
+ <div class="field_description">Will the person be regularly working at a Mozilla facility?</div>
+ <select name="independent_contractor_mozilla_facility" id="independent_contractor_mozilla_facility">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
+ </select>
</span>
</div>
- <div id="legal_other_party_row" class="field_row">
- <span class="field_label">Other Party:</span>
+ <div id="independent_contractor_supervising_row" class="field_row">
+ <span class="field_label required">Supervise Mozilla Employees:</span>
<span class="field_data">
- <div class="field_description">Name of other party involved</div>
- <input type="text" name="legal_other_party" id="legal_other_party" size="60">
+ <div class="field_description">Will the person be supervising Mozilla employees?</div>
+ <select name="independent_contractor_supervising" id="independent_contractor_supervising">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
+ </select>
</span>
</div>
+ </div>
- <div id="legal_help_from_legal_row" class="field_row">
- <span class="field_label required">What help do you<br>need from Legal?</span>
- <span class="field_data">
- <div class="field_description">
- Please explain specifically what help you need from Legal. If none, put "No Legal help needed."</div>
- <textarea name="legal_help_from_legal" id="legal_help_from_legal" rows="10" cols="80"></textarea>
- </span>
- </div>
+ <div id="contract_specific_questions">
+ <div class="header">Contract Specific Questions</div>
- <div id="legal_sow_questions" class="bz_default_hidden">
+ <div id="sow_details" style="display:none;">
<div class=field_row">
<span class="field_label">SOW Details:</span>
<span class="field_data">
Please provide the following information for the SOW
- </span>
- </div>
-
- <div id="legal_sow_vendor_name_row" class="field_row">
- <span class="field_label required">Legal Vendor Name:</span>
- <span class="field_data">
- <input type="text" name="legal_sow_vendor_name" id="legal_sow_vendor_name" size="60">
</span>
</div>
- <div id="legal_sow_vendor_address_row" class="field_row">
+ <div id="sow_vendor_address_row" class="field_row">
<span class="field_label required">Vendor Address:</span>
<span class="field_data">
- <textarea name="legal_sow_vendor_address" id="legal_sow_vendor_address" rows="10" cols="80"></textarea>
+ <textarea name="sow_vendor_address" id="sow_vendor_address" rows="10" cols="80"></textarea>
</span>
</div>
- <div id="legal_sow_vendor_email_row" class="field_row">
- <span class="field_label required">Vendor Email for Notices:</span>
+ <div id="sow_vendor_email_row" class="field_row">
+ <span class="field_label required">Vendor Email for Legal Notices:</span>
<span class="field_data">
- <input type="text" name="legal_sow_vendor_email" id="legal_sow_vendor_email" size="60">
+ <input type="text" name="sow_vendor_email" id="sow_vendor_email" size="60">
</span>
</div>
- <div id="legal_sow_vendor_mozcontact_row" class="field_row">
+ <div id="sow_vendor_mozcontact_row" class="field_row">
<span class="field_label required">Main Mozilla Contact:</span>
<span class="field_data">
[% INCLUDE global/userselect.html.tmpl
- id => "legal_sow_vendor_mozcontact"
- name => "legal_sow_vendor_mozcontact"
- value => ""
+ id => "sow_vendor_mozcontact"
+ name => "sow_vendor_mozcontact"
size => 60
classes => ["bz_userfield"]
- multiple => 5
%]
</span>
</div>
- <div id="legal_sow_vendor_contact_row" class="field_row">
+ <div id="sow_vendor_contact_row" class="field_row">
<span class="field_label required">Main Vendor Contact and Email:</span>
<span class="field_data">
- <input type="text" name="legal_sow_vendor_contact" id="legal_sow_vendor_contact" size="60">
+ <input type="text" name="sow_vendor_contact" id="sow_vendor_contact" size="60">
</span>
</div>
- <div id="legal_sow_vendor_services_row" class="field_row">
+ <div id="sow_vendor_services_row" class="field_row">
<span class="field_label required">Vendor Services to be Provided:</span>
<span class="field_data">
- <textarea name="legal_sow_vendor_services" id="legal_sow_vendor_services" rows="10" cols="80"></textarea>
+ <textarea name="sow_vendor_services" id="sow_vendor_services" rows="10" cols="80"></textarea>
+ </span>
+ </div>
+
+ <div id="sow_vendor_mozilla_systems_row" class="field_row">
+ <span class="field_label required">Mozilla Systems:</span>
+ <span class="field_data">
+ <div class="field_description">
+ Will vendor require access to Mozilla systems (e.g. workday, email, google docs, servers)?
+ </div>
+ <select name="sow_vendor_mozilla_systems" id="sow_vendor_mozilla_systems">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
+ </select>
+ <div id="sow_vendor_mozilla_systems_explain_row" style="display:none;">
+ <div class="field_description required">
+ If yes, please explain
+ </div>
+ <textarea name="sow_vendor_mozilla_systems_explain" id="sow_vendor_mozilla_systems_explain" rows="10" cols="80"></textarea>
+ </div>
+ </span>
+ </div>
+
+ <div id="sow_vendor_onsite_row" class="field_row">
+ <span class="field_label required">Vendor Onsite:</span>
+ <span class="field_data">
+ <div class="field_description">
+ Will vendor be physically onsite at a Mozilla office?
+ </div>
+ <select name="sow_vendor_onsite" id="sow_vendor_onsite">
+ <option value="">Select One</option>
+ <option value="Yes">Yes</option>
+ <option value="No">No</option>
+ </select>
+ <div id="sow_vendor_onsite_where_row" style="display:none;">
+ <div class="field_description required">
+ If yes, where and when?
+ </div>
+ <textarea name="sow_vendor_onsite_where" id="sow_vendor_onsite_where" rows="10" cols="80"></textarea>
+ </div>
</span>
</div>
- <div id="legal_sow_vendor_deliverables_row" class="field_row">
+ <div id="sow_vendor_deliverables_row" class="field_row">
<span class="field_label required">Description of Deliverables:</span>
<span class="field_data">
- <textarea name="legal_sow_vendor_deliverables" id="legal_sow_vendor_deliverables" rows="10" cols="80"></textarea>
+ <textarea name="sow_vendor_deliverables" id="sow_vendor_deliverables" rows="10" cols="80"></textarea>
</span>
</div>
- <div id="legal_sow_start_date_row" class="field_row">
+ <div id="sow_start_date_row" class="field_row">
<span class="field_label required">Start Date:</span>
<span class="field_data">
- <input name="legal_sow_start_date" size="20" id="legal_sow_start_date" value=""
- onchange="updateCalendarFromField(this)">
- <button type="button" class="calendar_button"
- id="button_calendar_legal_sow_start_date"
- onclick="showCalendar('legal_sow_start_date')">
- <span>Calendar</span>
- </button>
- <div id="con_calendar_legal_sow_start_date"></div>
- <script type="text/javascript">
- createCalendar('legal_sow_start_date')
- </script>
+ <input class="date-field" name="sow_start_date" id="sow_start_date">
+ <img class="date-field-img" id="sow_start_date-img"
+ src="extensions/BugModal/web/calendar.png" width="16" height="16">
</span>
</div>
- <div id="legal_sow_end_date_row" class="field_row">
+ <div id="sow_end_date_row" class="field_row">
<span class="field_label required">End Date:</span>
<span class="field_data">
- <input name="legal_sow_end_date" size="20" id="legal_sow_end_date" value=""
- onchange="updateCalendarFromField(this)">
- <button type="button" class="calendar_button"
- id="button_calendar_legal_sow_end_date"
- onclick="showCalendar('legal_sow_end_date')">
- <span>Calendar</span>
- </button>
- <div id="con_calendar_legal_sow_end_date"></div>
- <script type="text/javascript">
- createCalendar('legal_sow_end_date')
- </script>
+ <input class="date-field" name="sow_end_date" id="sow_end_date">
+ <img class="date-field-img" id="sow_end_date-img"
+ src="extensions/BugModal/web/calendar.png" width="16" height="16">
</span>
</div>
-
- <div id="legal_sow_vendor_payment_row" class="field_row">
+
+ <div id="sow_vendor_payment_row" class="field_row">
<span class="field_label required">Rate of Pay:</span>
<span class="field_data">
<div class="field_description">Include currency</div>
- <input type="text" name="legal_sow_vendor_payment" id="legal_sow_vendor_payment" size="60">
+ <input type="text" name="sow_vendor_payment" id="sow_vendor_payment" size="60">
</span>
</div>
- <div id="legal_sow_vendor_payment_basis_row" class="field_row">
+ <div id="sow_vendor_payment_basis_row" class="field_row">
<span class="field_label required">Basis for Payment:</span>
<span class="field_data">
- <div class="field_description">hourly, flat fee, per deliverable, etc.</div>
- <input type="text" name="legal_sow_vendor_payment_basis" id="legal_sow_vendor_payment_basis" size="60">
+ <div class="field_description">hourly, flat fee, per deliverable, per milestone, etc.</div>
+ <input type="text" name="sow_vendor_payment_basis" id="sow_vendor_payment_basis" size="60">
+ </span>
+ </div>
+
+ <div id="sow_vendor_cap_expenses_row" class="field_row">
+ <span class="field_label required">Cap on reimbursable expenses, if any:</span>
+ <span class="field_data">
+ <input type="text" name="sow_vendor_cap_expenses" id="sow_vendor_cap_expenses" size="60">
</span>
</div>
- <div id="legal_sow_vendor_hours_row" class="field_row">
- <span class="field_label">Average/Max Hours:</span>
+ <div id="sow_vendor_hours_row" class="field_row">
+ <span class="field_label">Max Hours/Week (and average if different):</span>
<span class="field_data">
- <div class="field_description">If hourly, either average or maximum hours per week/month</div>
- <input type="text" name="legal_sow_vendor_hours" id="legal_sow_vendor_hours" size="60">
+ <div class="field_description">If paid hourly</div>
+ <input type="text" name="sow_vendor_hours" id="sow_vendor_hours" size="60">
</span>
</div>
- <div id="legal_sow_vendor_payment_schedule_row" class="field_row">
+ <div id="sow_vendor_payment_schedule_row" class="field_row">
<span class="field_label required">Payment Schedule:</span>
<span class="field_data">
- <div class="field_description">"When will we make payments? E.g. every 30 days; half due up front,
+ <div class="field_description">When will we make payments? E.g. every 30 days; half due up front,
half on completion; following acceptance of each deliverable, etc.</div>
- <input type="text" name="legal_sow_vendor_payment_schedule" id="legal_sow_vendor_payment_schedule" size="60">
+ <input type="text" name="sow_vendor_payment_schedule" id="sow_vendor_payment_schedule" size="60">
</span>
</div>
- <div id="legal_sow_vendor_total_max_row" class="field_row">
+ <div id="sow_vendor_total_max_row" class="field_row">
<span class="field_label required">Total Not to Exceed Amount:</span>
<span class="field_data">
- <input type="text" name="legal_sow_vendor_total_max" id="legal_sow_vendor_total_max" size="60">
+ <input type="text" name="sow_vendor_total_max" id="sow_vendor_total_max" size="60">
</span>
</div>
- <div id="legal_sow_vendor_special_terms_row" class="field_row">
+ <div id="sow_vendor_special_terms_row" class="field_row">
<span class="field_label">Any Special Terms:</span>
<span class="field_data">
- <textarea name="legal_sow_vendor_special_terms" id="legal_sow_vendor_special_terms" rows="10" cols="80"></textarea>
+ <textarea name="sow_vendor_special_terms" id="sow_vendor_special_terms" rows="10" cols="80"></textarea>
</span>
</div>
+ </div>
- <div id="legal_sow_vendor_product_line_row" class="field_row">
- <span class="field_label required">Product Line:</span>
- <span class="field_data">
- <select id="legal_sow_vendor_product_line" name="legal_sow_vendor_product_line">
- <option value="">Select One</option>
- <option value="Firefox OS">Firefox OS</option>
- <option value="Firefox Desktop">Firefox Desktop</option>
- <option value="Firefox Mobile">Firefox Mobile</option>
- <option value="Firefox Platform">Firefox Platform</option>
- <option value="Marketplace/Apps">Marketplace/Apps</option>
- <option value="Lab/Research">Lab/Research</option>
- <option value="Services">Services</option>
- <option value="Product Support">Product Support</option>
- <option value="Corp Support">Corp Support</option>
- </select>
- </span>
- </div>
+ <div id="vendor_services_where_row" class="field_row">
+ <span class="field_label required">Where will the services be provided?:</span>
+ <span class="field_data">
+ <input type="text" name="vendor_services_where" id="vendor_services_where" size="60">
+ </span>
</div>
-
- <div id="legal_vendor_services_where_row" class="field_row bz_default_hidden">
- <span class="field_label required">Vendor Services Location:</span>
+ </div>
+
+ <div id="sec_review_questions" style="display:none">
+ <div class="header">Vendor Security Review</div>
+
+ <div id="sec_review_invitees_row" class="field_row">
+ <span class="field_label">Review Invitees:</span>
<span class="field_data">
- <div class="field_description">Where will the services primarily be provided?</div>
- <select name="legal_vendor_services_where" id="legal_vendor_services_where">
- <option value="">Select One</option>
- <option value="U.S.">U.S.</option>
- <option value="Europe">Europe</option>
- <option value="Canada">Canada</option>
- <option value="Global">Global</option>
- <option value="Another region of the world">Another region of the world</option>
- <option value="A single country">A single country</option>
- </select>
- <br>
- <input class="bz_default_hidden" type="text"
- name="legal_vendor_single_country" id="legal_vendor_single_country" size="60">
+ <div class="field_description">Whom should be invited to the review?</div>
+ <input type="text" name="sec_review_invitees" id="sec_review_invitees" size="60">
+ </span>
+ </div>
+
+ <div id="sec_review_extra_row" class="field_row">
+ <span class="field_label">Extra Information:</span>
+ <span class="field_data">
+ <div class="field_description">
+ Please add any additional information related to data handling by the Vendor you think the security team should know.
+ </div>
+ <textarea name="sec_review_extra" id="sec_review_extra" rows="10" cols="80"></textarea>
</span>
</div>
</div>
- <div id="finance_questions" class="bz_default_hidden">
+ <div id="finance_questions" style="display:none">
<div class="header">Finance</div>
- <div id="finance_purchase_vendor_row" class="field_row">
- <span class="field_label required">Vendor:</span>
- <span class="field_data">
- <input type="text" name="finance_purchase_vendor" maxsize="255" size="60" id="finance_purchase_vendor">
- </span>
- </div>
-
<div id="finance_purchase_inbudget_row" class="field_row">
<span class="field_label required">Is this line item in budget?:</span>
<span class="field_data">
</span>
</div>
- <div id="finance_purchase_urgency_row" class="field_row">
- <span class="field_label required">When do the items need<br>to be purchased by?:</span>
- <span class="field_data">
- <select name="finance_purchase_urgency" id="finance_purchase_urgency">
- <option value="3 to 5 days">3 to 5 days</option>
- <option value="7 to 10 days">7 to 10 days</option>
- <option value="two weeks">two weeks</option>
- <option value="no rush" selected>no rush</option>
- </select>
- </span>
- </div>
-
<div id="finance_shipment_address_row" class="field_row">
<span class="field_label">What is the shipment address<br>(if applicable)?:</span>
<span class="field_data">
<textarea name="finance_shipment_address" id="finance_shipment_address" rows="10" cols="80"></textarea>
</span>
</div>
-
- <div id="finance_purchase_cost_row" class="field_row">
- <span class="field_label required">Total Cost:</span>
- <span class="field_data">
- <div class="field_description">Please include currency type (e.g. USD, EUR)</div>
- <input type="text" name="finance_purchase_cost" id="finance_purchase_cost" size="60">
- </span>
- </div>
</div>
<input type="submit" id="commit" value="Submit Review">
</form>
<p>
- Thanks for contacting us. You will be notified by email of any progress made in resolving your request.
+ Thanks for contacting us. Legal, Finance, and Security [% terms.bugs %] will be opened
+ so those teams can work with you on this request.
</p>
[% PROCESS global/footer.html.tmpl %]
* defined by the Mozilla Public License, v. 2.0.
*/
-var Dom = YAHOO.util.Dom;
-var Event = YAHOO.util.Event;
-
-var MPR = {
- required_fields: {
+$(function() {
+ 'use strict';
+ var required_fields = {
"initial_questions": {
- "short_desc": "Please enter a value for project or feature name in the initial questions section",
- "cc": "Please enter a value for points of contact in the initial questions section",
- "key_initiative": "Please select a value for key initiative in the initial questions section",
- "release_date": "Please enter a value for release date in the initial questions section",
- "project_status": "Please select a value for project status in the initial questions section",
- "mozilla_data": "Please select a value for mozilla data in the initial questions section",
- "separate_party": "Please select a value for separate party in the initial questions section"
+ "comment": "Please enter a value for description in the initial questions section.",
+ "key_initiative": "Please select a value for key initiative in the initial questions section.",
+ "contract_type": "Please select a value for contract type in the initial questions section.",
+ "mozilla_data": "Please select a value for mozilla data in the initial questions section.",
+ "vendor_cost": "Please select a value for vendor cost in the initial questions section.",
+ "timeframe": "Please select a value for timeframe in the initial questions section.",
+ "contract_priority": "Please select a value for priority in the initial questions section.",
+ "internal_org": "Please select a value for the internal organization in the initial questions section."
},
- "finance_questions": {
- "finance_purchase_vendor": "Please enter a value for vendor in the finance questions section",
- "finance_purchase_what": "Please enter a value for what in the finance questions section",
- "finance_purchase_why": "Please enter a value for why in the finance questions section",
- "finance_purchase_risk": "Please enter a value for risk in the finance questions section",
- "finance_purchase_alternative": "Please enter a value for alternative in the finance questions section",
- "finance_purchase_inbudget": "Please enter a value for in budget in the finance questions section",
- "finance_purchase_urgency": "Please select a value for urgency in the finance questions section",
- "finance_purchase_cost": "Please enter a value for total cost in the finance questions section"
+ "key_initiative_other": {
+ "key_initiative_other": "Please enter a value for other key initiative in the initial questions section."
+ },
+ "mozilla_data_explain_row": {
+ "mozilla_data_explain": "Please enter a value for mozilla data access explanation in the initial questions section."
+ },
+ "contract_type_other": {
+ "contract_type_other": "Please enter a value for other contract type in the initial questions section."
+ },
+ "contract_specific_questions": {
+ "other_party": "Please enter a value for vendor name in the contract specific questions.",
+ "vendor_services_where": "Please enter a value for the where the services will be provided in the contract specific questions.",
+ },
+ "independent_contractor_questions": {
+ "independent_contractor_prev_work": "Please select a value for previous work in the independent contractor section.",
+ "independent_contractor_incorporated": "Please select a value for incorporated in the independent contractor section.",
+ "independent_contractor_staff_agency": "Please select a value for staffing agency in the independent contractor section.",
+ "independent_contractor_other_clients": "Please select a value for other clients in the independent contractor section.",
+ "independent_contractor_dupe_services": "Please select a value for in the independent contractor section.",
+ "independent_contractor_self_manage": "Please select a value for self management of time in the independent contractor section.",
+ "independent_contractor_own_equipment": "Please select a value for use of contractors own equipment in the independent contractor section.",
+ "independent_contractor_mozilla_facility": "Please select a value for use of Mozilla facility in the independent contractor section.",
+ "independent_contractor_supervising": "Please select a value for contractor supervising Mozilla employees in the independent contractor section.",
+ },
+ "independent_contractor_prev_work_bug_row": {
+ "independent_contractor_prev_work_bug": "Please enter a value for previous work bug id in the independent contractor section."
+ },
+ "independent_contractor_dupe_services_temp_row": {
+ "independent_contractor_dupe_services_temp": "Please select a value for temporarily need duplicate services in the independent contractor section."
+ },
+ "sow_details": {
+ "sow_vendor_address": "Please enter a value for SOW vendor address.",
+ "sow_vendor_email": "Please enter a value for SOW vendor email for notices.",
+ "sow_vendor_contact": "Please enter a value for SOW vendor contact and email address.",
+ "sow_vendor_services": "Please enter a value for SOW vendor services description.",
+ "sow_vendor_deliverables": "Please enter a value for SOW vendor deliverables description.",
+ "sow_start_date": "Please enter a value for SOW vendor start date.",
+ "sow_end_date": "Please enter a value for SOW vendor end date.",
+ "sow_vendor_payment": "Please enter a value for SOW vendor payment amount.",
+ "sow_vendor_payment_basis": "Please enter a value for SOW vendor payment basis.",
+ "sow_vendor_cap_expenses": "Please enter a value for SOW cap on reimbursable expenses.",
+ "sow_vendor_payment_schedule": "Please enter a value for SOW vendor payment schedule.",
+ "sow_vendor_total_max": "Please enter a value for SOW vendor maximum total to be paid.",
},
- "legal_questions": {
- "legal_priority": "Please select a value for priority in the legal questions section",
- "legal_timeframe": "Please select a value for timeframe in the legal questions section",
- "legal_help_from_legal": "Please describe the help needed from the Legal department"
+ "sow_vendor_mozilla_systems_explain_row": {
+ "sow_vendor_mozilla_systems_explain": "Please enter a value for SOW vendor explanation for use of mozilla systems."
},
- "legal_sow_questions": {
- "legal_sow_vendor_name": "Please enter a value for SOW legal vendor name",
- "legal_sow_vendor_address": "Please enter a value for SOW vendor address",
- "legal_sow_vendor_email": "Please enter a value for SOW vendor email for notices",
- "legal_sow_vendor_mozcontact": "Please enter a value for SOW Mozilla contact",
- "legal_sow_vendor_contact": "Please enter a value for SOW vendor contact and email address",
- "legal_sow_vendor_services": "Please enter a value for SOW vendor services description",
- "legal_sow_vendor_deliverables": "Please enter a value for SOW vendor deliverables description",
- "legal_sow_start_date": "Please enter a value for SOW vendor start date",
- "legal_sow_end_date": "Please enter a value for SOW vendor end date",
- "legal_sow_vendor_payment": "Please enter a value for SOW vendor payment amount",
- "legal_sow_vendor_payment_basis": "Please enter a value for SOW vendor payment basis",
- "legal_sow_vendor_payment_schedule": "Please enter a value for SOW vendor payment schedule",
- "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"
+ "sow_vendor_onsite_where_row": {
+ "sow_vendor_onsite_where": "Please enter a value for SOW vendor onsite where and when."
},
- "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"
+ "finance_questions": {
+ "finance_purchase_inbudget": "Please enter a value for in budget in the finance questions section.",
+ "finance_purchase_what": "Please enter a value for what in the finance questions section.",
+ "finance_purchase_why": "Please enter a value for why in the finance questions section.",
+ "finance_purchase_risk": "Please enter a value for risk in the finance questions section.",
+ "finance_purchase_alternative": "Please enter a value for alternative in the finance questions section.",
+ },
+ "total_cost_row": {
+ "total_cost": "Please enter a value for total cost"
}
- },
+ };
- select_inputs: [
+ var select_inputs = [
+ 'contract_type',
+ 'independent_contractor_prev_work',
+ 'independent_contractor_dupe_services',
'key_initiative',
- 'project_status',
'mozilla_data',
- 'separate_party',
- 'relationship_type',
- 'data_access',
'vendor_cost',
- 'po_needed',
- 'sec_affects_products',
- 'legal_priority',
- 'legal_sow_vendor_product_line',
- 'legal_vendor_services_where',
- 'finance_purchase_urgency'
- ],
-
- init: function () {
+ 'sow_vendor_mozilla_systems',
+ 'sow_vendor_onsite'
+ ];
+
+ function init() {
// Bind the updateSections function to each of the inputs desired
- for (var i = 0, l = this.select_inputs.length; i < l; i++) {
- Event.on(this.select_inputs[i], 'change', MPR.updateSections);
+ for (var i = 0, l = select_inputs.length; i < l; i++) {
+ $('#' + select_inputs[i]).change(updateSections);
}
- MPR.updateSections();
- },
+ updateSections();
+ $('#mozProjectForm').submit(validateAndSubmit);
+ }
- fieldValue: function (id) {
- var field = Dom.get(id);
- if (!field) return '';
- if (field.type == 'text'
- || field.type == 'textarea')
- {
- return field.value;
- }
- return field.options[field.selectedIndex].value;
- },
-
- updateSections: function () {
- // Sections that will be hidden/shown based on the input values
- // Start out as all false except for initial questions which is always visible
- var page_sections = {
- initial_questions: true,
- key_initiative_other_row: false,
- initial_separate_party_questions: false,
- finance_questions: false,
- po_needed_row: false,
- legal_questions: false,
- legal_sow_questions: false,
- legal_vendor_single_country: false,
- legal_vendor_services_where_row: false,
- sec_review_questions: false,
- data_compliance_questions: false,
- };
-
- if (MPR.fieldValue('key_initiative') == 'Other') {
- page_sections.key_initiative_other_row = true;
- }
-
- if (MPR.fieldValue('mozilla_data') == 'Yes') {
- page_sections.legal_questions = true;
- page_sections.data_compliance_questions = true;
- page_sections.sec_review_questions = true;
- }
-
- if (MPR.fieldValue('separate_party') == 'Yes') {
- page_sections.initial_separate_party_questions = true;
-
- if (MPR.fieldValue('relationship_type')
- && MPR.fieldValue('relationship_type') != 'Hardware Purchase')
- {
- page_sections.legal_questions = true;
- }
+ function updateSections(e) {
+ if ($('#key_initiative').val() == 'Other') {
+ $('#key_initiative_other').show();
+ if ($(e.target).attr('id') == 'key_initiative') $('#key_initiative_other').focus();
+ } else {
+ $('#key_initiative_other').hide();
+ }
- if (MPR.fieldValue('relationship_type') == 'Vendor/Services'
- || MPR.fieldValue('relationship_type') == 'Firefox Distribution/Bundling')
- {
- page_sections.legal_sow_questions = true;
- page_sections.legal_vendor_services_where_row = true;
- }
+ if ($('#vendor_cost').val() == '< $25,000 PO Needed'
+ || $('#vendor_cost').val() == '> $25,000')
+ {
+ $('#finance_questions').show();
+ } else {
+ $('#finance_questions').hide();
+ }
- if (MPR.fieldValue('relationship_type') == 'Hardware Purchase') {
- page_sections.finance_questions = true;
- }
+ var do_sec_review = [
+ 'Engaging a new vendor company',
+ 'Adding a new SOW with a vendor',
+ 'Extending an SOW or renewing a contract',
+ 'Purchasing software',
+ 'Signing up for an online service',
+ 'Other'
+ ];
+ var contract_type = $('#contract_type').val();
+ if ((contract_type && $.inArray(contract_type, do_sec_review) >= 0)
+ || $('#mozilla_data').val() == 'Yes')
+ {
+ $('#sec_review_questions').show();
- if (MPR.fieldValue('data_access') == 'Yes') {
- page_sections.legal_questions = true;
- page_sections.sec_review_questions = true;
- page_sections.data_compliance_questions = true;
- }
+ } else {
+ $('#sec_review_questions').hide();
+ }
- if (MPR.fieldValue('vendor_cost') == '<= $25,000') {
- page_sections.po_needed_row = true;
- }
+ if ($('#mozilla_data').val() == 'Yes') {
+ $('#mozilla_data_explain_row').show();
+ if ($(e.target).attr('id') == 'mozilla_data') $('#mozilla_data_explain').focus();
- if (MPR.fieldValue('po_needed') == 'Yes') {
- page_sections.finance_questions = true;
- }
+ } else {
+ $('#mozilla_data_explain_row').hide();
+ }
- if (MPR.fieldValue('vendor_cost') == '> $25,000') {
- page_sections.finance_questions = true;
- }
+ if (contract_type == 'Other') {
+ $('#contract_type_other').show();
+ if ($(e.target).attr('id') == 'contract_type') $('#contract_type_other').focus();
+ }
+ else {
+ $('#contract_type_other').hide();
}
- if (MPR.fieldValue('legal_vendor_services_where') == 'A single country') {
- page_sections.legal_vendor_single_country = true;
+ if (contract_type == 'Engaging a new vendor company'
+ || contract_type == 'Engaging an individual (independent contractor, temp agency worker, incorporated)'
+ || contract_type == 'Adding a new SOW with a vendor')
+ {
+ $('#sow_details').show();
+ }
+ else {
+ $('#sow_details').hide();
}
- // Toggle the individual page_sections
- for (section in page_sections) {
- MPR.toggleShowSection(section, page_sections[section]);
+ if (contract_type == "Extending a SOW or renewing a contract"
+ || contract_type == "Purchasing software"
+ || contract_type == "Purchasing hardware"
+ || contract_type == "Signing up for an online service"
+ || contract_type == "Other")
+ {
+ $('#total_cost_row').show();
+ }
+ else {
+ $('#total_cost_row').hide();
}
- },
- toggleShowSection: function (section, show) {
- if (show) {
- Dom.removeClass(section, 'bz_default_hidden');
+ if (contract_type == 'Engaging an individual (independent contractor, temp agency worker, incorporated)') {
+ $('#independent_contractor_questions').show();
}
else {
- Dom.addClass(section ,'bz_default_hidden');
- }
- },
-
- validateAndSubmit: function () {
- var alert_text = '';
- var section = '';
- for (section in this.required_fields) {
- if (!Dom.hasClass(section, 'bz_default_hidden')) {
- var field = '';
- for (field in MPR.required_fields[section]) {
- if (!MPR.isFilledOut(field)) {
- alert_text += this.required_fields[section][field] + "\n";
- }
- }
- }
+ $('#independent_contractor_questions').hide();
}
- // Special case checks
- if (MPR.fieldValue('relationship_type') == 'Vendor/Services'
- && MPR.fieldValue('legal_vendor_services_where') == '')
- {
- alert_text += "Please select a value for vendor services where\n";
+ if ($('#independent_contractor_prev_work').val() == 'Yes') {
+ $('#independent_contractor_prev_work_bug_row').show();
+ if ($(e.target).attr('id') == 'independent_contractor_prev_work')
+ $('#independent_contractor_prev_work_bug').focus();
+ }
+ else {
+ $('#independent_contractor_prev_work_bug_row').hide();
}
- if (MPR.fieldValue('relationship_type') == 'Vendor/Services'
- && MPR.fieldValue('legal_vendor_services_where') == 'A single country'
- && MPR.fieldValue('legal_vendor_single_country') == '')
- {
- alert_text += "Please select a value for vendor services where single country\n";
+ if ($('#independent_contractor_dupe_services').val() == 'Yes') {
+ $('#independent_contractor_dupe_services_temp_row').show();
+ if ($(e.target).attr('id') == 'independent_contractor_dupe_services')
+ $('#independent_contractor_dupe_services_temp').focus();
+ }
+ else {
+ $('#independent_contractor_dupe_services_temp_row').hide();
}
- if (MPR.fieldValue('key_initiative') == 'Other') {
- if (!MPR.isFilledOut('key_initiative_other')) {
- alert_text += "Please enter a value for key initiative in the initial questions section\n";
- }
+ if ($('#sow_vendor_mozilla_systems').val() == 'Yes') {
+ $('#sow_vendor_mozilla_systems_explain_row').show();
+ if ($(e.target).attr('id') == 'sow_vendor_mozilla_systems')
+ $('#sow_vendor_mozilla_systems_explain').focus();
+ }
+ else {
+ $('#sow_vendor_mozilla_systems_explain_row').hide();
}
- if (MPR.fieldValue('separate_party') == 'Yes') {
- if (!MPR.isFilledOut('relationship_type')) {
- alert_text += "Please select a value for type of relationship\n";
- }
- if (!MPR.isFilledOut('data_access')) {
- alert_text += "Please select a value for data access\n";
- }
- if (!MPR.isFilledOut('vendor_cost')) {
- alert_text += "Please select a value for vendor cost\n";
- }
+ if ($('#sow_vendor_onsite').val() == 'Yes') {
+ $('#sow_vendor_onsite_where_row').show();
+ if ($(e.target).attr('id') == 'sow_vendor_onsite')
+ $('#sow_vendor_onsite_where').focus();
+ }
+ else {
+ $('#sow_vendor_onsite_where_row').hide();
}
+ }
- if (MPR.fieldValue('vendor_cost') == '<= $25,000'
- && MPR.fieldValue('po_needed') == '')
- {
- alert_text += "Please select whether a PO is needed or not\n";
+ function validateAndSubmit(e) {
+ var alert_text = '',
+ section = '',
+ field = '';
+ for (section in required_fields) {
+ if ($('#' + section).is(':visible')) {
+ for (field in required_fields[section]) {
+ if (!isFilledOut(field)) {
+ alert_text += required_fields[section][field] + "\n";
+ }
+ }
+ }
}
if (alert_text) {
return false;
}
+ $('#short_desc').val('Contract for ' +
+ $('#contract_type').val() +
+ ' with ' +
+ $('#other_party').val());
+
+ var component_map = {
+ "Engaging a new vendor company,": "Vendor/Services",
+ "Adding a new SOW with a vendor": "Vendor/Services",
+ "Extending a SOW or renewing a contract": "Vendor/Services",
+ "Purchasing hardware": "Vendor/Services",
+ "Other": "Vendor/Services",
+ "Engaging an individual (independent contractor, temp agency worker, incorporated)": "Independent Contractor Agreement",
+ "An agreement with a partner": "Firefox Distribution or Other Partner Agreement",
+ "Purchasing software": "License Review",
+ "Signing up for an online service" : "License Review"
+ }
+
+ var contract_type = $('#contract_type').val();
+ if (component_map[contract_type]) {
+ $('#component').val(component_map[contract_type]);
+ }
+
return true;
- },
+ }
//Takes a DOM element id and makes sure that it is filled out
- isFilledOut: function (elem_id) {
- var str = MPR.fieldValue(elem_id);
- return str.length > 0 ? true : false;
+ function isFilledOut(id) {
+ if (!id) return false;
+ var str = $('#' + id).val();
+ if (!str || str.length == 0) return false;
+ return true;
}
-};
-Event.onDOMReady(function () {
- MPR.init();
+ // date pickers
+ $('.date-field').datetimepicker({
+ format: 'Y-m-d',
+ datepicker: true,
+ timepicker: false,
+ scrollInput: false,
+ lazyInit: false,
+ closeOnDateSelect: true
+ });
+ $('.date-field-img')
+ .click(function(event) {
+ var id = $(event.target).attr('id').replace(/-img$/, '');
+ $('#' + id).datetimepicker('show');
+ })
+
+ init();
});