optimize CDR rating after timed rate perf regression, RT#15739
[freeside.git] / httemplate / browse / reason.html
index e666142..fe285be 100644 (file)
@@ -1,50 +1,16 @@
-%
-%$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.<BR><BR>".
-%  qq!<A HREF="${p}edit/reason.html?class=$class">!.
-%  "<I>Add a $classname reason</I></A><BR><BR>";
-%
-%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);
-%           '( <a href="'. $cgi->self_url. '">hide disabled reasons</a> )'; }
-%     : do { $cgi->param('showdisabled', 1);
-%           '( <a href="'. $cgi->self_url. '">show disabled reasons</a> )'; }
-%     ;
-%
-%$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,
+                 'menubar'     => [ ucfirst($classname).' Reason Types' =>
+                                     $p."browse/reason_type.html?class=$class"
                                   ],
                  'html_init'   => $html_init,
                  'name'        => $classname . ' reasons',
+                 'disableable' => 1,
+                 'disabled_statuspos' => 3,
                  'query'       => { 'table'     => 'reason',
                                     'hashref'   => {},
-                                    'extra_sql' => $where_clause 
-                                                  'ORDER BY reason_type', 
+                                    '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,
                                   ],
              )
 %>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+$cgi->param('class') =~ /^(\w)$/ or die "illegal class";
+my $class = $1;
+
+my $classname = $FS::reason_type::class_name{$class};
+my $classpurpose = $FS::reason_type::class_purpose{$class};
+
+my $html_init = ucfirst($classname).  " reasons $classpurpose.<BR><BR>".
+qq!<A HREF="${p}edit/reason.html?class=$class">!.
+"<I>Add a $classname reason</I></A><BR><BR>";
+
+my $where_clause = " WHERE class='$class' ";
+
+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' ];
+
+</%init>