diff options
author | ivan <ivan> | 2006-12-15 12:43:44 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-12-15 12:43:44 +0000 |
commit | 1ec49b28c30c84962670d80d1c143e65b5b9370a (patch) | |
tree | 595639a600fe3b2c994669901fd2ded2485f656d | |
parent | f5246a149f9314649e85b20837b0b986d87a56ea (diff) |
add a quick start at a "dashboard" customer list, mostly for internal use for starters
-rw-r--r-- | FS/FS/Conf.pm | 7 | ||||
-rw-r--r-- | httemplate/elements/dashboard-toplist.html | 98 | ||||
-rw-r--r-- | httemplate/index.html | 21 |
3 files changed, 113 insertions, 13 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 270b61c9f..f2fda8016 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1995,6 +1995,13 @@ httemplate/docs/config.html 'select_enum' => \@card_types, }, + { + 'key' => 'dashboard-toplist', + 'section' => 'UI', + 'description' => 'List of items to display on the top of the front page', + 'type' => 'textarea', + }, + ); 1; diff --git a/httemplate/elements/dashboard-toplist.html b/httemplate/elements/dashboard-toplist.html new file mode 100644 index 000000000..6276f9fd3 --- /dev/null +++ b/httemplate/elements/dashboard-toplist.html @@ -0,0 +1,98 @@ +% if ( $conf->exists('dashboard-toplist') ) { + + <% include('/elements/table-grid.html') %> + +% my $bgcolor1 = '#eeeeee'; +% my $bgcolor2 = '#ffffff'; +% my $bgcolor = $bgcolor2; + +% foreach my $line ( $conf->config('dashboard-toplist') ) { +% +% if ( $bgcolor eq $bgcolor1 ) { +% $bgcolor = $bgcolor2; +% } else { +% $bgcolor = $bgcolor1; +% } + +% if ( $line =~ /^\s*cust_main:\s*(\d+)\s*$/ ) { #customer line +% my $custnum = $1; +% my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); +% if ( $cust_main ) { + + <TR> + <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"> + <A HREF="view/cust_main.cgi?<% $custnum %>"><% $cust_main->name %></A> + </TD> +% foreach my $priority ( @custom_priorities, '' ) { +% my $num = +% FS::TicketSystem->num_customer_tickets($custnum,$priority); +% my $ahref = ''; +% $ahref= '<A HREF="'. +% FS::TicketSystem->href_customer_tickets($custnum,$priority). +% '">' +% if $num; + + <TD CLASS="grid" BGCOLOR="<% $bgcolor %>" ALIGN="right"> + <% $ahref.$num %></A> + </TD> +% } + </TR> + +% } else { + + <TR> + <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"> + Unknown customer number <% $custnum %> + </TD> + </TR> + +% } +% +% } elsif ( $line =~ /^\-\-+$/ ) { #divider +% + <TR> + <TH CLASS="grid" COLSPAN="<% scalar(@custom_priorities) + 2 %>"></TH> + </TR> + +% next; +% +% } elsif ( $line =~ /^\s*$/ ) { + + <TR> + <TD CLASS="grid" COLSPAN="<% scalar(@custom_priorities) + 2 %>" BGCOLOR="<% $bgcolor %>"> </TD> + </TR> + +% } else { #label line + + <TR> + <TH CLASS="grid" BGCOLOR="#cccccc"><% $line %></TH> +% foreach my $priority ( @custom_priorities, '' ) { + <TH CLASS="grid" BGCOLOR="#cccccc"> + <% $priority || '<i>(none)</i>'%> + </TH> +% } + </TR> + +% } + +% +% } + + </TABLE> + <BR> + +% } +<%init> + +my $conf = new FS::Conf; + +#false laziness w/httemplate/search/cust_main.cgi... care if +# custom_priority_field becomes anything but a local hack... +my @custom_priorities = (); +if ( $conf->config('ticket_system-custom_priority_field') + && @{[ $conf->config('ticket_system-custom_priority_field-values') ]} ) { + @custom_priorities = + $conf->config('ticket_system-custom_priority_field-values'); +} + +</%init> diff --git a/httemplate/index.html b/httemplate/index.html index 57d85a9fb..60ab26f86 100644 --- a/httemplate/index.html +++ b/httemplate/index.html @@ -1,8 +1,9 @@ % my $conf = new FS::Conf; <% include('/elements/header.html', 'Billing Main' ) %> -% -% + +<% include('/elements/dashboard-toplist.html') %> + % my $sth = dbh->prepare( % #"SELECT DISTINCT custnum FROM h_cust_main JOIN cust_main USING ( custnum ) % "SELECT custnum FROM h_cust_main JOIN cust_main USING ( custnum ) @@ -19,29 +20,25 @@ % @custnums = splice(@custnums, 0, 10); % % if ( @custnums ) { -% -% - <% include('/elements/table-grid.html') %> + % my $bgcolor1 = '#eeeeee'; % my $bgcolor2 = '#ffffff'; -% my $bgcolor; -% - +% my $bgcolor = $bgcolor2; <TR> <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=1>Customers I recently added or modified</TH> </TR> + % foreach my $custnum ( @custnums ) { % my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); % next unless $cust_main; - <TR> <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="view/cust_main.cgi?<% $custnum %>"><% $custnum %>: <% $cust_main->name %></A></TD> </TR> -% + % if ( $bgcolor eq $bgcolor1 ) { % $bgcolor = $bgcolor2; % } else { @@ -50,10 +47,8 @@ % % } - </TABLE> -% } +% } <% include('/elements/footer.html') %> - |