X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fbrowse%2Fagent_type.cgi;h=0c011ceedb898a4515836e41134bbcc39e33dcea;hp=5a84385896be31a13c5242af3c79b896f5952b52;hb=HEAD;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d diff --git a/httemplate/browse/agent_type.cgi b/httemplate/browse/agent_type.cgi index 5a8438589..0c011ceed 100755 --- a/httemplate/browse/agent_type.cgi +++ b/httemplate/browse/agent_type.cgi @@ -1,58 +1,65 @@ - -<%= header("Agent Type Listing", menubar( - 'Main Menu' => $p, - 'Agents' => $p. 'browse/agent.cgi', -)) %> -Agent types define groups of packages that you can then assign to particular -agents.

-Add a new agent type

- -<%= table() %> - - Agent Type - Packages - - -<% -foreach my $agent_type ( sort { - $a->getfield('typenum') <=> $b->getfield('typenum') -} qsearch('agent_type',{}) ) { - my($hashref)=$agent_type->hashref; - my(@type_pkgs)=qsearch('type_pkgs',{'typenum'=> $hashref->{typenum} }); - my($rowspan)=scalar(@type_pkgs); - $rowspan = int($rowspan/2+0.5) ; - print < - - $hashref->{typenum} - - $hashref->{atype} -END - - my($type_pkgs); - my($tdcount) = -1 ; - foreach $type_pkgs ( @type_pkgs ) { - my($pkgpart)=$type_pkgs->getfield('pkgpart'); - my($part_pkg) = qsearchs('part_pkg',{'pkgpart'=> $pkgpart }); - print qq!! if ($tdcount == 0) ; - $tdcount = 0 if ($tdcount == -1) ; - print qq!!, - $part_pkg->getfield('pkg'),""; - $tdcount ++ ; - if ($tdcount == 2) - { - print qq!\n! ; - $tdcount = 0 ; - } - } - - print ""; -} - -print < - - -END - -%> +<& elements/browse.html, + 'title' => 'Agent Types', + 'menubar' => [ 'Agents' => "${p}browse/agent.cgi" ], + 'html_init' => $html_init, + 'name' => 'agent types', + 'disableable' => 1, + 'disabled_statuspos' => 2, + 'query' => { 'table' => 'agent_type', + 'hashref' => {}, + 'order_by' => 'ORDER BY typenum', # atype? + }, + 'count_query' => $count_query, + 'header' => [ '#', + 'Agent Type', + 'Packages', + ], + 'fields' => [ 'typenum', + 'atype', + $packages_sub, + ], + 'links' => [ $link, + $link, + '', + ], +&> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my $html_init = +'Agent types define groups of packages that you can then assign to'. +' particular agents.

'. +qq!Add a new agent type

!; + +my $count_query = 'SELECT COUNT(*) FROM agent_type'; + +#false laziness w/access_user.html +my $packages_sub = sub { + my $agent_type = shift; + my @type_pkgs = $agent_type->type_pkgs_enabled; + return '(lots; edit agent type to view)' if scalar(@type_pkgs) > 32; + + [ map { + my $type_pkgs = $_; + #my $part_pkg = $type_pkgs->part_pkg; + [ + { + #'data' => $part_pkg->pkg. ' - '. $part_pkg->comment, + 'data' => encode_entities($type_pkgs->pkg). ' - '. + ( $type_pkgs->custom ? '(CUSTOM) ' : '' ). + encode_entities($type_pkgs->comment), + 'align' => 'left', + 'link' => $p. 'edit/part_pkg.cgi?'. $type_pkgs->pkgpart, + }, + ]; + } + @type_pkgs + ]; + +}; + +my $link = [ $p.'edit/agent_type.cgi?', 'typenum' ]; + +