#!/usr/bin/perl use strict; use OpenILS::Application::Storage; use OpenILS::Application::Storage::CDBI; # I need to abstract the driver loading away... use OpenILS::Application::Storage::Driver::Pg; use CGI qw/:standard start_*/; our %config; do 'setup.pl'; OpenILS::Application::Storage::CDBI->connection($config{dsn},$config{usr},$config{pw}); OpenILS::Application::Storage::CDBI->db_Main->{ AutoCommit } = 1; my $cgi = new CGI; #------------------------------------------------------------------------------- # HTML part #------------------------------------------------------------------------------- print < Home

Copy Status Setup


HEADER #------------------------------------------------------------------------------- # setup part #------------------------------------------------------------------------------- my %cs_cols = ( qw/id SysID name Name holdable Unholdable/ ); my @col_display_order = ( qw/id name holdable/ ); #------------------------------------------------------------------------------- # Logic part #------------------------------------------------------------------------------- if (my $action = $cgi->param('action')) { if ( $action eq 'Remove Selected' ) { for my $id ( ($cgi->param('id')) ) { next unless ($id > 99); config::copy_status->retrieve($id)->delete; } } elsif ( $action eq 'Update Selected' ) { for my $id ( ($cgi->param('id')) ) { my $u = config::copy_status->retrieve($id); $u->name( $cgi->param("name_$id") ); $u->holdable( $cgi->param("holdable_$id") ); $u->update; } } elsif ( $action eq 'Add New' ) { config::copy_status->create( { name => $cgi->param("name") } ); } } #------------------------------------------------------------------------------- # Form part #------------------------------------------------------------------------------- { #----------------------------------------------------------------------- # User form #----------------------------------------------------------------------- print "
". "\n"; for my $col ( @col_display_order ) { print th($cs_cols{$col}); } print ''; for my $row ( sort { $a->name cmp $b->name } (config::copy_status->retrieve_all) ) { print Tr( td( $row->id() ), td(""), td("holdable()} .">"), td(""), ); } print "", td(), td(""), td(""), td(), ""; print "
Action
"; print " | "; print " | "; print "

"; } print "";