From 7a7776bc564aa2fb03c7c217d9e6f5fd39d8eb5f Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Thu, 15 Oct 2015 21:07:34 -0500 Subject: RT#34960: Quotations [v3 merge] --- httemplate/edit/cust_pkg_detail.html | 3 +- httemplate/edit/process/quotation_pkg_detail.html | 45 +++++++++ httemplate/edit/quotation_pkg_detail.html | 116 ++++++++++++++++++++++ 3 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 httemplate/edit/process/quotation_pkg_detail.html create mode 100644 httemplate/edit/quotation_pkg_detail.html (limited to 'httemplate/edit') diff --git a/httemplate/edit/cust_pkg_detail.html b/httemplate/edit/cust_pkg_detail.html index 5e107066d..b1e60dad5 100644 --- a/httemplate/edit/cust_pkg_detail.html +++ b/httemplate/edit/cust_pkg_detail.html @@ -46,7 +46,7 @@ - + @@ -88,6 +88,7 @@ detail_input.setAttribute('maxLength', 65); detail_input.setAttribute('rownum', rownum); detail_input.onkeyup = possiblyAddRow; + detail_input.onchange = possiblyAddRow; detail_cell.appendChild(detail_input); row.appendChild(detail_cell); diff --git a/httemplate/edit/process/quotation_pkg_detail.html b/httemplate/edit/process/quotation_pkg_detail.html new file mode 100644 index 000000000..2fc420280 --- /dev/null +++ b/httemplate/edit/process/quotation_pkg_detail.html @@ -0,0 +1,45 @@ +% if ( $error ) { +<% header('Error') %> +<% $error |h %>

+
+ +% } else { +<% header($action) %> + + +% } +<%init> + +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('Generate quotation'); + +$cgi->param('pkgnum') =~ /^(\d+)$/ or die 'illegal pkgnum'; +my $pkgnum = $1; + +my $quotation_pkg = qsearchs({ + 'table' => 'quotation_pkg', + 'addl_from' => 'LEFT JOIN quotation USING ( quotationnum )'. + 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'quotationpkgnum' => $pkgnum }, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, +}); + +my @orig_details = $quotation_pkg->details(); + +my $action = 'Quotation details'. + ( scalar(@orig_details) ? ' changed ' : ' added ' ); + +my $param = $cgi->Vars; +my @details = (); +for ( my $row = 0; exists($param->{"detail$row"}); $row++ ) { + push @details, $param->{"detail$row"} + if $param->{"detail$row"} =~ /\S/; +} + +my $error = $quotation_pkg->set_details(@details); + + diff --git a/httemplate/edit/quotation_pkg_detail.html b/httemplate/edit/quotation_pkg_detail.html new file mode 100644 index 000000000..b8f589a9a --- /dev/null +++ b/httemplate/edit/quotation_pkg_detail.html @@ -0,0 +1,116 @@ +<% include("/elements/header-popup.html", $title, '', + ( $cgi->param('error') ? '' : 'onload="addRow()"' ), + ) +%> + +%# <% include('/elements/error.html') %> + +
+ + + + + + + + + + + + + + + + + + + +% my $row = 0; +% for ( @details ) { + + + + + + +% } + +
Package<% $part_pkg->pkg %>
Comment<% $part_pkg->comment |h %>
Detail:
+ +
+ +
+ + +
+ + + + + +<%init> + +my $curuser = $FS::CurrentUser::CurrentUser; + +die "access denied" + unless $curuser->access_right('Generate quotation'); + +$cgi->param('pkgnum') =~ /^(\d+)$/ or die 'illegal pkgnum'; +my $pkgnum = $1; + +my $quotation_pkg = qsearchs({ + 'table' => 'quotation_pkg', + 'addl_from' => 'LEFT JOIN quotation USING ( quotationnum )'. + 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'quotationpkgnum' => $pkgnum }, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, +}); + +my $part_pkg = $quotation_pkg->part_pkg; + +my @details = $quotation_pkg->details; + +my $title = ( scalar(@details) ? 'Edit ' : 'Add ' ). 'Quotation Details'; + + -- cgit v1.2.1