- my %functions = ( 'status' => \&create_new_request_status,
- 'barcode' => \&update_request_barcode,
- 'lab_director' => \&update_request_lab_director,
- 'library_type' => \&update_request_library_type,
- 'request_name' => \&update_request_name,
- 'source' => \&update_request_source,
- 'species' => \&update_request_species, ) ;
- my $out_url = 'request_info.cgi' ;
- $out_url .= '?test=1' if defined $cgi->param( 'test' ) ;
- $output .= $cgi->h2( $cgi->a( { href => $out_url }, 'Request Table' ) ) ;
- ## show specific run info
- if ( 0 ) { } # BLANK to make adding and changing elsifs easier
- elsif ( defined $cgi->param( 'request_id' ) ) {
- for my $key ( $cgi->param() ) {
- if ( $functions{ $key } ) {
- my $data ;
- $data->{ request_id } = $cgi->param( 'request_id' ) ;
- if ( $key eq 'status' ) { # status is different
- for my $word ( qw{ status program notes } ) {
- $data->{ $word } = $cgi->param( $word ) ;
- }
- $functions{ $key }->( $data ) ;
- }
- else {
- $data->{ val } = $cgi->param( $key ) ;
- $functions{ $key }->( $data ) ;
- }
- }
- }
- my $request_id = $cgi->param( 'request_id' ) ;
- $output .= $cgi->h2( 'Request #' . $request_id ) ;
- $output .= $cgi->div( show_request( $request_id ) ) ;
- }
- else {
- $output .= $cgi->div( show_list() ) ; # show full table
- }
My reasoned, well-considered thoughts on gadgets, computing, quantified self, health, open source and whatever else gets my dander up.
Cookie Notice
As far as I know, and as far as I remember, nothing in this page does anything with Cookies.
2010/08/19
Copy/Paste: The First Step Is To Admit You Have A Problem
Thanks to Juster, I have come up with a better way to handle it.
Of course, if I had another table showing what fields I need to put into each input hash, that would make the code even simpler.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment