function setupQueryURLs()

in js/utils.js [255:356]


function setupQueryURLs(displayFuture) {
  if (!BugQueries) {
    console.log("no bug queries found.")
    return 0;
  }

  let components;
  switch (getTeam()) {
    case 'graphics':
      components = TriageConfig.jsonConfig.graphics_components;
      break;
    case 'media':
      components = TriageConfig.jsonConfig.media_components;
      break;
    case 'webrtc':
      components = TriageConfig.jsonConfig.webrtc_components;
      break;
  }

  // Do not show results for dates that are too close to today.  Only once we
  // are five days after the end of the term...
  var cutoff = new Date();
  for (var i = 0; i < BugQueries.length; i++) {
    // If this is the schedule, display all queries for the year, otherwise filter
    // out future queries.
    if (!displayFuture) {
      var dto = new Date(BugQueries[i].from);
      if (cutoff < dto) {
        continue;
      }
    }

    let search_params = "?";
    let ubsearch = "?"
    TriageConfig.jsonConfig.generic_bugzilla_search_template.forEach(function (entry) {
      search_params += entry + "&";
      ubsearch += entry + "&";
    });
    
    TriageConfig.jsonConfig.additional_bugzilla_search_params.forEach(function (entry) {
      search_params += entry + "&";
    });

    TriageConfig.jsonConfig.additional_updatebot_search_params.forEach(function (entry) {
      ubsearch += entry + "&";
    });

    //TriageConfig.jsonConfig.filtermynis_search_params.forEach(function (entry) {
    //  search_params += entry + "&";
    //});

    // --------------------------------------------------------
    // ICS dates should span 8 days since they get plugged
    // directly into bugzilla searches.
    // Bugzilla searches EXCLUDE start date, INCLUDE end date.
    // console.log(BugQueries[i].from, '->', BugQueries[i].to)
    // --------------------------------------------------------

    search_params = search_params.replace(/<COMPONENT>/g, components);
    search_params = search_params.replace(/<AFTER>/g, BugQueries[i].from).replace(/<NOT-AFTER>/g, BugQueries[i].to);
    BugQueries[i]["url"] = search_params;

    // Bugzilla updatebot searches
    ubsearch = ubsearch.replace(/<COMPONENT>/g, components);
    ubsearch = ubsearch.replace(/<AFTER>/g, BugQueries[i].from).replace(/<NOT-AFTER>/g, BugQueries[i].to);
    BugQueries[i]["uburl"] = ubsearch;
  }

  // Global searches
  let search_params = "?";
  let ubsearch = "?"
  TriageConfig.jsonConfig.generic_bugzilla_search_template.forEach(function (entry) {
    search_params += entry + "&";
    ubsearch += entry + "&";
  });
    
  TriageConfig.jsonConfig.additional_bugzilla_search_params.forEach(function (entry) {
    search_params += entry + "&";
  });

  TriageConfig.jsonConfig.additional_updatebot_search_params.forEach(function (entry) {
    ubsearch += entry + "&";
  });

  //TriageConfig.jsonConfig.filtermynis_search_params.forEach(function (entry) {
  //  search_params += entry + "&";
  //});

  // Bugzilla searches
  search_params = search_params.replace(/<COMPONENT>/g, components);
  search_params = search_params.replace('<AFTER>', TriageData.min).replace('<NOT-AFTER>', TriageData.max);
  TriageData["url"] = search_params;

  // Bugzilla updatebot searches
  ubsearch = ubsearch.replace(/<COMPONENT>/g, components);
  ubsearch = ubsearch.replace(/<AFTER>/g, TriageData.min).replace(/<NOT-AFTER>/g, TriageData.max);
  TriageData["uburl"] = ubsearch;

  // console.log(ubsearch);

  return BugQueries.length;
}