This commit is contained in:
@@ -170,11 +170,13 @@ namespace AyaNova.Api.Controllers
|
||||
|
||||
long? actualUserId = p.UserId == 0 ? null : p.UserId;
|
||||
|
||||
|
||||
|
||||
//WORKORDERS
|
||||
{
|
||||
//Note: query for *overlapping* ranges, not *contained* entirely in view range
|
||||
r.AddRange(await ct.ViewScheduleWorkOrder.Where(x => x.SchedUserId == actualUserId && ViewStart <= x.StopDate && x.StartDate <= ViewEnd)
|
||||
.Select(x => MakePersonalWOSchedItem(x, p))
|
||||
.Select(x => MakePersonalWOSchedItem(x, p, false))//this is the drill down by service manager route so assume they can edit here
|
||||
.ToListAsync());
|
||||
}
|
||||
|
||||
@@ -208,6 +210,9 @@ namespace AyaNova.Api.Controllers
|
||||
var UserId = UserIdFromContext.Id(HttpContext.Items);
|
||||
var UType = UserTypeFromContext.Type(HttpContext.Items);
|
||||
|
||||
//Need to make sure send not editable for wisu events if restricted user
|
||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||
bool UserIsRestrictedType = biz.UserIsRestrictedType;
|
||||
|
||||
//Note: query will return records that fall within viewed range even if they start or end outside of it
|
||||
//However in month view (only, rest are as is) we can see up to 6 days before or after the month so in the interest of filling those voids:
|
||||
@@ -226,7 +231,7 @@ namespace AyaNova.Api.Controllers
|
||||
{
|
||||
//Note: query for *overlapping* ranges, not *contained* entirely in view range
|
||||
r.AddRange(await ct.ViewScheduleWorkOrder.Where(x => x.SchedUserId == UserId && ViewStart <= x.StopDate && x.StartDate <= ViewEnd)
|
||||
.Select(x => MakePersonalWOSchedItem(x, p))
|
||||
.Select(x => MakePersonalWOSchedItem(x, p, UserIsRestrictedType))
|
||||
.ToListAsync());
|
||||
}
|
||||
|
||||
@@ -332,8 +337,20 @@ namespace AyaNova.Api.Controllers
|
||||
return s;
|
||||
}
|
||||
|
||||
private static PersonalScheduleListItem MakePersonalWOSchedItem(ViewScheduleWorkOrder v, PersonalScheduleParams p)
|
||||
private static PersonalScheduleListItem MakePersonalWOSchedItem(ViewScheduleWorkOrder v, PersonalScheduleParams p, bool userIsRestrictedType)
|
||||
{
|
||||
bool canEdit = true;
|
||||
if (userIsRestrictedType)
|
||||
canEdit = false;
|
||||
if (v.WorkOrderStatusCompleted == true)
|
||||
{
|
||||
canEdit = false;
|
||||
}
|
||||
if (v.WorkOrderStatusLocked == true)
|
||||
{
|
||||
canEdit = false;
|
||||
}
|
||||
|
||||
var s = new PersonalScheduleListItem();
|
||||
s.Id = v.WoItemSchedUserId;
|
||||
s.Color = ColorFromWOItem(v, p.WisuColorSource);
|
||||
@@ -342,7 +359,7 @@ namespace AyaNova.Api.Controllers
|
||||
s.End = (DateTime)v.StopDate;
|
||||
s.Type = AyaType.WorkOrderItemScheduledUser;
|
||||
s.Name = NameFromWOItem(v);
|
||||
s.Editable = v.WorkOrderStatusCompleted != true && v.WorkOrderStatusLocked != true;//could be null as well which we'll consider open as it's no status set
|
||||
s.Editable = canEdit;
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user