Skip to content

Commit

Permalink
Date-manager: Tests & assignments imrpove
Browse files Browse the repository at this point in the history
  • Loading branch information
JuanDavid102 committed Sep 3, 2024
1 parent bbe75a8 commit d3daec6
Showing 1 changed file with 95 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -401,20 +401,43 @@ public void updateAssignments(DateManagerValidation assignmentValidation) throws
if (StringUtils.isNotBlank(associatedGradebookAssignment)) {
// TODO S2U-26 actualizar los items relacionados..
// only update externally linked assignments since internal links are already handled
if (gradingService.isExternalAssignmentDefined(assignment.getContext(), associatedGradebookAssignment)) {
org.sakaiproject.grading.api.Assignment gAssignment = gradingService.getExternalAssignment(assignment.getContext(), associatedGradebookAssignment);
if (gAssignment != null) {
gradingService.updateExternalAssessment(
assignment.getContext(),
associatedGradebookAssignment,
null,
gAssignment.getExternalData(),
gAssignment.getName(),
gAssignment.getCategoryId(),
gAssignment.getPoints(),
Date.from(update.dueDate),
gAssignment.getUngraded()
);
String context = assignment.getContext();


List<String> contextIds = new ArrayList<>();
contextIds.add(context);
if (gradingService.isGradebookGroupEnabled(getCurrentSiteId())) {
contextIds = new ArrayList<>();
List<Gradebook> gradebooks = gradingService.getGradebookGroupInstances(context);
for (Gradebook gradebook : gradebooks) {
List<org.sakaiproject.grading.api.Assignment> groupAssignments = gradingService.getAssignments(gradebook.getUid().toString(), getCurrentSiteId(), SortType.SORT_BY_NONE);
for (org.sakaiproject.grading.api.Assignment assignmentAux : groupAssignments) {
System.out.println("Assignment: " + assignmentAux.getName() + "(" + gradebook.getUid() + "), " + assignmentAux.getId() + " --out: " + assignmentAux.getExternalId());
if (assignmentAux.getExternalId() != null && assignmentAux.getExternalId().equals(associatedGradebookAssignment)) {
System.out.println("Si");
contextIds.add(gradebook.getUid());
context = gradebook.getUid();
}
}
}
}

if (gradingService.isExternalAssignmentDefined(context, associatedGradebookAssignment)) {
for (String contextId : contextIds) {
org.sakaiproject.grading.api.Assignment gAssignment = gradingService.getExternalAssignment(context, associatedGradebookAssignment);
if (gAssignment != null) {
gradingService.updateExternalAssessment(
contextId,
associatedGradebookAssignment,
null,
gAssignment.getExternalData(),
gAssignment.getName(),
gAssignment.getCategoryId(),
gAssignment.getPoints(),
Date.from(update.dueDate),
gAssignment.getUngraded()
);
}
}
}
}
Expand Down Expand Up @@ -659,22 +682,46 @@ public void updateAssessments(DateManagerValidation assessmentsValidation) throw
samigoAvailableNotificationService.scheduleAssessmentAvailableNotification(id);

// only updating if the gradebook item exists and is external
String siteId = assessment.getOwnerSiteId();
// TODO S2U-26 TODO actualizar los relacionados samigo
if (StringUtils.isNotBlank(siteId) && gradingService.isExternalAssignmentDefined(siteId, id)) {
org.sakaiproject.grading.api.Assignment gAssignment = gradingService.getExternalAssignment(siteId, id);
if (gAssignment != null) {
gradingService.updateExternalAssessment(
siteId,
id,
null,
gAssignment.getExternalData(),
gAssignment.getName(),
gAssignment.getCategoryId(),
gAssignment.getPoints(),
dueDateTemp,
gAssignment.getUngraded()
);
String context = assessment.getOwnerSiteId();
System.out.println("13: " + context + ", " + id + " -> " + (gradingService.isExternalAssignmentDefined(context, id)));

List<String> contextIds = new ArrayList<>();
contextIds.add(context);
if (gradingService.isGradebookGroupEnabled(getCurrentSiteId())) {
contextIds = new ArrayList<>();
List<Gradebook> gradebooks = gradingService.getGradebookGroupInstances(context);
for (Gradebook gradebook : gradebooks) {
List<org.sakaiproject.grading.api.Assignment> groupAssignments = gradingService.getAssignments(gradebook.getUid().toString(), getCurrentSiteId(), SortType.SORT_BY_NONE);
for (org.sakaiproject.grading.api.Assignment assignment : groupAssignments) {
System.out.println("Assignment: " + assignment.getName() + "(" + gradebook.getUid() + "), " + assignment.getId() + " --out: " + assignment.getExternalId());
if (assignment.getExternalId() != null && assignment.getExternalId().equals(id)) {
System.out.println("Si");
contextIds.add(gradebook.getUid());
context = gradebook.getUid();
}
}
}
}



if (StringUtils.isNotBlank(context) && gradingService.isExternalAssignmentDefined(context, id)) {
for (String contextId : contextIds) {
org.sakaiproject.grading.api.Assignment gAssignment = gradingService.getExternalAssignment(contextId, id);
if (gAssignment != null) {
System.out.println("15");
gradingService.updateExternalAssessment(
contextId,
id,
null,
gAssignment.getExternalData(),
gAssignment.getName(),
gAssignment.getCategoryId(),
gAssignment.getPoints(),
dueDateTemp,
gAssignment.getUngraded()
);
}
}
}
}
Expand Down Expand Up @@ -758,8 +805,24 @@ public DateManagerValidation validateGradebookItems(String siteId, JSONArray gra
dueDate = userTimeService.parseISODateInUserTimezone(dueDateRaw).toInstant();
}

//TODO s2u-26 revisar
org.sakaiproject.grading.api.Assignment gbitem = gradingService.getAssignmentById(getCurrentSiteId(), itemId);
org.sakaiproject.grading.api.Assignment gbitem;
if (gradingService.isGradebookGroupEnabled(getCurrentSiteId())) {
List<Gradebook> gradebooks = gradingService.getGradebookGroupInstances(siteId);
String groupId = "";
for (Gradebook gra : gradebooks) {
System.out.println("---> " + gra.getId() + " |" + gra.getUid() + " |" + gra.getName());
List<org.sakaiproject.grading.api.Assignment> groupAssignments = gradingService.getAssignments(gra.getUid().toString(), getCurrentSiteId(), SortType.SORT_BY_NONE);
for (org.sakaiproject.grading.api.Assignment assignment : groupAssignments) {
if (assignment.getId().equals(itemId)) {
groupId = gra.getUid();
}
}
}
gbitem = gradingService.getAssignmentById(groupId, itemId);
} else {
gbitem = gradingService.getAssignmentById(getCurrentSiteId(), itemId);
}
System.out.println("19.1: " + gbitem.getName());
if (gbitem == null) {
errors.add(new DateManagerError("gbitem", rb.getFormattedMessage("error.item.not.found", new Object[]{rb.getString("tool.gradebook.item.name")}), "gradebookItems", toolTitle, idx));
continue;
Expand Down

0 comments on commit d3daec6

Please sign in to comment.