Added eval; site now shows clean dataset missing message instead of server error...
[sgn.git] / lib / SGN / Controller / AJAX / Reports.pm
blob9a4d4b073351baf79fd4ef0051b200d88fbf7243
2 package SGN::Controller::AJAX::Reports;
4 use Moose;
5 use CXGN::DbStats;
7 BEGIN { extends "Catalyst::Controller::REST" };
9 __PACKAGE__->config(
10 default => 'application/json',
11 stash_key => 'rest',
12 map => { 'application/json' => 'JSON' },
16 sub database_counts :Path('/ajax/reports/database_counts') Args(0) {
17 my $self = shift;
18 my $c = shift;
20 my $dbs = CXGN::DbStats->new( { dbh => $c->dbc->dbh() } );
22 my $data = $dbs->database_counts();
24 $c->stash->{template} = { data => $data };
27 sub recent_activity :Path('/ajax/report/recent_activity') Args(0) {
28 my $self = shift;
29 my $c = shift;
31 my $start_date = $c->req->param("start_date");
32 my $end_date = $c->req->param("end_date");
34 my $dbs = CXGN::DbStats->new( { dbh => $c->dbc->dbh() } );
36 my $field_trial_data = $dbs->recent_trials($start_date, $end_date);
38 my $genotyping_plate_data = $dbs->recent_genotyping_plates($start_date, $end_date);
40 my $accession_data = $dbs->recent_stocks($start_date, $end_date);
42 my $cross_data = $dbs->recent_crosses($start_date, $end_date);
44 my $phenotype_data = $dbs->recent_phenotype_data($start_date, $end_date);
46 return {
47 trial_data => $field_trial_data,
48 accession_data => $accession_data,
49 cross_data => $cross_data,
50 phenotype_data => $phenotype_data,