2 package SGN
::Controller
::Dataset
;
9 BEGIN { extends
'Catalyst::Controller'; }
11 sub dataset
:Chained
('/') Path
('dataset') Args
(1) {
14 my $dataset_id = shift;
15 my $schema = $c->dbic_schema('Bio::Chado::Schema', 'sgn_chado');
16 my $people_schema = $c->dbic_schema("CXGN::People::Schema");
19 my $dataset = CXGN
::Dataset
->new({
21 people_schema
=> $people_schema,
22 sp_dataset_id
=> $dataset_id
24 my $info = $dataset->get_dataset_data();
28 name
=> $dataset->name(),
29 description
=> $dataset->description,
33 my $lt = CXGN
::List
::Transform
->new();
34 my %transform_dict = (
35 'plots' => 'stock_ids_2_stocks',
36 'accessions' => 'stock_ids_2_stocks',
37 'traits' => 'trait_ids_2_trait_names',
38 'locations' => 'locations_ids_2_location',
39 'plants' => 'stock_ids_2_stocks',
40 'trials' => 'project_ids_2_projects',
41 'trial_types' => 'cvterm_ids_2_cvterms',
42 'breeding_programs' => 'project_ids_2_projects',
43 'genotyping_protocols' => 'nd_protocol_ids_2_protocols'
45 $html .= '<table class="table-bordered"><thead><tr>' . "\n";
46 foreach my $category (@
{$dataset_info->{info
}->{category_order
}}) {
47 $html .= '<th>' . $category . '</th>';
49 $html .= '</tr></thead><tbody><tr>' . "\n";
50 foreach my $category (@
{$dataset_info->{info
}->{category_order
}}) {
51 my $ids = $dataset_info->{info
}->{categories
}->{$category};
53 if (exists($transform_dict{$category})) {
54 my $transform = $lt->transform($schema, $transform_dict{$category}, $ids);
55 @items = @
{$transform->{transform
}};
61 $html .= "<td><div class='well well-sm'>";
62 $html .= "<select class='form-control' multiple>";
63 foreach my $item (@items) {
64 $html .= "<option value='$item' disabled>$item</option>";
67 $html .= "</td></div>\n";
71 $c->stash->{dataset_name
} = $dataset->name();
72 $c->stash->{dataset_id
} = $dataset_id;
73 $c->stash->{dataset_description
} = $dataset->description;
74 $c->stash->{dataset_contents
} = $html;
75 print STDERR
"dataset name $dataset->name()\n";
76 $c->stash->{template
} = '/dataset/index.mas';