X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fquotation.html;h=b8dc1d1f9ff38aab0c60156b6890c6d6122dedc8;hb=85c78d955fbc2fd6c3991156b387d37c185b9f64;hp=2c2c6b7ca14edde1e248721703654ff3e6ef0719;hpb=e5ab051ccdb7637d8dd2f0ed9b4fe9aaaf1d1100;p=freeside.git diff --git a/httemplate/view/quotation.html b/httemplate/view/quotation.html index 2c2c6b7ca..b8dc1d1f9 100755 --- a/httemplate/view/quotation.html +++ b/httemplate/view/quotation.html @@ -1,44 +1,71 @@ <& /elements/header.html, mt('Quotation View'), $menubar &> -%#XXX link to order... - -<%doc> + -XXX resending quotations +% unless ( $quotation->disabled eq 'Y' ) { -% if ( $curuser->access_right('Resend invoices') ) { +% if ( $curuser->access_right('Order customer package') ) { + <& /elements/order_pkg_link.html, + 'label' => emt('Add package'), + 'actionlabel' => emt('Add package'), + map { $_ => $quotation->$_ } qw( quotationnum custnum prospectnum ) + &> +

+% } - <% mt('Re-print this invoice') |h %> +% if ( 1 ) { #if ( $curuser->access_right('Send quotations') ) -% if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { - | <% mt('Re-email this invoice') |h %> -% } +% #if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { +%# <% mt('Email this quotation') |h %> +% #} -% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { - | <% mt('Re-fax this invoice') |h %> -% } +%# <% mt('Re-print this invoice') |h %> -

+%#% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { +%# | <% mt('Re-fax this invoice') |h %> +%#% } -% } +% } -XXX view typset quotation +% if ( $conf->exists('quotation_latex') ) { + | <% mt('View typeset quotation PDF') |h %> +% } -% if ( $conf->exists('invoice_latex') ) { +

- <% mt('View typeset invoice PDF') |h %> +% if ( $curuser->access_right('New customer') && $quotation->quotation_pkg ) { + Place order +

+% } + +% } + +% if ( $curuser->access_right('Disable quotation') ) { +% if ( $quotation->disabled eq 'Y' ) { + <% emt('Enable this quotation') %> +% } else { + <% areyousure_link( + "${p}misc/disable-quotation.html?quotationnum=". $quotation->quotationnum, + emt('Are you sure you want to disable this quotation?'), + emt('Disable this quotation'), #tooltip + emt('Disable this quotation'), #link + ) %> +% }

-% } +% } -XXX actually show the quotation -% if ( $conf->exists('invoice_html') ) { - <% join('', $cust_bill->print_html(\%opt) ) %> +% if ( $conf->exists('quotation_html') ) { + <% join('', $quotation->print_html( preref_callback=>$preref_callback )) %> % } else { -
<% join('', $cust_bill->print_text(\%opt) ) %>
-% } - - +% die "quotation_html config missing"; +% } +% #plaintext quotations?
<% join('', $quotation->print_text() ) %>
<& /elements/footer.html &> <%init> @@ -56,7 +83,7 @@ if ( $query =~ /^(\d+)$/ ) { $quotationnum = $cgi->param('quotationnum'); } -#my $conf = new FS::Conf; +my $conf = new FS::Conf; my $quotation = qsearchs({ 'select' => 'quotation.*', @@ -67,15 +94,23 @@ my $quotation = qsearchs({ }); die "Quotation #$quotationnum not found!" unless $quotation; -if ( my $custnum = $quotation->custnum ) { - my $display_custnum = $quotation->cust_main->display_custnum; - $menubar = menubar( - emt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum", - ); -} elsif ( my $prospectnum = $quotation->prospectnum ) { - $menubar = menubar( - emt("View this prospect (#[_1])",$prospectnum) => "${p}view/prospect_main.html?$prospectnum", - ); +my $menubar = menubar( $quotation->cust_or_prospect_label_link($p) ); + +my $link = "quotationnum=$quotationnum"; +#$link .= ';template='. uri_escape($template) if $template; +#$link .= ';notice_name='. $notice_name if $notice_name; + +my $preref_callback = sub { + areyousure_link("${p}misc/delete-quotation_pkg.html?". shift->quotationpkgnum, + emt('Are you sure you want to remove this package from the quotation?'), + emt('Remove this package'), #tooltip + qq(), #link + ); +}; + +sub areyousure_link { + my ($url,$msg,$title,$label) = (shift,shift,shift,shift); + ''.$label.''; }