fix display of contacts on customer basics tab, #25536
[freeside.git] / httemplate / view / quotation.html
index b8dc1d1..1862509 100755 (executable)
@@ -1,5 +1,7 @@
 <& /elements/header.html, mt('Quotation View'), $menubar &>
 
+<& /elements/init_overlib.html &>
+
 <SCRIPT TYPE="text/javascript">
 function areyousure(href, message) {
   if (confirm(message) == true)
@@ -15,14 +17,25 @@ function areyousure(href, message) {
            'actionlabel' => emt('Add package'),
            map { $_ => $quotation->$_ } qw( quotationnum custnum prospectnum )
       &>
-      <BR><BR>
 %   }
 
+%   if ( $curuser->access_right('One-time charge') ) {
+      | <& /elements/one_time_charge_link.html,
+             map { $_ => $quotation->$_ } qw( quotationnum custnum prospectnum )
+        &>
+%   }
+      <BR><BR>
+
 %   if ( 1 ) { #if ( $curuser->access_right('Send quotations') )
 
-%     #if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { 
-%#      <A HREF="<% $p %>misc/email-quotation.html?<% $link %>"><% mt('Email this quotation') |h %></A>
-%     #} 
+      <& /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,
+      &>
 
 %#      <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |h %></A>
 
@@ -59,6 +72,9 @@ function areyousure(href, message) {
   <BR><BR>
 % }
 
+% if ( $error ) {
+<DIV CLASS="error"><% emt('Error calculating quotation: [_1]', $error) %></DIV>
+% }
 
 % if ( $conf->exists('quotation_html') ) { 
     <% join('', $quotation->print_html( preref_callback=>$preref_callback )) %>
@@ -75,6 +91,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+)$/ ) {
@@ -94,6 +112,8 @@ my $quotation = qsearchs({
 });
 die "Quotation #$quotationnum not found!" unless $quotation;
 
+my $error = $quotation->estimate;
+
 my $menubar = menubar( $quotation->cust_or_prospect_label_link($p) );
 
 my $link = "quotationnum=$quotationnum";
@@ -101,11 +121,23 @@ my $link = "quotationnum=$quotationnum";
 #$link .= ';notice_name='. $notice_name if $notice_name;
 
 my $preref_callback = sub {
-  areyousure_link("${p}misc/delete-quotation_pkg.html?". shift->quotationpkgnum,
+  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(<img src="${p}images/cross.png">), #link
-                 );
+                 ) .
+  include('/elements/popup_link.html',
+    action      => "${p}edit/quotation_pkg_detail.html?pkgnum=" .
+                   $quotation_pkg->quotationpkgnum,
+    html_label  => qq(<IMG SRC="${p}images/Actions-document-edit-icon.png">),
+    title       => emt('Edit quotation details'),
+    actionlabel => emt('Edit quotation details'),
+    color       => '#333399',
+    width       => 763,
+  )
+  : '';
 };
 
 sub areyousure_link {