This commit is contained in:
@@ -170,11 +170,13 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
long? actualUserId = p.UserId == 0 ? null : p.UserId;
|
long? actualUserId = p.UserId == 0 ? null : p.UserId;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//WORKORDERS
|
//WORKORDERS
|
||||||
{
|
{
|
||||||
//Note: query for *overlapping* ranges, not *contained* entirely in view range
|
//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)
|
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());
|
.ToListAsync());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,6 +210,9 @@ namespace AyaNova.Api.Controllers
|
|||||||
var UserId = UserIdFromContext.Id(HttpContext.Items);
|
var UserId = UserIdFromContext.Id(HttpContext.Items);
|
||||||
var UType = UserTypeFromContext.Type(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
|
//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:
|
//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
|
//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)
|
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());
|
.ToListAsync());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,8 +337,20 @@ namespace AyaNova.Api.Controllers
|
|||||||
return s;
|
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();
|
var s = new PersonalScheduleListItem();
|
||||||
s.Id = v.WoItemSchedUserId;
|
s.Id = v.WoItemSchedUserId;
|
||||||
s.Color = ColorFromWOItem(v, p.WisuColorSource);
|
s.Color = ColorFromWOItem(v, p.WisuColorSource);
|
||||||
@@ -342,7 +359,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
s.End = (DateTime)v.StopDate;
|
s.End = (DateTime)v.StopDate;
|
||||||
s.Type = AyaType.WorkOrderItemScheduledUser;
|
s.Type = AyaType.WorkOrderItemScheduledUser;
|
||||||
s.Name = NameFromWOItem(v);
|
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;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user