added setting to disable auto reminder refresh for recurring past due reminders.
This commit is contained in:
@@ -1071,20 +1071,24 @@ namespace CarCareTracker.Controllers
|
|||||||
public IActionResult GetVehicleHaveUrgentOrPastDueReminders(int vehicleId)
|
public IActionResult GetVehicleHaveUrgentOrPastDueReminders(int vehicleId)
|
||||||
{
|
{
|
||||||
var result = GetRemindersAndUrgency(vehicleId, DateTime.Now);
|
var result = GetRemindersAndUrgency(vehicleId, DateTime.Now);
|
||||||
//check for past due reminders that are eligible for recurring.
|
//check if user wants auto-refresh past-due reminders
|
||||||
var pastDueAndRecurring = result.Where(x => x.Urgency == ReminderUrgency.PastDue && x.IsRecurring);
|
if (_config.GetUserConfig(User).EnableAutoReminderRefresh)
|
||||||
if (pastDueAndRecurring.Any())
|
|
||||||
{
|
{
|
||||||
foreach (ReminderRecordViewModel reminderRecord in pastDueAndRecurring)
|
//check for past due reminders that are eligible for recurring.
|
||||||
|
var pastDueAndRecurring = result.Where(x => x.Urgency == ReminderUrgency.PastDue && x.IsRecurring);
|
||||||
|
if (pastDueAndRecurring.Any())
|
||||||
{
|
{
|
||||||
//update based on recurring intervals.
|
foreach (ReminderRecordViewModel reminderRecord in pastDueAndRecurring)
|
||||||
//pull reminderRecord based on ID
|
{
|
||||||
var existingReminder = _reminderRecordDataAccess.GetReminderRecordById(reminderRecord.Id);
|
//update based on recurring intervals.
|
||||||
existingReminder = _reminderHelper.GetUpdatedRecurringReminderRecord(existingReminder);
|
//pull reminderRecord based on ID
|
||||||
//save to db.
|
var existingReminder = _reminderRecordDataAccess.GetReminderRecordById(reminderRecord.Id);
|
||||||
_reminderRecordDataAccess.SaveReminderRecordToVehicle(existingReminder);
|
existingReminder = _reminderHelper.GetUpdatedRecurringReminderRecord(existingReminder);
|
||||||
//set urgency to not urgent so it gets excluded in count.
|
//save to db.
|
||||||
reminderRecord.Urgency = ReminderUrgency.NotUrgent;
|
_reminderRecordDataAccess.SaveReminderRecordToVehicle(existingReminder);
|
||||||
|
//set urgency to not urgent so it gets excluded in count.
|
||||||
|
reminderRecord.Urgency = ReminderUrgency.NotUrgent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//check for very urgent or past due reminders that were not eligible for recurring.
|
//check for very urgent or past due reminders that were not eligible for recurring.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ namespace CarCareTracker.Helper
|
|||||||
HideZero = bool.Parse(_config[nameof(UserConfig.HideZero)]),
|
HideZero = bool.Parse(_config[nameof(UserConfig.HideZero)]),
|
||||||
UseUKMPG = bool.Parse(_config[nameof(UserConfig.UseUKMPG)]),
|
UseUKMPG = bool.Parse(_config[nameof(UserConfig.UseUKMPG)]),
|
||||||
UseThreeDecimalGasCost = bool.Parse(_config[nameof(UserConfig.UseThreeDecimalGasCost)]),
|
UseThreeDecimalGasCost = bool.Parse(_config[nameof(UserConfig.UseThreeDecimalGasCost)]),
|
||||||
|
EnableAutoReminderRefresh = bool.Parse(_config[nameof(UserConfig.EnableAutoReminderRefresh)]),
|
||||||
VisibleTabs = _config.GetSection("VisibleTabs").Get<List<ImportMode>>(),
|
VisibleTabs = _config.GetSection("VisibleTabs").Get<List<ImportMode>>(),
|
||||||
DefaultTab = (ImportMode)int.Parse(_config[nameof(UserConfig.DefaultTab)])
|
DefaultTab = (ImportMode)int.Parse(_config[nameof(UserConfig.DefaultTab)])
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
public bool HideZero { get; set; }
|
public bool HideZero { get; set; }
|
||||||
public bool UseUKMPG {get;set;}
|
public bool UseUKMPG {get;set;}
|
||||||
public bool UseThreeDecimalGasCost { get; set; }
|
public bool UseThreeDecimalGasCost { get; set; }
|
||||||
|
public bool EnableAutoReminderRefresh { get; set; }
|
||||||
public string UserNameHash { get; set; }
|
public string UserNameHash { get; set; }
|
||||||
public string UserPasswordHash { get; set;}
|
public string UserPasswordHash { get; set;}
|
||||||
public List<ImportMode> VisibleTabs { get; set; } = new List<ImportMode>() {
|
public List<ImportMode> VisibleTabs { get; set; } = new List<ImportMode>() {
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
<input class="form-check-input" onChange="updateSettings()" type="checkbox" role="switch" id="useThreeDecimal" checked="@Model.UseThreeDecimalGasCost">
|
<input class="form-check-input" onChange="updateSettings()" type="checkbox" role="switch" id="useThreeDecimal" checked="@Model.UseThreeDecimalGasCost">
|
||||||
<label class="form-check-label" for="useThreeDecimal">Use Three Decimals For Fuel Cost</label>
|
<label class="form-check-label" for="useThreeDecimal">Use Three Decimals For Fuel Cost</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-check form-switch">
|
||||||
|
<input class="form-check-input" onChange="updateSettings()" type="checkbox" role="switch" id="enableAutoReminderRefresh" checked="@Model.EnableAutoReminderRefresh">
|
||||||
|
<label class="form-check-label" for="enableAutoReminderRefresh">Auto Refresh Lapsed Recurring Reminders</label>
|
||||||
|
</div>
|
||||||
@if (User.IsInRole(nameof(UserData.IsRootUser)))
|
@if (User.IsInRole(nameof(UserData.IsRootUser)))
|
||||||
{
|
{
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
@@ -203,6 +207,7 @@
|
|||||||
hideZero: $("#hideZero").is(":checked"),
|
hideZero: $("#hideZero").is(":checked"),
|
||||||
useUKMpg: $("#useUKMPG").is(":checked"),
|
useUKMpg: $("#useUKMPG").is(":checked"),
|
||||||
useThreeDecimalGasCost: $("#useThreeDecimal").is(":checked"),
|
useThreeDecimalGasCost: $("#useThreeDecimal").is(":checked"),
|
||||||
|
enableAutoReminderRefresh: $("#enableAutoReminderRefresh").is(":checked"),
|
||||||
visibleTabs: visibleTabs,
|
visibleTabs: visibleTabs,
|
||||||
defaultTab: defaultTab
|
defaultTab: defaultTab
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
@model List<ReminderRecordViewModel>
|
@model List<ReminderRecordViewModel>
|
||||||
@{
|
@{
|
||||||
var hasRefresh = Model.Where(x => x.Urgency == ReminderUrgency.VeryUrgent && x.IsRecurring).Any();
|
var hasRefresh = Model.Where(x => (x.Urgency == ReminderUrgency.VeryUrgent || x.Urgency == ReminderUrgency.PastDue) && x.IsRecurring).Any();
|
||||||
}
|
}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
@if (hasRefresh)
|
@if (hasRefresh)
|
||||||
{
|
{
|
||||||
<td class="col-1 text-truncate">
|
<td class="col-1 text-truncate">
|
||||||
@if(reminderRecord.Urgency == ReminderUrgency.VeryUrgent && reminderRecord.IsRecurring)
|
@if((reminderRecord.Urgency == ReminderUrgency.VeryUrgent || reminderRecord.Urgency == ReminderUrgency.PastDue) && reminderRecord.IsRecurring)
|
||||||
{
|
{
|
||||||
<button type="button" class="btn btn-secondary" onclick="markDoneReminderRecord(@reminderRecord.Id, this)"><i class="bi bi-check-lg"></i></button>
|
<button type="button" class="btn btn-secondary" onclick="markDoneReminderRecord(@reminderRecord.Id, this)"><i class="bi bi-check-lg"></i></button>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
"UseDescending": false,
|
"UseDescending": false,
|
||||||
"EnableAuth": false,
|
"EnableAuth": false,
|
||||||
"HideZero": false,
|
"HideZero": false,
|
||||||
|
"EnableAutoReminderRefresh": false,
|
||||||
"UseUKMPG": false,
|
"UseUKMPG": false,
|
||||||
"UseThreeDecimalGasCost": true,
|
"UseThreeDecimalGasCost": true,
|
||||||
"VisibleTabs": [ 0, 1, 4, 2, 3, 6, 5, 8 ],
|
"VisibleTabs": [ 0, 1, 4, 2, 3, 6, 5, 8 ],
|
||||||
|
|||||||
Reference in New Issue
Block a user