2 package SGN
::Controller
::Order
;
5 use URI
::FromHash
'uri';
6 use CXGN
::Stock
::Order
;
10 BEGIN { extends
'Catalyst::Controller'; }
13 sub order_stocks
:Path
('/order/stocks/view') :Args
(0) {
18 $c->res->redirect( uri
( path
=> '/user/login', query
=> { goto_url
=> $c->req->uri->path_query } ) );
23 my $check_vendor_role = $c->user->check_roles('vendor');
24 $c->stash->{check_vendor_role
} = $check_vendor_role;
25 my $user_id = $c->user()->get_object()->get_sp_person_id();
26 $c->stash->{user_id
} = $user_id;
29 my $tracking_order_activity = $c->config->{tracking_order_activity
};
30 $c->stash->{tracking_order_activity
} = $tracking_order_activity;
32 $c->stash->{template
} = '/order/stocks.mas';
37 sub order_details
:Path
('/order/details/view') : Args
(1) {
40 my $schema = $c->dbic_schema("Bio::Chado::Schema");
41 my $people_schema = $c->dbic_schema('CXGN::People::Schema');
42 my $dbh = $c->dbc->dbh;
43 my $order_properties = $c->config->{order_properties
};
44 my @properties = split ',',$order_properties;
45 my $ordering_type = $c->config->{ordering_type
};
48 $c->res->redirect( uri
( path
=> '/user/login', query
=> { goto_url
=> $c->req->uri->path_query } ) );
53 my $check_vendor_role = $c->user->check_roles('vendor');
54 $c->stash->{check_vendor_role
} = $check_vendor_role;
57 my $order_number = shift;
58 my $order_obj = CXGN
::Stock
::Order
->new({ dbh
=> $dbh, bcs_schema
=> $schema, people_schema
=> $people_schema, sp_order_id
=> $order_number});
59 my $order_result = $order_obj->get_order_details();
61 my $all_items = $order_result->[3];
64 my $empty_string = '';
65 my @all_item_details = ();
66 my $all_details_string;
68 foreach my $each_item (@
$all_items) {
69 my @item_details = ();
71 $item_name = (keys %$each_item)[0];
72 push @all_values, $item_name;
73 push @item_details, "<b>"."Item Name"."<b>". ":"."".$item_name;
74 foreach my $field (@properties) {
75 my $each_detail = $each_item->{$item_name}->{$field};
76 push @all_values, $each_detail;
77 my $detail_string = $field. ":"."".$each_detail;
78 push @item_details, $detail_string;
81 push @item_details, $empty_string;
82 my $details_string = join("<br>", @item_details);
83 $value_string = join(",", @all_values);
84 push @all_item_details, $details_string;
86 $all_details_string = join("<br>", @all_item_details);
88 $c->stash->{order_id
} = $order_result->[0];
89 $c->stash->{order_from
} = $order_result->[1];
90 $c->stash->{create_date
} = $order_result->[2];
91 $c->stash->{item_list
} = $all_details_string;
92 $c->stash->{order_to
} = $order_result->[4];
93 $c->stash->{order_status
} = $order_result->[5];
94 $c->stash->{comments
} = $order_result->[6];
95 $c->stash->{order_properties
} = $order_properties;
96 $c->stash->{order_values
} = $value_string;
97 $c->stash->{ordering_type
} = $ordering_type;
98 $c->stash->{template
} = '/order/order_details.mas';