<& /elements/header.html, mt('Quotation View'), $menubar &>
-%#XXX link to order...
+<& /elements/init_overlib.html &>
-<%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 )
+ &>
+% }
- <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |h %></A>
+% if ( $curuser->access_right('One-time charge') ) {
+ | <& /elements/one_time_charge_link.html,
+ map { $_ => $quotation->$_ } qw( quotationnum custnum prospectnum )
+ &>
+% }
+ <BR><BR>
-% 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 ( 1 ) { #if ( $curuser->access_right('Send quotations') )
-% 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>
-% }
+ <& /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,
+ &>
- <BR><BR>
+%# <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |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>
+%#% }
-% }
+% }
-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 ( $error ) {
+<DIV CLASS="error"><% emt('Error calculating quotation: [_1]', $error) %></DIV>
+% }
-% 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>
#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+)$/ ) {
$quotationnum = $cgi->param('quotationnum');
}
-#my $conf = new FS::Conf;
+my $conf = new FS::Conf;
my $quotation = qsearchs({
'select' => 'quotation.*',
});
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(<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 {
+ my ($url,$msg,$title,$label) = (shift,shift,shift,shift);
+ '<A HREF="javascript:areyousure(\''.$url.'\',\''.$msg.'\')" TITLE="'.$title.'">'.$label.'</A>';
}
</%init>