fix: C#5 compat - remove GetPluginDataDirectory, use direct path

This commit is contained in:
2026-05-06 09:15:04 +10:00
parent 28505b3c98
commit 1988cbb86d
@@ -22,19 +22,12 @@ namespace Disco.Plugins.ServiceTracker.ConfigurationHandler
{ {
try try
{ {
var dataPath = GetPluginDataDirectory( var dataPath = System.IO.Path.Combine(
controller.HttpContext.Application["Disco.Plugins.ServiceTracker"] as Plugin
?? new ServiceTrackerPlugin());
if (string.IsNullOrEmpty(dataPath))
{
dataPath = System.IO.Path.Combine(
AppDomain.CurrentDomain.BaseDirectory, "App_Data", "Plugins", "Disco.Plugins.ServiceTracker"); AppDomain.CurrentDomain.BaseDirectory, "App_Data", "Plugins", "Disco.Plugins.ServiceTracker");
}
var dataStore = new ServiceTrackerDataStore(dataPath); var dataStore = new ServiceTrackerDataStore(dataPath);
var config = dataStore.LoadConfig(); var config = dataStore.LoadConfig();
// Update simple settings
var refreshStr = form["refreshSeconds"]; var refreshStr = form["refreshSeconds"];
int refresh; int refresh;
if (int.TryParse(refreshStr, out refresh) && refresh >= 10) if (int.TryParse(refreshStr, out refresh) && refresh >= 10)
@@ -50,7 +43,6 @@ namespace Disco.Plugins.ServiceTracker.ConfigurationHandler
if (!string.IsNullOrEmpty(defaultLocation)) if (!string.IsNullOrEmpty(defaultLocation))
config.DefaultLocationId = defaultLocation; config.DefaultLocationId = defaultLocation;
// Parse priorities JSON if provided
var prioritiesJson = form["prioritiesJson"]; var prioritiesJson = form["prioritiesJson"];
if (!string.IsNullOrEmpty(prioritiesJson)) if (!string.IsNullOrEmpty(prioritiesJson))
{ {
@@ -60,10 +52,9 @@ namespace Disco.Plugins.ServiceTracker.ConfigurationHandler
if (priorities != null && priorities.Count > 0) if (priorities != null && priorities.Count > 0)
config.Priorities = priorities; config.Priorities = priorities;
} }
catch { /* keep existing */ } catch { }
} }
// Parse locations JSON if provided
var locationsJson = form["locationsJson"]; var locationsJson = form["locationsJson"];
if (!string.IsNullOrEmpty(locationsJson)) if (!string.IsNullOrEmpty(locationsJson))
{ {
@@ -73,10 +64,9 @@ namespace Disco.Plugins.ServiceTracker.ConfigurationHandler
if (locations != null && locations.Count > 0) if (locations != null && locations.Count > 0)
config.Locations = locations; config.Locations = locations;
} }
catch { /* keep existing */ } catch { }
} }
// Parse status options
var statusOptionsRaw = form["statusOptions"]; var statusOptionsRaw = form["statusOptions"];
if (!string.IsNullOrEmpty(statusOptionsRaw)) if (!string.IsNullOrEmpty(statusOptionsRaw))
{ {
@@ -104,26 +94,6 @@ namespace Disco.Plugins.ServiceTracker.ConfigurationHandler
<p>Enhanced service/support tracking with priority management, location tracking, <p>Enhanced service/support tracking with priority management, location tracking,
tile dashboard, and SLA monitoring for Disco ICT jobs.</p> tile dashboard, and SLA monitoring for Disco ICT jobs.</p>
<hr /> <hr />
<h4>Features</h4>
<ul>
<li><strong>Priority Levels</strong> &mdash; Configurable priorities with SLA timeframes (Critical=4h, High=8h, Medium=24h, etc.)</li>
<li><strong>Device Location Tracking</strong> &mdash; Track where each device currently is (IT Office, With User, At Repairer, etc.)</li>
<li><strong>Tile Dashboard</strong> &mdash; Visual card-based overview of all open jobs, sorted by due date or priority</li>
<li><strong>SLA Monitoring</strong> &mdash; Automatic breach detection with visual alerts</li>
<li><strong>Activity Notes</strong> &mdash; Add timestamped notes and updates to each ticket</li>
<li><strong>Tech Workload</strong> &mdash; See job distribution across technicians</li>
<li><strong>CSV Export</strong> &mdash; Export all open tickets with metadata</li>
</ul>
<hr />
<h4>Configuration</h4>
<p>Priority levels, locations, SLA timeframes, and status options can be customised by editing
the <code>config.json</code> file in the plugin data directory, or by posting JSON data via the configuration form.</p>
<p>Default configuration is created on install with 5 priority levels (Critical through Scheduled) and
6 location options.</p>
<hr />
<p> <p>
<a href='/Plugin/Disco.Plugins.ServiceTracker/Dashboard' class='btn btn-primary btn-lg'> <a href='/Plugin/Disco.Plugins.ServiceTracker/Dashboard' class='btn btn-primary btn-lg'>
<i class='fa fa-dashboard'></i> Open Service Tracker Dashboard <i class='fa fa-dashboard'></i> Open Service Tracker Dashboard