import customer from Excel file too
[freeside.git] / httemplate / misc / cust_main-import.cgi
index cf0bac7..8e170c3 100644 (file)
@@ -1,6 +1,6 @@
 <% include("/elements/header.html",'Batch Customer Import') %>
 
-Import a CSV file containing customer records.
+Import a file containing customer records.
 <BR><BR>
 
 <FORM ACTION="process/cust_main-import.cgi" METHOD="post" ENCTYPE="multipart/form-data">
@@ -20,13 +20,14 @@ Import a CSV file containing customer records.
     <SELECT NAME="format">
 <!--      <OPTION VALUE="simple">Simple -->
       <OPTION VALUE="extended" SELECTED>Extended
+      <OPTION VALUE="extended-plus_company">Extended plus company
     </SELECT>
   </TD>
 </TR>
 
 <TR>
-  <TH ALIGN="right">CSV filename</TH>
-  <TD><INPUT TYPE="file" NAME="csvfile"></TD>
+  <TH ALIGN="right">Filename</TH>
+  <TD><INPUT TYPE="file" NAME="file"></TD>
 </TR>
 % #include('/elements/tr-select-part_referral.html')
 %
@@ -36,6 +37,7 @@ Import a CSV file containing customer records.
 <TR>
   <TH>First package</TH>
   <TD>
+    This needs to be agent-virtualized if it gets used!
     <SELECT NAME="pkgpart"><OPTION VALUE="">(none)</OPTION>
 % foreach my $part_pkg ( qsearch('part_pkg',{'disabled'=>'' }) ) { 
 
@@ -47,7 +49,7 @@ Import a CSV file containing customer records.
 </TR>
 -->
 
-<TR><TD COLSPAN=2 ALIGN="center" STYLE="padding-top:6px"><INPUT TYPE="submit" VALUE="Import CSV file"></TD></TR>
+<TR><TD COLSPAN=2 ALIGN="center" STYLE="padding-top:6px"><INPUT TYPE="submit" VALUE="Import file"></TD></TR>
 
 </TABLE>
 
@@ -58,7 +60,13 @@ Import a CSV file containing customer records.
 <!-- Simple file format is CSV, with the following field order: <i>cust_pkg.setup, dayphone, first, last, address1, address2, city, state, zip, comments</i>
 <BR><BR> -->
 
-Extended file format is CSV, with the following field order: <i>agent_custid, refnum<%$req%>, last<%$req%>, first<%$req%>, address1<%$req%>, address2, city<%$req%>, state<%$req%>, zip<%$req%>, country, daytime, night, ship_last, ship_first, ship_address1, ship_address2, ship_city, ship_state, ship_zip, ship_country, payinfo<%$req%>, paycvv, paydate<%$req%>, invoicing_list, pkgpart, username, _password</i>
+Uploaded files can be CSV (comma-separated value) files or Excel spreadsheets.  The file should have a .CSV or .XLS extension.
+<BR><BR>
+
+<b>Extended</b> format has the following field order: <i>agent_custid, refnum<%$req%>, last<%$req%>, first<%$req%>, address1<%$req%>, address2, city<%$req%>, state<%$req%>, zip<%$req%>, country, daytime, night, ship_last, ship_first, ship_address1, ship_address2, ship_city, ship_state, ship_zip, ship_country, payinfo, paycvv, paydate, invoicing_list, pkgpart, username, _password</i>
+<BR><BR>
+
+<b>Extended plus company</b> format has the following field order: <i>agent_custid, refnum<%$req%>, last<%$req%>, first<%$req%>, company, address1<%$req%>, address2, city<%$req%>, state<%$req%>, zip<%$req%>, country, daytime, night, ship_last, ship_first, ship_company, ship_address1, ship_address2, ship_city, ship_state, ship_zip, ship_country, payinfo, paycvv, paydate, invoicing_list, pkgpart, username, _password</i>
 <BR><BR>
 
 <%$req%> Required fields
@@ -78,7 +86,7 @@ advertising source table.
 
   <li><i>paycvv</i>: CVV2 number (three digits on the back of the credit card)
 
-  <li><i>paydate</i>: Credit card expiration date.
+  <li><i>paydate</i>: Credit card expiration date, MM/YYYY or MM/YY (M/YY and M/YYYY are also accepted).
 
   <li><i>invoicing_list</i>: Email address for invoices, or POST for postal invoices.
 
@@ -92,5 +100,13 @@ advertising source table.
 <% include('/elements/footer.html') %>
 
 <%once>
+
 my $req = qq!<font color="#ff0000">*</font>!;
+
 </%once>
+<%init>
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Import');
+
+</%init>