X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fagent_type.cgi;h=0c011ceedb898a4515836e41134bbcc39e33dcea;hb=69d3ce315e8d44adef35eb32f805ceaa9b91598c;hp=d1f8c6e6eadc25a14c5c7d50ac6f377f456eff30;hpb=91387f8f489e561deaf1de052d80ef800a4970a3;p=freeside.git diff --git a/httemplate/browse/agent_type.cgi b/httemplate/browse/agent_type.cgi index d1f8c6e6e..0c011ceed 100755 --- a/httemplate/browse/agent_type.cgi +++ b/httemplate/browse/agent_type.cgi @@ -1,72 +1,65 @@ -<% -# +<& 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> -use strict; -use vars qw( $cgi $p $agent_type ); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); -use FS::CGI qw(header menubar popurl table); -use FS::agent_type; -use FS::type_pkgs; -use FS::part_pkg; +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); -$cgi = new CGI; +my $html_init = +'Agent types define groups of packages that you can then assign to'. +' particular agents.

'. +qq!Add a new agent type

!; -&cgisuidsetup($cgi); +my $count_query = 'SELECT COUNT(*) FROM agent_type'; -$p = popurl(2); -print $cgi->header( @FS::CGI::header ), header("Agent Type Listing", menubar( - 'Main Menu' => $p, -)), "Agent types define groups of packages that you can then assign to". - " particular agents.

", &table(), < - Agent Type - Packages - -END +#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; -foreach $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 + [ 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($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 ""; -} +my $link = [ $p.'edit/agent_type.cgi?', 'typenum' ]; -print <Add a new agent type - - - -END - -%> +