This commit is contained in:
2023-04-28 12:21:24 +08:00
parent 156d145a48
commit 88e0a25ecd
162 changed files with 26324 additions and 7519 deletions

View File

@@ -23,24 +23,74 @@ namespace IronIntel.Contractor.Users
public AppModuleType ModuleType { get; set; }
public List<NavigateItem> SubItems { get; set; }
public List<NavigateItem> GetJobsiteNavigateItems(Tuple<Feature, Permissions>[] pmss)
{
List<NavigateItem> list = new List<NavigateItem>();
Foresight.Fleet.Services.Customer.LicenseInfo license = SystemParams.GetLicense();
var jsitem = license.Items.FirstOrDefault(m => m.Key == "JobSites");
if (jsitem == null || !Helper.IsTrue(jsitem.Value))
{
return list;
}
NavigateItem item = null;
var jsditem = license.Items.FirstOrDefault(m => m.Key == "JobsiteDispatch");
if (jsditem != null && Helper.IsTrue(jsditem.Value))
{
item = new NavigateItem();
item.ID = "nav_jobsiterequirements";
item.FeatureID = Feature.JOB_SITES_REQUIREMENTS;
item.Title = "Jobsite Requirements";
item.Url = Url + "#" + item.ID;
item.PageUrl = "JobSiteRequirements.aspx";
item.IconPath = "img/jobsiterequirements.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.JOB_SITES_REQUIREMENTS) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_dispatchrequests";
item.FeatureID = Feature.JOB_SITES_DISPATCHREQUESTS;
item.Title = "Dispatch Requests";
item.Url = Url + "#" + item.ID;
item.PageUrl = "DispatchRequests.aspx";
item.IconPath = "img/dispatch.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.JOB_SITES_DISPATCHREQUESTS) != null)
list.Add(item);
}
item = new NavigateItem();
item.ID = "nav_jobsitemanage";
item.FeatureID = Feature.JOB_SITES;
item.Title = "Jobsites";
item.Url = Url + "#" + item.ID;
item.PageUrl = "JobSiteManage.aspx";
item.IconPath = "img/jobsite.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.JOB_SITES) != null)
list.Add(item);
if (jsditem != null || Helper.IsTrue(jsditem.Value))
{
item = new NavigateItem();
item.ID = "nav_scheduler";
item.FeatureID = Feature.JOB_SITES_SCHEDULER;
item.Title = "Scheduler";
item.Url = Url + "#" + item.ID;
item.PageUrl = "SchedulerManagement.aspx";
item.IconPath = "img/scheduler.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.JOB_SITES_SCHEDULER) != null)
list.Add(item);
}
return list;
}
public List<NavigateItem> GetMaintenanceNavigateItems(Tuple<Feature, Permissions>[] pmss)
{
List<NavigateItem> list = new List<NavigateItem>();
NavigateItem item = new NavigateItem();
item.ID = "nav_alertsmanagement";
item.FeatureID = Feature.ALERTS_MANAGEMENT;
item.Title = "Alerts Management **New**";
item.Url = Url + "#" + item.ID;
item.PageUrl = "AlertsManagement.aspx";
item.IconPath = "img/alert.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.ALERTS_MANAGEMENT) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_workorder";
item.FeatureID = Feature.WORK_ORDER;
item.Title = "Work Order **New**";
item.Title = "Work Order";
item.Url = Url + "#" + item.ID;
item.PageUrl = "WorkOrderMaintenance.aspx";
item.IconPath = "img/workorder.png";
@@ -48,75 +98,93 @@ namespace IronIntel.Contractor.Users
list.Add(item);
item = new NavigateItem();
item.ID = "nav_preventative";
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.Title = "Absolute Hours Maintenance";
item.ID = "nav_workorderhis";
item.FeatureID = Feature.WORKORDERHISTORY;
item.Title = "Work Order History";
item.Url = Url + "#" + item.ID;
item.PageUrl = "PreventativeMaintenance.aspx";
item.PageUrl = "WorkOrderHistory.aspx";
item.IconPath = "img/workorderhis.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.WORKORDERHISTORY) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_alertsmanagement";
item.FeatureID = Feature.ALERTS_MANAGEMENT;
item.Title = "Alerts Management";
item.Url = Url + "#" + item.ID;
item.PageUrl = "AlertsManagement.aspx";
item.IconPath = "img/alert.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.ALERTS_MANAGEMENT) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_maintenanceschedule";
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.Title = "Maintenance Schedules";
item.Url = Url + "#" + item.ID;
item.PageUrl = "MaintenanceSchedulesManagement.aspx";
item.IconPath = "img/preventative.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_timebased";
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.Title = "Relative Time Maintenance";
item.Url = Url + "#" + item.ID;
item.PageUrl = "TimeBasedMaintenance.aspx";
item.IconPath = "img/timebased.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_hours";
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.Title = "Relative Hours Maintenance";
item.Url = Url + "#" + item.ID;
item.PageUrl = "HoursMaintenance.aspx";
item.IconPath = "img/hours.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_absolutedistance";
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.Title = "Absolute Distance Maintenance";
item.Url = Url + "#" + item.ID;
item.PageUrl = "AbsoluteDistanceMaintenance.aspx";
item.IconPath = "img/preventative.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null)
list.Add(item);
item = new NavigateItem();
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.ID = "nav_relativedistance";
item.Title = "Relative Distance Maintenance";
item.Url = Url + "#" + item.ID;
item.PageUrl = "RelativeDistanceMaintenance.aspx";
item.IconPath = "img/hours.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_record";
item.FeatureID = Feature.PREVENTATIVE_MAINTENANCE;
item.Title = "Maintenance Record **Legacy**";
item.Title = "Maintenance Record";
item.Url = Url + "#" + item.ID;
item.PageUrl = "MaintanceRecordsManagement.aspx";
item.IconPath = "img/record.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null)
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE) != null
&& pmss.FirstOrDefault(m => m.Item1.Id == Feature.MAINTENANCE_RECORD) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_fuelrecord";
item.FeatureID = Feature.FUEL_RECORDS;
item.Title = "Fuel Records";
item.Url = Url + "#" + item.ID;
item.PageUrl = "FuelRecordManagement.aspx";
item.IconPath = "img/fuelrecord.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.FUEL_RECORDS) != null)
{
item = new NavigateItem();
item.ID = "nav_fuelrecord";
item.FeatureID = Feature.FUEL_RECORDS;
item.Title = "Fuel Records";
item.Url = Url + "#" + item.ID;
item.PageUrl = "FuelRecordManagement.aspx";
item.IconPath = "img/fuelrecord.png";
list.Add(item);
}
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.CUSTOMER_RECORD) != null)
{
item = new NavigateItem();
item.ID = "nav_customerrecord";
item.FeatureID = Feature.CUSTOMER_RECORD;
item.Title = "Customer Record";
item.Url = Url + "#" + item.ID;
item.PageUrl = "CustomerRecordManagement.aspx";
item.IconPath = "img/customerrecord.png?v=1";
list.Add(item);
item = new NavigateItem();
item.ID = "nav_surveymanagementresult";
item.FeatureID = Feature.WORKORDERSURVEYS;
item.Title = "Survey Management/Result";
item.Url = Url + "#" + item.ID;
item.PageUrl = "SurveyManagement.aspx";
list.Add(item);
item = new NavigateItem();
item.ID = "nav_wosurveytemplate";
item.FeatureID = -1;
item.Title = "Templates";
item.Url = Url + "#" + item.ID;
item.PageUrl = "SurveyTemplateManagement.aspx";
list.Add(item);
item = new NavigateItem();
item.ID = "nav_wosurveytemplatereport";
item.FeatureID = -1;
item.Title = "Report";
item.Url = Url + "#" + item.ID;
item.PageUrl = "SurveyTemplateReport.aspx";
list.Add(item);
}
return list;
}
@@ -178,7 +246,8 @@ namespace IronIntel.Contractor.Users
item.Url = Url + "#" + item.ID;
item.PageUrl = "CurfewManage.aspx";
item.IconPath = "img/curfew.png";
list.Add(item);
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.CURFEW_CONFIG) != null)
list.Add(item);
if (user.UserType == UserTypes.SupperAdmin)
{
@@ -189,7 +258,8 @@ namespace IronIntel.Contractor.Users
item.Url = Url + "#" + item.ID;
item.PageUrl = "CurfewMovementTolerance.aspx";
item.IconPath = "img/curfewmovementtolerance.png";
list.Add(item);
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.CURFEW_CONFIG) != null)
list.Add(item);
}
return list;
@@ -250,6 +320,70 @@ namespace IronIntel.Contractor.Users
return list;
}
public List<NavigateItem> GetCredentialNavigateItems(Tuple<Feature, Permissions>[] pmss, UserInfo user)
{
List<NavigateItem> list = new List<NavigateItem>();
NavigateItem item = new NavigateItem();
item.ID = "nav_credential";
item.FeatureID = Feature.CREDENTIALS;
item.Title = "Credentials";
item.Url = Url + "#" + item.ID;
item.PageUrl = "ManageCredential.aspx";
item.IconPath = "img/credential.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.CREDENTIALS) != null)
list.Add(item);
item = new NavigateItem();
item.ID = "nav_jdlink";
item.FeatureID = Feature.JDLINK;
item.Title = "JD Link";
item.Url = Url + "#" + item.ID;
item.PageUrl = "ManageJDLink.aspx";
item.IconPath = "img/jdlink.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.JDLINK) != null)
list.Add(item);
//item = new NavigateItem();
//item.ID = "nav_jdnotification";
//item.FeatureID = Feature.JDNOTIFICATION;
//item.Title = "JohnDeere Notifications";
//item.Url = Url + "#" + item.ID;
//item.PageUrl = "ManageJDNotifications.aspx";
//item.IconPath = "img/jdnotifications.png";
//if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.JDNOTIFICATION) != null)
// list.Add(item);
item = new NavigateItem();
item.ID = "nav_apicredential";
item.FeatureID = Feature.APICREDENTIALS;
item.Title = "API Credentials";
item.Url = Url + "#" + item.ID;
item.PageUrl = "ManageAPICredential.aspx";
item.IconPath = "img/apicredential.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.APICREDENTIALS) != null)
list.Add(item);
return list;
}
public List<NavigateItem> GetOTRConfigNavigateItems(Tuple<Feature, Permissions>[] pmss, UserInfo user)
{
List<NavigateItem> list = new List<NavigateItem>();
NavigateItem item = new NavigateItem();
item.ID = "nav_manageharshdriving";
item.FeatureID = Feature.HARSH_DRIVING;
item.Title = "Manage Harsh Driving";
item.Url = Url + "#" + item.ID;
item.PageUrl = "ManageHarshDriving.aspx";
item.IconPath = "img/harshdriving.png";
if (pmss.FirstOrDefault(m => m.Item1.Id == Feature.HARSH_DRIVING) != null)
list.Add(item);
return list;
}
}
public class NavigateItem
@@ -270,6 +404,14 @@ namespace IronIntel.Contractor.Users
public string IconPath { get; set; }
}
public class CredentialNavigateItem
{
public string ID { get; set; }
public string Title { get; set; }
public string Url { get; set; }
public string IconPath { get; set; }
}
public enum AppModuleType
{
System,