Adding TeamID logic to go/launchbugs redirect

Adding logic to facilitate finding all launches for a given area, with additional help information

BUG=b:330916768
TEST=go/launchbugs?
- go/launchbugs?m=105
- go/launchbugs?m=105&te=dhaddock
- go/launchbugs?te=dhaddock
- go/launchbugs?team=cons
- go/launchbugs?a=dhaddock
- go/launchbugs?team=comm&m=105

Change-Id: I0c59ebcaa29518af4a18a325b6a07f2847bcffc4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crostestutils/+/5388752
Reviewed-by: Shijin Abraham <shijinabraham@google.com>
Tested-by: Wendy Aleman Martinez <awendy@chromium.org>
Commit-Queue: Shijin Abraham <shijinabraham@google.com>
Auto-Submit: Wendy Aleman Martinez <awendy@chromium.org>
Reviewed-by: Hyung Tae Kim <hyungtaekim@chromium.org>
diff --git a/provingground/launchbugs/README.md b/provingground/launchbugs/README.md
index bbced73..2bda649 100644
--- a/provingground/launchbugs/README.md
+++ b/provingground/launchbugs/README.md
@@ -14,7 +14,7 @@
 Navigate to go/launchbugs?
 Filter by Milestone: go/launchbugs?m=105
 Filter by Test Engineers: go/launchbugs?te=dhaddock
-Filter by Team: go/launchbugs?team=coreX
+Filter by Team: go/launchbugs?team=cons
 Filter by Engprod Approvers: go/launchbugs?a=dhaddock
 Filter by Multiple Ldaps: go/launchbugs?te=dhadock,awendy&a=dhadock,awendy
 Filter by Unassigned Launches for a given Milestone: go/launchbugs?te=new&m=109
@@ -27,12 +27,6 @@
 Filter by Component IIRC: go/launchbugsold?c=UI>Shell>StatusArea
 Filter by Team: go/launchbugsold?team=coreX
 
-### Filtering by Team
-Team is not an existing Filter Attribute. The functionality was added to
-shorten the Tests Engineers required if we want to add all the TEs from CoreX.
-Ex: `go/launchbugs?m=100&team=coreX` will search for all the Launch Bugs in
-Milestone 100 where the TEs are dhaddock,kyleshima,hyungtaekim, or awendy
-
 ### Testing
 After modifying the script, please make sure that the old functionalities are
 still working
@@ -43,9 +37,9 @@
 - go/launchbugs?m=105
 - go/launchbugs?m=105&te=dhaddock
 - go/launchbugs?te=dhaddock
-- go/launchbugs?team=corex
+- go/launchbugs?team=cons
 - go/launchbugs?a=dhaddock
-- go/launchbugs?team=corex&m=105
+- go/launchbugs?team=comm&m=105
 
 Some good urls to test in Monorail:
 - go/launchbugsold?
diff --git a/provingground/launchbugs/js/getParameters.js b/provingground/launchbugs/js/getParameters.js
index 6717ad9..a537bfc 100644
--- a/provingground/launchbugs/js/getParameters.js
+++ b/provingground/launchbugs/js/getParameters.js
@@ -1,13 +1,56 @@
 //  Copyright 2022 The ChromiumOS Authors
 //  Use of this source code is governed by a BSD-style license that can be
 //  found in the LICENSE file.
+const TeamId = {
+  Commercial: '2018047913735',
+  Consumer: '1920469030069',
+  Developer: '2185535768207',
+  Fundamentals: '1417945292682',
+  Trust_Safety: '1488691098512',
+  Flex: '1457609259434',
+  Platform_Device: '1346066282',
+  Platform_Foundations: '2080565135586',
+  Devices_Peripherals: '1579017816064',
+  ChromeOS:'1346058396'
+}
+
 function GetURLParameter(sParam) {
   var sPageURL = window.location.search.substring(1);
   var sURLVariables = sPageURL.split('&');
   for (var i = 0; i < sURLVariables.length; i++) {
+    //If param is help return help string
+    if (sParam == 'help'){
+      if (sURLVariables[i]== 'help')
+        return 'help'
+    }
     var sParameterName = sURLVariables[i].split('=');
     if (sParameterName[0] == sParam) {
       return sParameterName[1];
     }
   }
 }
