diff --git a/ACU/Trace.pm b/ACU/Trace.pm index 6981eea..9e08935 100644 --- a/ACU/Trace.pm +++ b/ACU/Trace.pm @@ -146,6 +146,23 @@ sub getIds return \%ids; } +sub getNonZeroIds +{ + my $self = shift; + my $login = shift; + + my %ids; + foreach my $group (@{ $self->{groups} }) + { + my %tmp = $group->getIds($login); + while (my ($key, $value) = each %tmp) + { + $ids{$key} = $value if $value; + } + } + return \%ids; +} + sub getValue { my $self = shift; diff --git a/process/files/intradata_get.pl b/process/files/intradata_get.pl index 3efbce9..294fbcd 100644 --- a/process/files/intradata_get.pl +++ b/process/files/intradata_get.pl @@ -145,7 +145,7 @@ sub grades_generate log DEBUG, "Fill from file: $path"; log TRACE, $trace->getIds($login); - $grading->fill($trace->getIds($login)); + $grading->fill($trace->getNonZeroIds($login)); } log DEBUG, "Computed grades: ".$grading->compute($login);