diff --git a/WebHandler/ServiceTrackerWebHandler.cs b/WebHandler/ServiceTrackerWebHandler.cs index a5dbdb9..d4d6f8a 100644 --- a/WebHandler/ServiceTrackerWebHandler.cs +++ b/WebHandler/ServiceTrackerWebHandler.cs @@ -44,14 +44,15 @@ namespace Disco.Plugins.ServiceTracker.WebHandler if (int.TryParse(F("gsColEmail"), out c)) cfg.GoogleSheet.ColEmail = c; if (int.TryParse(F("gsColDevice"), out c)) cfg.GoogleSheet.ColDeviceName = c; if (int.TryParse(F("gsColLocation"), out c)) cfg.GoogleSheet.ColLocation = c; + if (int.TryParse(F("gsColCampus"), out c)) cfg.GoogleSheet.ColCampus = c; if (int.TryParse(F("gsColIssue"), out c)) cfg.GoogleSheet.ColIssue = c; if (int.TryParse(F("gsColPriority"), out c)) cfg.GoogleSheet.ColPriority = c; if (int.TryParse(F("gsColStatus"), out c)) cfg.GoogleSheet.ColStatus = c; if (int.TryParse(F("gsColAssigned"), out c)) cfg.GoogleSheet.ColAssignedTo = c; if (int.TryParse(F("gsColRequestedBy"), out c)) cfg.GoogleSheet.ColRequestedBy = c; if (int.TryParse(F("gsColPreferredDate"), out c)) cfg.GoogleSheet.ColPreferredDate = c; - if (int.TryParse(F("gsColNotes"), out c)) cfg.GoogleSheet.ColNotes = c; if (int.TryParse(F("gsColCompletion"), out c)) cfg.GoogleSheet.ColCompletionDate = c; + if (int.TryParse(F("gsColNotes"), out c)) cfg.GoogleSheet.ColNotes = c; int hr; if (int.TryParse(F("gsHeaderRows"), out hr)) cfg.GoogleSheet.HeaderRows = hr; var techs = PJL(F("techsJson")); if (techs != null) cfg.Technicians = techs; var pris = PJL(F("prioritiesJson")); if (pris != null) cfg.Priorities = pris; @@ -85,7 +86,6 @@ namespace Disco.Plugins.ServiceTracker.WebHandler s.Append("
"); foreach (var l in m.Config.Locations) { int ct; m.Stats.ByLocation.TryGetValue(l.Id, out ct); if (ct > 0) s.Append("" + l.Icon + " " + H(l.Name) + " " + ct + ""); } s.Append("
"); s.Append("
Sort:"); foreach (var o in new[] { "newest|Newest", "due|Due", "priority|Priority", "age|Age", "sla|SLA", "modified|Updated" }) { var p = o.Split('|'); s.Append("" + p[1] + ""); } if (!string.IsNullOrEmpty(m.CurrentFilter)) s.Append(""); s.Append("
"); s.Append("
"); if (m.Tiles.Count == 0) s.Append("
✅ No open jobs
"); else foreach (var t in m.Tiles) s.Append(TileHtml(t, u)); s.Append("
"); - // Sidebar panels s.Append(""); var gs = cfg.GoogleSheet ?? new GoogleSheetConfig(); s.Append("

📄 Google Sheet (NTT)

"); - s.Append("

Column indices (0-based):

"); + s.Append("

Column indices (0-based). Set to -1 to disable a column.

"); s.Append("
"); s.Append("
"); s.Append("
"); s.Append("
"); - s.Append("
"); + s.Append("
"); s.Append("
"); s.Append("
"); s.Append("
"); - s.Append("
"); - s.Append("
"); - s.Append("
"); - s.Append("
"); + s.Append("
"); + s.Append("
"); + s.Append("
"); + s.Append("
"); + s.Append("
"); s.Append("

Use the 2PACX-... published key. Publish as CSV.

"); s.Append("

🔧 Technicians

"); foreach (var t in cfg.Technicians) { var ids = t.DiscoUserIds != null ? string.Join(", ", t.DiscoUserIds) : ""; s.Append("
"); } s.Append("
");