[LON-CAPA-cvs] cvs: loncom /homework grades.pm
raeburn
raeburn at source.lon-capa.org
Sat Aug 16 18:34:08 EDT 2025
raeburn Sat Aug 16 22:34:08 2025 EDT
Modified files:
/loncom/homework grades.pm
Log:
- Escape each matching collaborator (uname:udom) before setting form element
value to : separated partID and collaborators. Unescape each collaborator
to extract uname and udom before calling &saveHandGrade().
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.814 loncom/homework/grades.pm:1.815
--- loncom/homework/grades.pm:1.814 Sat Aug 16 11:25:19 2025
+++ loncom/homework/grades.pm Sat Aug 16 22:34:08 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.814 2025/08/16 11:25:19 raeburn Exp $
+# $Id: grades.pm,v 1.815 2025/08/16 22:34:08 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3875,8 +3875,8 @@
$result.='</ol><br />'."\n";
my ($part)=split(/\./,$part);
$result.='<input type="hidden" name="collaborator'.$counter.
- '" value="'.$part.':'.(join ':', at good_collaborators).'" />'.
- "\n";
+ '" value="'.$part.':'.(join ':',map { &escape($_); } @good_collaborators).'" />'.
+ "\n";
}
if (scalar(@bad_collaborators) > 0) {
$result.='<div class="LC_warning">';
@@ -4288,9 +4288,11 @@
my @collabstrs=&Apache::loncommon::get_env_multiple("form.collaborator$ctr");
foreach my $collabstr (@collabstrs) {
my ($part, at collaborators) = split(/:/,$collabstr);
+ @collaborators = map { &unescape($_); } @collaborators;
foreach my $collaborator (@collaborators) {
+ my ($collabuname,$collabudom) = split(/:/,$collaborator);
my ($errorflag,$pts,$wgt,$numchg,$numupdate) =
- &saveHandGrade($request,$symb,$collaborator,$udom,$ctr,
+ &saveHandGrade($request,$symb,$collabuname,$collabudom,$ctr,
$env{'form.unamedom'.$ctr},$part,\%queueable);
if ($errorflag eq 'not_allowed') {
$request->print("<span class=\"LC_error\">".&mt('Not allowed to modify grades for [_1]',"$collaborator:$udom")."</span>");
More information about the LON-CAPA-cvs
mailing list