X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fquotation.html;h=7221d53cd7d41a02d5c2bfd9c625e625d0c474cc;hb=e215fc213a1eb9a3365cecf5ce82f1a58f154cd6;hp=2c2c6b7ca14edde1e248721703654ff3e6ef0719;hpb=e5ab051ccdb7637d8dd2f0ed9b4fe9aaaf1d1100;p=freeside.git
diff --git a/httemplate/view/quotation.html b/httemplate/view/quotation.html
index 2c2c6b7ca..7221d53cd 100755
--- a/httemplate/view/quotation.html
+++ b/httemplate/view/quotation.html
@@ -1,44 +1,118 @@
<& /elements/header.html, mt('Quotation View'), $menubar &>
-%#XXX link to order...
+<& /elements/init_overlib.html &>
-<%doc>
-
-XXX resending quotations
-
-% if ( $curuser->access_right('Resend invoices') ) {
-
- <% mt('Re-print this invoice') |h %>
-
-% if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) {
- | <% mt('Re-email this invoice') |h %>
-% }
-
-% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) {
- | <% mt('Re-fax this invoice') |h %>
-% }
+
+
+% unless ( $quotation->disabled eq 'Y' ) {
+
+% my $inrow = 0;
+% 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 )
+ &>
+% $inrow++;
+% }
+
+% if ( $curuser->access_right('One-time charge') ) {
+ <% $inrow ? ' | ' : '' %>
+% my $query = 'quotationnum=' . $quotation->get('quotationnum');
+% if ($quotation->custnum) {
+% $query .= ';custnum=' . $quotation->custnum;
+% } else {
+% $query .= ';prospectnum=' . $quotation->prospectnum;
+% }
+ <% emt('One-time charge') %>
+% $inrow++;
+% }
+
+% if ( $can_generate_quotation ) {
+ <% $inrow ? ' | ' : '' %>
+ Edit quotation fields
+% $inrow++;
+% }
+
+ <% $inrow ? '
' : '' %>
+
+% if ( 1 ) { #if ( $curuser->access_right('Send quotations') )
+
+ <& /elements/popup_link.html,
+ 'action' => "${p}misc/email-quotation.html".
+ "?quotationnum=$quotationnum",
+ 'label' => emt('Email this quotation'),
+ 'actionlabel' => emt('Select recipients'),
+ #'width' => 540,
+ #'height' => 336,
+ &>
+
+%# <% mt('Re-print this invoice') |h %>
+
+%#% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) {
+%# | <% mt('Re-fax this invoice') |h %>
+%#% }
+
+% }
+
+% if ( $conf->exists('quotation_latex') ) {
+ | <% mt('View typeset quotation PDF') |h %>
+% }
-% }
-
-XXX view typset quotation
-
-% 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 ( $error ) {
+
Close Date: | +<% time2str($conf->config('date_format') || '%m/%d/%Y',$close_date) %> | +
---|---|
Confidence: | <% $confidence %>% |
<% join('', $cust_bill->print_text(\%opt) ) %>-% } - -%doc> +% die "quotation_html config missing"; +% } +% #plaintext quotations?
<% join('', $quotation->print_text() ) %><& /elements/footer.html &> <%init> @@ -48,6 +122,8 @@ my $curuser = $FS::CurrentUser::CurrentUser; #die "access denied" # unless $curuser->access_right('View quotations'); +my $can_generate_quotation = $curuser->access_right('Generate quotation'); + my $quotationnum; my($query) = $cgi->keywords; if ( $query =~ /^(\d+)$/ ) { @@ -56,7 +132,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 +143,37 @@ 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 $error = $quotation->estimate; + +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 { + my $quotation_pkg = shift; + $can_generate_quotation ? + areyousure_link("${p}misc/delete-quotation_pkg.html?". $quotation_pkg->quotationpkgnum, + emt('Are you sure you want to remove this package from the quotation?'), + emt('Remove this package'), #tooltip + qq(), #link + ) . + include('/elements/popup_link.html', + action => "${p}edit/quotation_pkg_detail.html?pkgnum=" . + $quotation_pkg->quotationpkgnum, + html_label => qq(), + title => emt('Edit quotation details'), + actionlabel => emt('Edit quotation details'), + color => '#333399', + width => 763, + ) + : ''; +}; + +sub areyousure_link { + my ($url,$msg,$title,$label) = (shift,shift,shift,shift); + ''.$label.''; } %init>