% %$cgi->param('class') =~ /^(\w)$/ or die "illegal class"; %my $class = $1; % %my %classmap = ( 'C' => 'cancel', % 'S' => 'suspend', % ); % %my $classname = $classmap{$class}; % %my $html_init = ucfirst($classname) . % " reasons explain why we $classname a package.

". % qq!!. % "Add a $classname reason

"; % %my $where_clause = "WHERE class='$class'"; %$where_clause .= " AND (disabled = '' OR disabled IS NULL)" % unless $cgi->param('showdisabled'); %my $disabledurl = $cgi->param('showdisabled') % ? do { $cgi->param('showdisabled', 0); % '( hide disabled reasons )'; } % : do { $cgi->param('showdisabled', 1); % '( show disabled reasons )'; } % ; % %$html_init .= $disabledurl; % %my $count_query = 'SELECT COUNT(*) FROM reason LEFT JOIN reason_type on ' . % 'reason_type.typenum = reason.reason_type ' . $where_clause; % %my $link = [ $p."edit/reason.html?class=$class&reasonnum=", 'reasonnum' ]; % % <% include( 'elements/browse.html', 'title' => ucfirst($classname) . ' Reasons', 'menubar' => [ # 'Main menu' => $p, ucfirst($classname) . ' Reason Types' => $p.'browse/reason_type.html?class='. $class, ], 'html_init' => $html_init, 'name' => $classname . ' reasons', 'query' => { 'table' => 'reason', 'hashref' => {}, 'extra_sql' => $where_clause . 'ORDER BY reason_type', 'addl_from' => 'LEFT JOIN reason_type ON reason_type.typenum = reason.reason_type', }, 'count_query' => $count_query, 'header' => [ '#', ucfirst($classname) . ' Reason Type', ucfirst($classname) . ' Reason', ], 'fields' => [ 'reasonnum', sub { shift->reasontype->type }, 'reason', ], 'links' => [ $link, $link, '', ], ) %>