]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/cgi-bin/copy_statuses.cgi
config updates...
[Evergreen.git] / Open-ILS / src / cgi-bin / copy_statuses.cgi
1 #!/usr/bin/perl
2 use strict;
3
4 use OpenILS::Application::Storage;
5 use OpenILS::Application::Storage::CDBI;
6
7 # I need to abstract the driver loading away...
8 use OpenILS::Application::Storage::Driver::Pg;
9
10 use CGI qw/:standard start_*/;
11
12 OpenILS::Application::Storage::CDBI->connection('dbi:Pg:host=10.0.0.2;dbname=open-ils-dev', 'postgres');
13 OpenILS::Application::Storage::CDBI->db_Main->{ AutoCommit } = 1;
14
15 my $cgi = new CGI;
16
17 #-------------------------------------------------------------------------------
18 # HTML part
19 #-------------------------------------------------------------------------------
20
21 print <<HEADER;
22 Content-type: text/html
23
24 <html>
25
26 <head>
27         <style>
28                 table.table_class {
29                         border: dashed lightgrey 1px;
30                         background-color: #EEE;
31                         border-collapse: collapse;
32                 }
33
34                 deactivated {
35                         color: lightgrey;
36                 }
37
38                 tr.row_class td {
39                         border: solid lightgrey 1px;
40                 }
41                 
42                 tr.header_class th {
43                         background-color: lightblue;
44                 }
45
46         </style>
47 <body style='padding: 25px;'>
48
49 <h1>Copy Status Setup</h1>
50 <hr/>
51
52 HEADER
53
54 #-------------------------------------------------------------------------------
55 # setup part
56 #-------------------------------------------------------------------------------
57
58 my %cs_cols = ( qw/id SysID name Name/ );
59
60 my @col_display_order = ( qw/id name/ );
61
62 #-------------------------------------------------------------------------------
63 # Logic part
64 #-------------------------------------------------------------------------------
65
66 if (my $action = $cgi->param('action')) {
67         if ( $action eq 'Remove Selected' ) {
68                 for my $id ( ($cgi->param('id')) ) {
69                         next unless ($id > 99);
70                         config::copy_status->retrieve($id)->delete;
71                 }
72         } elsif ( $action eq 'Update Selected' ) {
73                 for my $id ( ($cgi->param('id')) ) {
74                         my $u = config::copy_status->retrieve($id);
75                         $u->name( $cgi->param("name_$id") );
76                         $u->update;
77                 }
78         } elsif ( $action eq 'Add New' ) {
79                 config::copy_status->create( { name => $cgi->param("name") } );
80         }
81 }
82
83
84 #-------------------------------------------------------------------------------
85 # Form part
86 #-------------------------------------------------------------------------------
87 {
88         #-----------------------------------------------------------------------
89         # User form
90         #-----------------------------------------------------------------------
91         print   "<form method='POST'>".
92                 "<table class='table_class'><tr class='header_class'>\n";
93         
94         for my $col ( @col_display_order ) {
95                 print th($cs_cols{$col});
96         }
97         
98         print '<th>Action</th></tr>';
99         
100         for my $row ( sort { $a->name cmp $b->name } (config::copy_status->retrieve_all) ) {
101                 print Tr(
102                         td( $row->id() ),
103                         td("<input type='text' name='name_$row' value='". $row->name() ."'>"),
104                         td("<input type='checkbox' value='$row' name='id'>"),
105                 );
106         }
107
108         print Tr(
109                 td(),
110                 td("<input type='text' name='name'>"),
111                 td(),
112         );
113         print   "</table>";
114         print   "<input type='submit' name='action' value='Remove Selected'/> | ";
115         print   "<input type='submit' name='action' value='Update Selected'/> | ";
116         print   "<input type='submit' name='action' value='Add New'/></form><hr/>";
117 }
118
119 print "</body></html>";
120
121