summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/misc/disable-quotation.html21
-rw-r--r--httemplate/misc/enable-quotation.html21
-rw-r--r--httemplate/search/elements/search.html10
-rwxr-xr-xhttemplate/search/quotation.html38
-rwxr-xr-xhttemplate/view/cust_main.cgi2
-rwxr-xr-xhttemplate/view/quotation.html77
6 files changed, 105 insertions, 64 deletions
diff --git a/httemplate/misc/disable-quotation.html b/httemplate/misc/disable-quotation.html
new file mode 100644
index 000000000..a6c48299f
--- /dev/null
+++ b/httemplate/misc/disable-quotation.html
@@ -0,0 +1,21 @@
+%if ( $error ) {
+% errorpage($error);
+%} else {
+<% $cgi->redirect($url) %>
+%}
+<%init>
+
+die "access deined"
+ unless $FS::CurrentUser::CurrentUser->access_right('Disable quotation');
+
+$cgi->param('quotationnum') =~ /^(\d+)$/ or die 'illegal quotationnum';
+my $quotationnum = $1;
+
+my $quotation =
+ qsearchs('quotation', { 'quotationnum' => $quotationnum } );
+
+my $error = $quotation->disable;
+
+my( $label, $url ) = $quotation->cust_or_prospect_label_link( popurl(2) );
+
+</%init>
diff --git a/httemplate/misc/enable-quotation.html b/httemplate/misc/enable-quotation.html
new file mode 100644
index 000000000..e5bb49990
--- /dev/null
+++ b/httemplate/misc/enable-quotation.html
@@ -0,0 +1,21 @@
+%if ( $error ) {
+% errorpage($error);
+%} else {
+<% $cgi->redirect(popurl(2)."view/quotation.html?quotationnum=$quotationnum") %>
+%}
+<%init>
+
+die "access deined"
+ unless $FS::CurrentUser::CurrentUser->access_right('Disable quotation');
+
+$cgi->param('quotationnum') =~ /^(\d+)$/ or die 'illegal quotationnum';
+my $quotationnum = $1;
+
+my $quotation =
+ qsearchs('quotation', { 'quotationnum' => $quotationnum } );
+
+my $error = $quotation->enable;
+
+#my( $label, $url ) = $quotation->cust_or_prospect_label_link( popurl(2) );
+
+</%init>
diff --git a/httemplate/search/elements/search.html b/httemplate/search/elements/search.html
index 3fb1e3e74..62a0e4786 100644
--- a/httemplate/search/elements/search.html
+++ b/httemplate/search/elements/search.html
@@ -307,9 +307,11 @@ if ( $opt{'disableable'} ) {
$opt{'query'}{'hashref'}{'disabled'} = '';
$opt{'query'}{'extra_sql'} =~ s/^\s*WHERE/ AND/i;
+ my $table = $opt{'query'}{'table'};
+
$opt{'count_query'} .=
( $opt{'count_query'} =~ /WHERE/i ? ' AND ' : ' WHERE ' ).
- "( disabled = '' OR disabled IS NULL )";
+ "( $table.disabled = '' OR $table.disabled IS NULL )";
} elsif ( $opt{'disabled_statuspos'}
|| $opt{'disabled_statuspos'} eq '0' ) { #add status column
@@ -360,12 +362,6 @@ unless ( $type =~ /^(csv|xml|\w*.xls)$/) {
s/^\s*SELECT\s*(.*?)\s+FROM\s/SELECT COUNT(*) FROM /i; #silly vim:/
}
- if ( $opt{disableable} && ! $cgi->param('showdisabled') ) {
- $opt{count_query} .=
- ( ( $opt{count_query} =~ /WHERE/i ) ? ' AND ' : ' WHERE ' ).
- "( disabled = '' OR disabled IS NULL )";
- }
-
unless ( $type eq 'html-print' ) {
#setup some pagination things if we're in html mode
diff --git a/httemplate/search/quotation.html b/httemplate/search/quotation.html
index fbc35bea1..6badb13b7 100755
--- a/httemplate/search/quotation.html
+++ b/httemplate/search/quotation.html
@@ -1,20 +1,22 @@
<& elements/search.html,
- 'title' => emt('Quotation Search Results'),
- 'html_init' => $html_init,
- 'menubar' => $menubar,
- 'name' => 'quotations',
- 'query' => $sql_query,
- 'count_query' => $count_query,
- 'count_addl' => $count_addl,
- 'redirect' => $link,
- 'header' => [ emt('Quotation #'),
- emt('Setup'),
- emt('Recurring'),
- emt('Date'),
- emt('Prospect'),
- emt('Customer'),
- ],
- 'fields' => [
+ 'title' => emt('Quotation Search Results'),
+ 'html_init' => $html_init,
+ 'menubar' => $menubar,
+ 'name' => 'quotations',
+ 'query' => $sql_query,
+ 'count_query' => $count_query,
+ 'count_addl' => $count_addl,
+ 'redirect' => $link,
+ 'disableable' => 1,
+ 'disabled_statuspos' => 1,
+ 'header' => [ emt('Quotation #'),
+ emt('Setup'),
+ emt('Recurring'),
+ emt('Date'),
+ emt('Prospect'),
+ emt('Customer'),
+ ],
+ 'fields' => [
'quotationnum',
sub { $money_char. shift->total_setup },
sub { $money_char. shift->total_recur },
@@ -27,7 +29,7 @@
},
#\&FS::UI::Web::cust_fields,
],
- 'sort_fields' => [
+ 'sort_fields' => [
'quotationnum',
'', #FS::quotation->total_setup_sql,
'', #FS::quotation->total_recur_sql,
@@ -43,7 +45,7 @@
$link,
$prospect_link,
$cust_link,
- #( map { $_ ne 'Cust. Status' ? $clink : '' }
+ #( map { $_ ne 'Cust. Status' ? $cust_link : '' }
# FS::UI::Web::cust_header()
#),
],
diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi
index 833b6d08c..d18c7f70f 100755
--- a/httemplate/view/cust_main.cgi
+++ b/httemplate/view/cust_main.cgi
@@ -239,7 +239,7 @@ function areyousure(href, message) {
% ###
% if ( $view eq 'jumbo' && $curuser->access_right('Generate quotation') ) {
- <A NAME="quotation"><FONT SIZE="+2"><% mt('Quotations') |h %></FONT></A><BR>
+ <A NAME="quotations"><FONT SIZE="+2"><% mt('Quotations') |h %></FONT></A><BR>
% }
% if ( $view eq 'quotations' || $view eq 'jumbo' ) {
diff --git a/httemplate/view/quotation.html b/httemplate/view/quotation.html
index 4c913257e..b8dc1d1f9 100755
--- a/httemplate/view/quotation.html
+++ b/httemplate/view/quotation.html
@@ -7,47 +7,58 @@ function areyousure(href, message) {
}
</SCRIPT>
-%#XXX link to order...
+% unless ( $quotation->disabled eq 'Y' ) {
-<%doc>
+% 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>
+% }
-XXX resending quotations
+% if ( 1 ) { #if ( $curuser->access_right('Send quotations') )
-% if ( $curuser->access_right('Resend invoices') ) {
+% #if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) {
+%# <A HREF="<% $p %>misc/email-quotation.html?<% $link %>"><% mt('Email this quotation') |h %></A>
+% #}
- <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |h %></A>
+%# <A HREF="<% $p %>misc/send-invoice.cgi?method=print;<% $link %>"><% mt('Re-print this invoice') |h %></A>
-% 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 ( $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>
+%#% }
-% 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>
-% }
+% }
- <BR><BR>
+% if ( $conf->exists('quotation_latex') ) {
+ | <A HREF="<% $p %>view/quotation-pdf.cgi?<% $link %>"><% mt('View typeset quotation PDF') |h %></A>
+% }
-% }
+ <BR><BR>
-</%doc>
+% 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('Order customer package') ) {
- <& /elements/order_pkg_link.html,
- 'label' => emt('Add package'),
- 'actionlabel' => emt('Add package'),
- map { $_ => $quotation->$_ } qw( quotationnum custnum prospectnum )
- &>
% }
-% if ( $conf->exists('quotation_latex') ) {
- | <A HREF="<% $p %>view/quotation-pdf.cgi?<% $link %>"><% mt('View typeset quotation PDF') |h %></A>
+% 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>
% }
-% 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 ( $conf->exists('quotation_html') ) {
<% join('', $quotation->print_html( preref_callback=>$preref_callback )) %>
@@ -83,17 +94,7 @@ my $quotation = qsearchs({
});
die "Quotation #$quotationnum not found!" unless $quotation;
-my $menubar;
-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;