1 <& elements/browse.html,
2 'title' => ucwords($classname) . " Reasons",
3 'html_init' => $html_init,
4 'name' => $classname . " reason types",
5 'query' => { 'table' => 'reason_type',
7 'extra_sql' => $where_clause .
10 'count_query' => $count_query,
12 ucwords($classname) . ' Reason Type',
13 ucwords($classname) . ' Reasons',
15 'fields' => [ 'typenum',
24 'html_form' => qq!<FORM ACTION="${p}misc/reason_merge.html" METHOD="POST">!,
25 'html_foot' => $html_foot,
30 join(' ', map ucfirst($_), split(/ /, shift));
34 unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
36 $cgi->param('class') =~ /^(\w)$/ or die "illegal class";
39 my $classname = ucfirst($FS::reason_type::class_name{$class});
41 my $html_init = 'Reasons: ' .
42 include('/elements/menubar.html',
44 ucfirst($FS::reason_type::class_name{$_}),
45 $p.'browse/reason_type.html?class=' . $_
46 } keys (%FS::reason_type::class_name)
49 $html_init .= include('/elements/init_overlib.html').
51 $classname . ' reasons ' .
52 $FS::reason_type::class_purpose{$class} .
53 '. Reason types allow reasons to be grouped for reporting purposes.' .
54 qq!<BR><BR><A HREF="${p}edit/reason_type.html?class=$class"><I>! .
55 ($classname =~ /^[aeiou]/i ? 'Add an ' : 'Add a ') .
56 lc($classname) . ' reason type</I></A>'.
59 my $reasons_sub = sub {
60 my $reason_type = shift;
67 'link' => $p. "edit/reason.html?class=$class&reasonnum=".
71 'data' => q!<INPUT TYPE="checkbox" NAME="reasonnum" VALUE="! . $_->reasonnum . q!">!,
76 $reason_type->enabled_reasons ),
81 'link' => $p. "edit/reason.html?class=$class",
91 my $where_clause = "WHERE class='$class'";
92 my $count_query = 'SELECT COUNT(*) FROM reason_type ';
93 $count_query .= $where_clause;
95 my $link = [ $p.'edit/reason_type.html?class='.$class.'&typenum=', 'typenum' ];
97 my $html_foot = include('/search/elements/checkbox-foot.html',
98 onclick => include( '/elements/popup_link_onclick.html',
99 js_action => q!'! . "${p}misc/reason-merge.html?" . q!' + toCGIString()!,
100 actionlabel => 'Merge reasons',
102 label => 'merge selected reasons',