disable quotations, RT#20688, RT#22232
[freeside.git] / httemplate / view / quotation.html
index 2c2c6b7..b8dc1d1 100755 (executable)
@@ -1,44 +1,71 @@
 <& /elements/header.html, mt('Quotation View'), $menubar &>
 
-%#XXX link to order...
-
-<%doc>
+<SCRIPT TYPE="text/javascript">
+function areyousure(href, message) {
+  if (confirm(message) == true)
+    window.location.href = href;
+}
+</SCRIPT>
 
-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 )
+      &>
+      <BR><BR>
+%   }
 
-    <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |h %></A>
+%   if ( 1 ) { #if ( $curuser->access_right('Send quotations') )
 
-%   if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { 
-        | <A HREF="<% $p %>misc/send-invoice.cgi?method=email;<% $link %>"><% mt('Re-email this invoice') |h %></A>
-%   } 
+%     #if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { 
+%#      <A HREF="<% $p %>misc/email-quotation.html?<% $link %>"><% mt('Email this quotation') |h %></A>
+%     #
 
-%   if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { 
-        | <A HREF="<% $p %>misc/send-invoice.cgi?method=fax;<% $link %>"><% mt('Re-fax this invoice') |h %></A>
-%   } 
+%#      <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |h %></A>
 
-    <BR><BR>
+%#%     if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { 
+%#           | <A HREF="<% $p %>misc/send-invoice.cgi?method=fax;<% $link %>"><% mt('Re-fax this invoice') |h %></A>
+%#%     } 
 
-% 
+%   }
 
-XXX view typset quotation
+%   if ( $conf->exists('quotation_latex') ) { 
+      | <A HREF="<% $p %>view/quotation-pdf.cgi?<% $link %>"><% mt('View typeset quotation PDF') |h %></A>
+%   }
 
-% if ( $conf->exists('invoice_latex') ) { 
+    <BR><BR>
 
-  <A HREF="<% $p %>view/cust_bill-pdf.cgi?<% $link %>"><% mt('View typeset invoice PDF') |h %></A>
+%   if ( $curuser->access_right('New customer') && $quotation->quotation_pkg ) {
+      <A HREF="<%$p%>edit/process/quotation_convert.html?quotationnum=<% $quotation->quotationnum %>">Place order</A>
+      <BR><BR>
+%   }
+
+% }
+
+% if ( $curuser->access_right('Disable quotation') ) {
+%   if ( $quotation->disabled eq 'Y' ) {
+      <A HREF="<%$p%>misc/enable-quotation.html?quotationnum=<% $quotation->quotationnum %>" TITLE="<% emt('Enable this quotation') %>"><% emt('Enable this quotation') %></A>
+%   } 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
+      ) %>
+%   }
   <BR><BR>
-% } 
+% }
 
-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 { 
-  <PRE><% join('', $cust_bill->print_text(\%opt) ) %></PRE>
-% } 
-
-</%doc>
+%   die "quotation_html config missing";
+% }
+% #plaintext quotations? <PRE><% join('', $quotation->print_text() ) %></PRE>
 
 <& /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(<img src="${p}images/cross.png">), #link
+                 );
+};
+
+sub areyousure_link {
+    my ($url,$msg,$title,$label) = (shift,shift,shift,shift);
+    '<A HREF="javascript:areyousure(\''.$url.'\',\''.$msg.'\')" TITLE="'.$title.'">'.$label.'</A>';
 }
 
 </%init>