mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-25 23:28:33 -06:00
module item sorting fixed
This commit is contained in:
@@ -39,7 +39,7 @@
|
|||||||
@onclick="OnClick"
|
@onclick="OnClick"
|
||||||
role="button"
|
role="button"
|
||||||
>
|
>
|
||||||
<ModuleItemLayout Name=Quiz.Name IsSyncedWithCanvas=existsInCanvas>
|
<ModuleItemLayout Name=@Quiz.Name IsSyncedWithCanvas=@existsInCanvas>
|
||||||
@if(!existsInCanvas)
|
@if(!existsInCanvas)
|
||||||
{
|
{
|
||||||
<div class="mx-3 text-body-tertiary">
|
<div class="mx-3 text-body-tertiary">
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ public class AssignmentEditorContext
|
|||||||
}
|
}
|
||||||
// Console.WriteLine(JsonSerializer.Serialize(Assignment.LocalAssignmentGroupName));
|
// Console.WriteLine(JsonSerializer.Serialize(Assignment.LocalAssignmentGroupName));
|
||||||
// Console.WriteLine(JsonSerializer.Serialize(planner.LocalCourse.Settings.AssignmentGroups));
|
// Console.WriteLine(JsonSerializer.Serialize(planner.LocalCourse.Settings.AssignmentGroups));
|
||||||
|
|
||||||
var canvasAssignmentGroupId = Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups);
|
var canvasAssignmentGroupId = Assignment.GetCanvasAssignmentGroupId(planner.LocalCourse.Settings.AssignmentGroups);
|
||||||
|
|
||||||
if (canvasAssignmentGroupId == null)
|
if (canvasAssignmentGroupId == null)
|
||||||
@@ -154,12 +154,13 @@ public class AssignmentEditorContext
|
|||||||
(ulong)courseCanvasId,
|
(ulong)courseCanvasId,
|
||||||
canvasModule.Id,
|
canvasModule.Id,
|
||||||
Assignment.Name,
|
Assignment.Name,
|
||||||
|
|
||||||
"Assignment",
|
"Assignment",
|
||||||
createdAssignmentCanvasId
|
createdAssignmentCanvasId
|
||||||
);
|
);
|
||||||
|
|
||||||
await planner.LocalCourse.Modules.First().SortModuleItems(
|
var module = getCurrentLocalModule(Assignment, planner.LocalCourse);
|
||||||
|
await module.SortModuleItems(
|
||||||
(ulong)courseCanvasId,
|
(ulong)courseCanvasId,
|
||||||
canvasModule.Id,
|
canvasModule.Id,
|
||||||
canvas
|
canvas
|
||||||
|
|||||||
@@ -121,7 +121,8 @@ public class PageEditorContext(
|
|||||||
canvasPage
|
canvasPage
|
||||||
);
|
);
|
||||||
|
|
||||||
await planner.LocalCourse.Modules.First().SortModuleItems(
|
var currentModule = getCurrentLocalModule(Page, planner.LocalCourse);
|
||||||
|
await currentModule.SortModuleItems(
|
||||||
(ulong)courseCanvasId,
|
(ulong)courseCanvasId,
|
||||||
canvasModule.Id,
|
canvasModule.Id,
|
||||||
canvas
|
canvas
|
||||||
|
|||||||
@@ -40,15 +40,20 @@ public static partial class ModuleSyncronizationExtensions
|
|||||||
var canvasModuleItems = await canvas.Modules.GetModuleItems(canvasId, moduleCanvasId);
|
var canvasModuleItems = await canvas.Modules.GetModuleItems(canvasId, moduleCanvasId);
|
||||||
var moduleItemsInCorrectOrder = canvasModuleItems
|
var moduleItemsInCorrectOrder = canvasModuleItems
|
||||||
.OrderBy(canvasItem => {
|
.OrderBy(canvasItem => {
|
||||||
|
|
||||||
if(canvasItem.Type == "Page")
|
if(canvasItem.Type == "Page")
|
||||||
{
|
{
|
||||||
var localPage = localModule.Pages.FirstOrDefault(p => p.Name == canvasItem.Title);
|
var localPage = localModule.Pages.FirstOrDefault(p => p.Name == canvasItem.Title);
|
||||||
|
Console.WriteLine(JsonSerializer.Serialize(localModule.Pages));
|
||||||
|
|
||||||
if(localPage != null)
|
if(localPage != null)
|
||||||
return localPage.DueAt;
|
return localPage.DueAt.Date;
|
||||||
}
|
}
|
||||||
return canvasItem.ContentDetails?.DueAt;
|
return canvasItem.ContentDetails?.DueAt?.Date;
|
||||||
})
|
})
|
||||||
.Select((a, i) => (Item: a, Position: i + 1));
|
.ThenBy(canvasItem => canvasItem.Title)
|
||||||
|
.Select((a, i) => (Item: a, Position: i + 1))
|
||||||
|
.ToArray();
|
||||||
|
|
||||||
foreach (var (moduleItem, position) in moduleItemsInCorrectOrder)
|
foreach (var (moduleItem, position) in moduleItemsInCorrectOrder)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ public class CanvasAssignmentService(
|
|||||||
assignments =>
|
assignments =>
|
||||||
assignments.Select(
|
assignments.Select(
|
||||||
a => a with { DueAt = a.DueAt?.ToLocalTime(), LockAt = a.LockAt?.ToLocalTime() }
|
a => a with { DueAt = a.DueAt?.ToLocalTime(), LockAt = a.LockAt?.ToLocalTime() }
|
||||||
)
|
).ToArray()
|
||||||
);
|
).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ulong> Create(
|
public async Task<ulong> Create(
|
||||||
|
|||||||
@@ -62,7 +62,16 @@ public class CanvasModuleService
|
|||||||
var (items, response) = await webRequestor.GetAsync<IEnumerable<CanvasModuleItem>>(request);
|
var (items, response) = await webRequestor.GetAsync<IEnumerable<CanvasModuleItem>>(request);
|
||||||
if (items == null)
|
if (items == null)
|
||||||
throw new Exception($"Error getting canvas module items for {url}");
|
throw new Exception($"Error getting canvas module items for {url}");
|
||||||
return items;
|
return items.Select(i =>
|
||||||
|
i with {
|
||||||
|
ContentDetails = i.ContentDetails == null
|
||||||
|
? null
|
||||||
|
: i.ContentDetails with {
|
||||||
|
DueAt = i.ContentDetails.DueAt?.ToLocalTime(),
|
||||||
|
LockAt = i.ContentDetails.LockAt?.ToLocalTime(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Dictionary<CanvasModule, IEnumerable<CanvasModuleItem>>> GetAllModulesItems(
|
public async Task<Dictionary<CanvasModule, IEnumerable<CanvasModuleItem>>> GetAllModulesItems(
|
||||||
@@ -90,4 +99,4 @@ public class CanvasModuleService
|
|||||||
}
|
}
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class CanvasService(
|
|||||||
CanvasQuizService Quizzes,
|
CanvasQuizService Quizzes,
|
||||||
CanvasCoursePageService Pages,
|
CanvasCoursePageService Pages,
|
||||||
MyLogger<CanvasService> logger
|
MyLogger<CanvasService> logger
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
private readonly IWebRequestor webRequestor = webRequestor;
|
private readonly IWebRequestor webRequestor = webRequestor;
|
||||||
private readonly CanvasServiceUtils utils = utils;
|
private readonly CanvasServiceUtils utils = utils;
|
||||||
|
|||||||
4
build.sh
4
build.sh
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
|
|
||||||
MAJOR_VERSION="1"
|
MAJOR_VERSION="1"
|
||||||
MINOR_VERSION="4"
|
MINOR_VERSION="5"
|
||||||
VERSION="$MAJOR_VERSION.$MINOR_VERSION"
|
VERSION="$MAJOR_VERSION.$MINOR_VERSION"
|
||||||
|
|
||||||
dotnet publish Management.Web/ \
|
dotnet publish Management.Web/ \
|
||||||
@@ -22,4 +22,4 @@ echo "docker image tag canvas_management:$MAJOR_VERSION alexmickelson/canvas_man
|
|||||||
echo "docker image tag canvas_management:latest alexmickelson/canvas_management:latest"
|
echo "docker image tag canvas_management:latest alexmickelson/canvas_management:latest"
|
||||||
echo "docker push alexmickelson/canvas_management:$VERSION"
|
echo "docker push alexmickelson/canvas_management:$VERSION"
|
||||||
echo "docker push alexmickelson/canvas_management:$MAJOR_VERSION"
|
echo "docker push alexmickelson/canvas_management:$MAJOR_VERSION"
|
||||||
echo "docker push alexmickelson/canvas_management:latest"
|
echo "docker push alexmickelson/canvas_management:latest"
|
||||||
|
|||||||
Reference in New Issue
Block a user