diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-01-19 02:29:23 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-01-19 02:29:23 -0800 |
commit | 8e2372530191ae32938786363885aa4b540e29c7 (patch) | |
tree | bce80235cfbaa36dacbcb6cd4879dc1263a9595c /httemplate/misc | |
parent | 9837c59915b41af2b7f4d348083a70fa549e10b1 (diff) |
import package definitions, RT#32639
Diffstat (limited to 'httemplate/misc')
-rw-r--r-- | httemplate/misc/cust_pkg-import.html | 28 | ||||
-rw-r--r-- | httemplate/misc/part_pkg-import.html | 116 | ||||
-rw-r--r-- | httemplate/misc/process/part_pkg-import.html | 10 |
3 files changed, 139 insertions, 15 deletions
diff --git a/httemplate/misc/cust_pkg-import.html b/httemplate/misc/cust_pkg-import.html index 94e7dd926..e0c0c7ff4 100644 --- a/httemplate/misc/cust_pkg-import.html +++ b/httemplate/misc/cust_pkg-import.html @@ -1,6 +1,6 @@ -<% include("/elements/header.html",'Batch Package Import') %> +<& /elements/header.html, 'Customer package import' &> -Import a file containing package records. +Import a file containing customer packages. <BR><BR> <& /elements/form-file_upload.html, @@ -8,19 +8,18 @@ Import a file containing package records. 'action' => 'process/cust_pkg-import.html', 'num_files' => 1, 'fields' => [ 'agentnum', 'pkgbatch', 'format' ], - 'message' => 'Package import successful', + 'message' => 'Customer package import successful', 'url' => $p."search/cust_pkg.cgi?pkgbatch=$pkgbatch", 'onsubmit' => "document.PackageImportForm.submitButton.disabled=true;" &> <% &ntable("#cccccc", 2) %> - <% include( '/elements/tr-select-agent.html', - #'curr_value' => '', #$agentnum, - 'label' => "<B>Agent</B>", - 'empty_label' => 'Select agent', - ) - %> + <& /elements/tr-select-agent.html, + #'curr_value' => '', #$agentnum, + 'label' => "<B>Agent</B>", + 'empty_label' => 'Select agent', + &> <INPUT TYPE="hidden" NAME="pkgbatch" VALUE="<% $pkgbatch %>"%> @@ -43,11 +42,10 @@ Import a file containing package records. </TD> </TR> - <% include( '/elements/file-upload.html', - 'field' => 'file', - 'label' => 'Filename', - ) - %> + <& /elements/file-upload.html, + 'field' => 'file', + 'label' => 'Filename', + &> <TR> <TD COLSPAN=2 ALIGN="center" STYLE="padding-top:6px"> @@ -171,7 +169,7 @@ Field information: <BR> -<% include('/elements/footer.html') %> +<& /elements/footer.html &> <%once> diff --git a/httemplate/misc/part_pkg-import.html b/httemplate/misc/part_pkg-import.html new file mode 100644 index 000000000..aed734aac --- /dev/null +++ b/httemplate/misc/part_pkg-import.html @@ -0,0 +1,116 @@ +<& /elements/header.html, 'Import package definitions' &> + +Import a file containing package definitions. +<BR><BR> + +<& /elements/form-file_upload.html, + 'name' => 'PackageDefImportForm', + 'action' => 'process/part_pkg-import.html', + 'num_files' => 1, + 'fields' => [ 'agentnum', 'pkgpartbatch', 'format' ], + 'message' => 'Package definition import successful', + 'url' => $p."browse/part_pkg.cgi?pkgpartbatch=$pkgpartbatch", + 'onsubmit' => "document.PackageDefImportForm.submitButton.disabled=true;" +&> + +<% &ntable("#cccccc", 2) %> + + <& /elements/tr-select-agent.html, + #'curr_value' => '', #$agentnum, + 'label' => "<B>Agent</B>", + + 'disable_empty' => 1, + #this doesn't work yet, no type_pkgs records are inserted + #'empty_label' => '(global)', + + #disable_empty => ! $acl_edit_global, + &> + + + <INPUT TYPE="hidden" NAME="pkgpartbatch" VALUE="<% $pkgpartbatch %>"%> + + <TR> + <TH ALIGN="right">Format</TH> + <TD> + <SELECT NAME="format"> + <OPTION VALUE="default" SELECTED>Default + </SELECT> + </TD> + </TR> + + <& /elements/file-upload.html, + 'field' => 'file', + 'label' => 'Filename', + &> + + <TR> + <TD COLSPAN=2 ALIGN="center" STYLE="padding-top:6px"> + <INPUT TYPE = "submit" + NAME = "submitButton" + ID = "submitButton" + VALUE = "Import file" + > + </TD> + </TR> + +</TABLE> + +</FORM> + +<BR> +Uploaded files can be CSV (comma-separated value) files or Excel spreadsheets. The file should have a .CSV or .XLS extension. +<BR><BR> + +<b>Default</b> format has the following field order: <i>agent_pkgpartid, pkg<%$req%>, comment<%$req%>, freq<%$req%>, plan<%$req%>, setup_fee<%$req%>, recur_fee<%$req%>, setup_cost, recur_cost, classnum, taxclass +</i> +<BR><BR> + +<%$req%> Required fields +<BR><BR> + +Field information: + +<ul> + + <li><i>agent_pkgpartid</i>: Current product ID or code + + <li><i>pkg</i>: Package name (customer-visible) + + <li><i>comment</i>: Package comment (customer-hidden) + + <li><i>freq</i>: Recurring fee frequency - 0 for one-time charges, a number of months (i.e. 1 for months, 12 for yearly), or a number followed by h, d or w for hours, days or weeks. + + <li><i>plan</i>: Price plan, i.e. flat, prorate, voip_cdr, etc. + + <li><i>setup_fee</i>: Setup price + + <li><i>recur_fee</i>: Recurring price + + <li><i>setup_cost</i>: Setup cost + + <li><i>recur_cost</i>: Recurring cost + + <li><i>classnum</i>: Package class (integer) + + <li><i>taxclass</i>: Tax class (string) + +</ul> + +<BR> + +<& /elements/footer.html &> + +<%once> + +my $req = qq!<font color="#ff0000">*</font>!; + +</%once> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Import'); + +my $pkgpartbatch = + time2str('webimport-%Y/%m/%d-%T'. "-$$-". rand() * 2**32, time); + +</%init> diff --git a/httemplate/misc/process/part_pkg-import.html b/httemplate/misc/process/part_pkg-import.html new file mode 100644 index 000000000..f951a21c3 --- /dev/null +++ b/httemplate/misc/process/part_pkg-import.html @@ -0,0 +1,10 @@ +<% $server->process %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Import'); + +my $server = + new FS::UI::Web::JSRPC 'FS::part_pkg::Import::process_batch_import', $cgi; + +</%init> |