X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FGruntmaster%2FData.pm;h=a12e476d8036064cb1c77c708b9a25388e1ba8c4;hb=91203bd53e7e96ab65976297ea6e95041d5feaac;hp=e8ce571cba8c3b378300f18e965c36afb34e9e88;hpb=3473324bb17b1f31ce24bd465ded432c1c9f2f5b;p=gruntmaster-data.git diff --git a/lib/Gruntmaster/Data.pm b/lib/Gruntmaster/Data.pm index e8ce571..a12e476 100644 --- a/lib/Gruntmaster/Data.pm +++ b/lib/Gruntmaster/Data.pm @@ -15,10 +15,10 @@ __PACKAGE__->load_namespaces; # Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-05 13:11:39 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dAEmtAexvUaNXLgYz2rNEg -our $VERSION = '5999.000_008'; +our $VERSION = '5999.000_009'; use Lingua::EN::Inflect qw/PL_N/; -use JSON qw/decode_json/; +use JSON::MaybeXS qw/decode_json/; use List::Util qw/sum/; use PerlX::Maybe qw/maybe/; use Sub::Name qw/subname/; @@ -85,7 +85,7 @@ sub standings { my $user = $_; +{ user => $self->user($user), - score => sum (values $scores{$user}), + score => sum (values %{$scores{$user}}), scores => [map { $scores{$user}{$_->id} // '-'} @problems], problems => $ct, } @@ -116,7 +116,7 @@ sub problem_list { $params{contest} = $args{contest} if $args{contest}; for ($rs->all) { $params{$_->level} //= []; - push $params{$_->level}, {$_->get_columns, owner_name => $_->owner->name} ; + push @{$params{$_->level}}, {$_->get_columns, owner_name => $_->owner->name} ; } \%params } @@ -144,7 +144,7 @@ sub contest_list { for ($rs->all) { my $state = $_->is_pending ? 'pending' : $_->is_running ? 'running' : 'finished'; $params{$state} //= []; - push $params{$state}, { $_->get_columns, started => !$_->is_pending, owner_name => $_->owner->name }; + push @{$params{$state}}, { $_->get_columns, started => !$_->is_pending, owner_name => $_->owner->name }; } \%params }