Skip to content

Commit

Permalink
SAK-43477 Added author id to evaluation persistence (sakaiproject#8077)
Browse files Browse the repository at this point in the history
adrianfish authored and ern committed Apr 8, 2020
1 parent f610502 commit c8ee346
Showing 10 changed files with 91 additions and 88 deletions.
Original file line number Diff line number Diff line change
@@ -1370,7 +1370,7 @@ public String buildMainPanelContext(VelocityPortlet portlet, Context context, Ru

return template;

} // buildNormalContext
} // buildMainPanelContext

/**
* local function for getting assignment object
Original file line number Diff line number Diff line change
@@ -352,6 +352,7 @@
tool-id="sakai.assignment"
entity-id="$assignment.Id"
evaluated-item-id="$submission.Id"
evaluated-item-owner-id="$submitterId"

#if($!rbcs-state-details && "$!rbcs-state-details" != "")
state-details='$rbcs-state-details'
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- start: chef_assignments_instructor_grading_submission.vm -->
<!-- start: chef_assignments_instructor_grading_submission_withgrader.vm -->
#set( $H = '-' )
#javascript("/library/js/lang-datepicker/lang-datepicker.js")

Original file line number Diff line number Diff line change
@@ -321,52 +321,52 @@ public boolean isVisible() {

gradeScore.add(new Label("outOf").setVisible(false));

final WebMarkupContainer sakaiRubricPreview = new WebMarkupContainer("sakai-rubric-student-button");
sakaiRubricPreview.add(AttributeModifier.append("display", "icon"));
sakaiRubricPreview.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_GRADEBOOKNG));
sakaiRubricPreview.add(AttributeModifier.append("evaluated-item-id", assignment.getId() + "." + studentUuid));
sakaiRubricPreview.add(AttributeModifier.append("token", rubricsService.generateJsonWebToken(RubricsConstants.RBCS_TOOL_GRADEBOOKNG)));
final WebMarkupContainer sakaiRubricButton = new WebMarkupContainer("sakai-rubric-student-button");
sakaiRubricButton.add(AttributeModifier.append("display", "icon"));
sakaiRubricButton.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_GRADEBOOKNG));
sakaiRubricButton.add(AttributeModifier.append("evaluated-item-id", assignment.getId() + "." + studentUuid));
sakaiRubricButton.add(AttributeModifier.append("token", rubricsService.generateJsonWebToken(RubricsConstants.RBCS_TOOL_GRADEBOOKNG)));

addInstructorAttributeOrHide(sakaiRubricPreview, assignment.getId(), studentUuid, showingStudentView);
addInstructorAttributeOrHide(sakaiRubricButton, assignment.getId(), studentUuid, showingStudentView);

if (assignment.getId() != null) {
sakaiRubricPreview.add(AttributeModifier.append("entity-id", assignment.getId()));
sakaiRubricButton.add(AttributeModifier.append("entity-id", assignment.getId()));
}

gradeScore.add(sakaiRubricPreview);
gradeScore.add(sakaiRubricButton);
} else {
gradeScore.add(
new Label("grade", FormatHelper.convertEmptyGradeToDash(FormatHelper.formatGradeForDisplay(rawGrade))));
gradeScore.add(new Label("outOf",
new StringResourceModel("label.studentsummary.outof", null, assignment.getPoints())));

final WebMarkupContainer sakaiRubricPreview = new WebMarkupContainer("sakai-rubric-student-button");
sakaiRubricPreview.add(AttributeModifier.append("display", "icon"));
sakaiRubricPreview.add(AttributeModifier.append("token", rubricsService.generateJsonWebToken(RubricsConstants.RBCS_TOOL_GRADEBOOKNG)));
final WebMarkupContainer sakaiRubricButton = new WebMarkupContainer("sakai-rubric-student-button");
sakaiRubricButton.add(AttributeModifier.append("display", "icon"));
sakaiRubricButton.add(AttributeModifier.append("token", rubricsService.generateJsonWebToken(RubricsConstants.RBCS_TOOL_GRADEBOOKNG)));

addInstructorAttributeOrHide(sakaiRubricPreview, assignment.getId(), studentUuid, showingStudentView);
addInstructorAttributeOrHide(sakaiRubricButton, assignment.getId(), studentUuid, showingStudentView);

if (assignment.isExternallyMaintained()) {
sakaiRubricPreview.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_ASSIGNMENT));
sakaiRubricButton.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_ASSIGNMENT));
String[] bits = assignment.getExternalId().split("/");
if (bits != null && bits.length >= 1) {
String assignmentId = bits[bits.length-1];
String submissionId = rubricsService.getRubricEvaluationObjectId(assignmentId, studentUuid, RubricsConstants.RBCS_TOOL_ASSIGNMENT);
sakaiRubricPreview.add(AttributeModifier.append("entity-id", assignmentId));
sakaiRubricPreview.add(AttributeModifier.append("evaluated-item-id", submissionId));
sakaiRubricButton.add(AttributeModifier.append("entity-id", assignmentId));
sakaiRubricButton.add(AttributeModifier.append("evaluated-item-id", submissionId));
} else {
log.warn(assignment.getExternalId() + " is not a valid assignment reference");
}
} else {
sakaiRubricPreview.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_GRADEBOOKNG));
sakaiRubricPreview.add(AttributeModifier.append("evaluated-item-id", assignment.getId() + "." + studentUuid));
sakaiRubricButton.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_GRADEBOOKNG));
sakaiRubricButton.add(AttributeModifier.append("evaluated-item-id", assignment.getId() + "." + studentUuid));

if (assignment.getId() != null) {
sakaiRubricPreview.add(AttributeModifier.append("entity-id", assignment.getId()));
sakaiRubricButton.add(AttributeModifier.append("entity-id", assignment.getId()));
}
}

gradeScore.add(sakaiRubricPreview);
gradeScore.add(sakaiRubricButton);
}
if (gradeInfo != null && gradeInfo.isDroppedFromCategoryScore()) {
gradeScore.add(AttributeModifier.append("class", "gb-summary-grade-score-dropped"));
@@ -391,15 +391,15 @@ public boolean isVisible() {
});
}

private void addInstructorAttributeOrHide(WebMarkupContainer sakaiRubricPreviewButton, Long assignmentId, String studentId, boolean showingStudentView) {
private void addInstructorAttributeOrHide(WebMarkupContainer sakaiRubricButton, Long assignmentId, String studentId, boolean showingStudentView) {

if (!showingStudentView && (GradeSummaryTablePanel.this.getUserRole() == GbRole.INSTRUCTOR
|| GradeSummaryTablePanel.this.getUserRole() == GbRole.TA)) {
sakaiRubricPreviewButton.add(AttributeModifier.append("instructor", true));
sakaiRubricButton.add(AttributeModifier.append("instructor", true));
} else {
GradeDefinition gradeDefinition = businessService.getGradeForStudentForItem(studentId, assignmentId);
if (gradeDefinition.getGrade() == null) {
sakaiRubricPreviewButton.setVisible(false);
sakaiRubricButton.setVisible(false);
}
}
}
Original file line number Diff line number Diff line change
@@ -74,7 +74,8 @@ public void onInitialize() {
sakaiRubricGrading.add(AttributeModifier.append("tool-id", RubricsConstants.RBCS_TOOL_GRADEBOOKNG));
sakaiRubricGrading.add(AttributeModifier.append("entity-id", assignmentId));
sakaiRubricGrading.add(AttributeModifier.append("evaluated-item-id", assignmentId + "." + studentUuid));
sakaiRubricGrading.add(AttributeModifier.append("token", rubricsService.generateJsonWebToken(RubricsConstants.RBCS_TOOL_GRADEBOOKNG)));
sakaiRubricGrading.add(AttributeModifier.append("evaluated-item-owner-id", studentUuid));
sakaiRubricGrading.add(AttributeModifier.append("token", rubricsService.generateJsonWebToken(RubricsConstants.RBCS_TOOL_GRADEBOOKNG)));
form.add(sakaiRubricGrading);

final GbAjaxButton submit = new GbAjaxButton("submit") {
Original file line number Diff line number Diff line change
@@ -6535,7 +6535,7 @@ public String generatePermissionScript(){
PermissionLevel contributorLevel = permissionLevelManager.getDefaultContributorPermissionLevel();

StringBuilder sBuffer = new StringBuilder();
sBuffer.append("<script type=\"text/javascript\">\n");
sBuffer.append("<script>\n");
sBuffer.append("var ownerLevelArray = " + ownerLevel + ";\n");
sBuffer.append("var authorLevelArray = " + authorLevel + ";\n");
sBuffer.append("var noneditingAuthorLevelArray = " + noneditingAuthorLevel + ";\n");
Original file line number Diff line number Diff line change
@@ -207,6 +207,7 @@
tool-id="sakai.gradebookng"
entity-id='<%= entityId %>'
evaluated-item-id='<%= rbcsEvaluationId %>'
evaluated-item-owner-id='<h:outputText value="#{ForumTool.selectedMessage.message.authorId}" />'
></sakai-rubric-grading>
<%}%>

Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ export class SakaiRubricGrading extends RubricsElement {
super();

this.selectedRatings = [];
this.existingEvalution = false;
this.existingEvaluation = false;

this.rubric = { title: "" };
this.criteria = [];
@@ -28,6 +28,7 @@ export class SakaiRubricGrading extends RubricsElement {
toolId: { attribute: "tool-id", type: String },
entityId: { attribute: "entity-id", type: String },
evaluatedItemId: { attribute: "evaluated-item-id", type: String },
evaluatedItemOwnerId: { attribute: "evaluated-item-owner-id", type: String },

// Non attribute
evaluation: { type: Object },
@@ -209,7 +210,7 @@ export class SakaiRubricGrading extends RubricsElement {
let evaluation = {
evaluatorId: window.top.portal.user.id,
evaluatedItemId: this.evaluatedItemId,
evaluatedItemOwnerId: window.top.portal.siteId,
evaluatedItemOwnerId: this.evaluatedItemOwnerId,
overallComment: "",
criterionOutcomes: crit,
toolItemRubricAssociation: this.association._links.self.href,
@@ -331,7 +332,7 @@ export class SakaiRubricGrading extends RubricsElement {
this.evaluation = data._embedded.evaluations[0] || { criterionOutcomes: [] };
this.selectedRatings = this.evaluation.criterionOutcomes.map(ed => ed.selectedRatingId);
if (this.criteria) this.decorateCriteria();
this.existingEvalution = true;
this.existingEvaluation = true;

this.rubric = rubric;

Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@
tool-id="sakai.samigo"
entity-id='<h:outputText value="pub.#{questionScores.publishedId}.#{questionScores.itemId}"/>'
evaluated-item-id='<h:outputText value="#{description.assessmentGradingId}.#{questionScores.itemId}" />'
evaluated-item-owner-id='<h:outputText value="#{description.idString}" />'
item-id='<h:outputText value="#{description.assessmentGradingId}"/>'
</sakai-rubric-grading>
</div>
Loading

0 comments on commit c8ee346

Please sign in to comment.