+
+function GetTeamId(team){
+  switch (team) {
+      case 'comm':
+          return TeamId.Commercial
+      case 'cons':
+          return TeamId.Consumer
+      case 'dev':
+          return TeamId.Developer
+      case 'fund':
+          return TeamId.Fundamentals
+      case 'tands':
+          return TeamId.Trust_Safety
+      case 'flex':
+          return TeamId.Flex
+      case 'pdev':
+          return TeamId.Platform_Device
+      case 'pfound':
+          return TeamId.Platform_Foundations
+      case 'peri':
+          return TeamId.Devices_Peripherals
+      default:
+          return TeamId.ChromeOS
+  }
+}
\ No newline at end of file
diff --git a/provingground/launchbugs/launchbugs.html b/provingground/launchbugs/launchbugs.html
index 08f9079..41bc2d2 100644
--- a/provingground/launchbugs/launchbugs.html
+++ b/provingground/launchbugs/launchbugs.html
@@ -11,38 +11,42 @@
   <script>
     var base_url = 'https://launch.corp.google.com/launches?'
     // Add milestone, TEs, and Approver to launch url and redirect to it
-    function UpdateUrlsWithMilestone(m, team, te, approver) {
-      var src = base_url.concat('&q=calendarId:2197 <milestone><TE><approver>')
+    function UpdateUrlsWithParams(milestone, team, tester, approver) {
+      var src = base_url.concat('&q=calendarId:2197 <team><milestone><tester><approver>')
       // Milestone
-      if (!m) {
+      if (!milestone) {
         console.log('No Milestone provided')
-        m = ''
+        milestone = ''
       }
       else {
-        m = ' ("Stable Target Milestone":"' + m + '" OR "Stable Experiment Target Milestone":"' + m + '")'
+        milestone = ' ("Stable Target Milestone":"' + milestone + '" OR "Stable Experiment Target Milestone":"' + milestone + '")'
       }
-      src = src.replace(/<milestone>/g, m)
-      // Team Logic overrides TE
-      if (team && team.toLowerCase() == "corex") {
-        console.log('Team found, overrides TE')
-        te = 'dhaddock,kyleshima,hyungtaekim,awendy'
+      src = src.replace(/<milestone>/g, milestone)
+      // Team Logic
+      if (!team) {
+        console.log('No Team provided')
+        team = ''
       }
+      else {
+        team = ' underteamid:' + GetTeamId(team)
+      }
+      src = src.replace(/<team>/g, team)
       // TE
-      if (!te) {
+      if (!tester) {
         console.log('No TE provided')
-        te = ''
+        tester = ''
       }
-      else if (te == "new") {
-        console.log('New TEs')
-        te = ' te:NULL'
+      else if (tester == "new") {
+        console.log('No testers assigned')
+        tester = ' te:NULL'
       }
       else {
         // TODO: Remove this replacement once b/237097115 is fixed
-        te = te.replace(/%2C/g, '" OR "')
+        tester = tester.replace(/%2C/g, '" OR "')
         // Verify if multiple TEs provided
-        te = ' "te":("' +te.replace(/,/g, '" OR "')+ '")'
+        tester = ' "te":("' +tester.replace(/,/g, '" OR "')+ '")'
       }
-      src = src.replace(/<TE>/g, te)
+      src = src.replace(/<tester>/g, tester)
       // EngProd Bit Approver
       if (!approver) {
         console.log('No Approver provided')
@@ -58,11 +62,17 @@
       window.location.replace(src);
     }
     // Get Params
-    var m = GetURLParameter('m')
-    var team = GetURLParameter('team')
-    var te = GetURLParameter('te')
-    var approver = GetURLParameter('a')
-    UpdateUrlsWithMilestone(m, team, te, approver)
+    // If user is requesting help, redirect to go link helper image
+    if (GetURLParameter('help')){
+      window.location.replace('https://screenshot.googleplex.com/7B3hsgkmYUxfB3N.png');
+    }
+    else{
+      var m = GetURLParameter('m')
+      var team = GetURLParameter('team')
+      var te = GetURLParameter('te')
+      var approver = GetURLParameter('a')
+      UpdateUrlsWithParams(m, team, te, approver)
+    }
   </script>
 </body>
 </html>