feature: job preferences - On Device Ready For Return expression

This commit is contained in:
Gary Sharp
2024-05-16 22:09:42 +10:00
parent 565e1707ce
commit bb846d14c5
14 changed files with 416 additions and 40 deletions
@@ -1604,12 +1604,13 @@ namespace Disco.Web.Areas.API.Controllers
[DiscoAuthorize(Claims.Job.Properties.DeviceReadyForReturn)]
public virtual ActionResult DeviceReadyForReturn(int id, bool redirect)
{
Database.Configuration.LazyLoadingEnabled = true;
var j = Database.Jobs.Find(id);
if (j != null)
{
if (j.CanDeviceReadyForReturn())
{
j.OnDeviceReadyForReturn(CurrentUser);
j.OnDeviceReadyForReturn(Database, Database.Users.Find(CurrentUser.UserId));
Database.SaveChanges();
if (redirect)
@@ -143,6 +143,30 @@ namespace Disco.Web.Areas.API.Controllers
return Json("OK", JsonRequestBehavior.AllowGet);
}
[DiscoAuthorize(Claims.Config.JobPreferences.Configure)]
public virtual ActionResult UpdateOnDeviceReadyForReturnExpression(string OnDeviceReadyForReturnExpression, bool redirect = false)
{
string expression = null;
if (!string.IsNullOrWhiteSpace(OnDeviceReadyForReturnExpression))
{
expression = OnDeviceReadyForReturnExpression.Trim();
}
if (Database.DiscoConfiguration.JobPreferences.OnDeviceReadyForReturnExpression != expression)
{
Database.DiscoConfiguration.JobPreferences.OnDeviceReadyForReturnExpression = expression;
Database.SaveChanges();
Jobs.OnDeviceReadyForReturnExpressionInvalidateCache();
}
if (redirect)
return RedirectToAction(MVC.Config.JobPreferences.Index());
else
return Json("OK", JsonRequestBehavior.AllowGet);
}
[DiscoAuthorize(Claims.Config.JobPreferences.Configure)]
public virtual ActionResult UpdateOnCloseExpression(string OnCloseExpression, bool redirect = false)
{