From f5ff3c83b3890c746f2fdd2c026cfa8659bb9e43 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Thu, 9 Jan 2014 18:00:29 +0100 Subject: [PATCH] Grades from defenses are now the same for the group --- ACU/Trace.pm | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/ACU/Trace.pm b/ACU/Trace.pm index 97f3edf..865449b 100644 --- a/ACU/Trace.pm +++ b/ACU/Trace.pm @@ -133,14 +133,23 @@ sub getIds { my $self = shift; my $login = shift; + my $onlyNonZero = shift // 0; my %ids; foreach my $group (@{ $self->{groups} }) { - my %tmp = $group->getIds($login); + my %tmp; + if ($self->{type} eq "defense") + { + # For a defense, we consider that this is a group grade, so don't consider login filtering + %tmp = $group->getIds(); + } else { + %tmp = $group->getIds($login); + } + while (my ($key, $value) = each %tmp) { - $ids{$key} = $value; + $ids{$key} = $value if !$onlyNonZero || $value; } } return \%ids; @@ -148,19 +157,7 @@ sub getIds 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; + return getIds($_[0], $_[1], 1); } sub getValue