[freeside-commits] branch master updated. 3237b4cfdf3e507d5d4e04f2d3cf9b925d5ee953

Christopher Burger burgerc at 420.am
Tue May 2 06:01:33 PDT 2017


The branch, master has been updated
       via  3237b4cfdf3e507d5d4e04f2d3cf9b925d5ee953 (commit)
      from  afe6bb2515f2bde29a74c056221fd154dc10001f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3237b4cfdf3e507d5d4e04f2d3cf9b925d5ee953
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Tue May 2 09:00:43 2017 -0400

    RT# 73993 updated ngselfservice to allow for package change.

diff --git a/ng_selfservice/packages_change.php b/ng_selfservice/packages_change.php
new file mode 100644
index 0000000..8b4386c
--- /dev/null
+++ b/ng_selfservice/packages_change.php
@@ -0,0 +1,80 @@
+<? $title ='Change Package'; include('elements/header.php'); ?>
+<? $current_menu = 'services.php'; include('elements/menu.php'); ?>
+<?
+
+$customer_info = $freeside->customer_info_short( array(
+  'session_id' => $_COOKIE['session_id'],
+) );
+
+$list_pkgs = $freeside->list_pkgs( array(
+  'session_id' => $_COOKIE['session_id'],
+) );
+
+if ( isset($list_pkgs['error']) && $list_pkgs['error'] ) {
+  $error = $list_pkgs['error'];
+  header('Location:index.php?error='. urlencode($error));
+  die();
+}
+
+extract($list_pkgs);
+
+$get_params = array( 'pkgnum', 'pkg' );
+foreach ( $get_params AS $param ) {
+  $params[$param] = $_GET[$param];
+}
+
+$pkgnum = $_GET['pkgnum'];
+$pkg = $_GET['pkg'];
+
+$pkgselect = $freeside->mason_comp( array(
+    'session_id' => $_COOKIE['session_id'],
+    'comp'       => '/elements/select-part_pkg.html',
+    'args'       => array( 'custnum' => $customer_info['custnum'],
+                           'curr_value' => 'current_value',
+                    ),
+  )
+);
+
+if ( isset($pkgselect['error']) && $pkgselect['error'] ) {
+  $error = $pkgselect['error'];
+  header('Location:index.php?error='. urlencode($error));
+  die();
+}
+
+?>
+
+<SCRIPT TYPE="text/javascript">
+function enable_change_pkg () {
+  if ( document.ChangePkgForm.pkgpart_svcpart.selectedIndex > 0 ) {
+    document.ChangePkgForm.submit.disabled = false;
+  } else {
+    document.ChangePkgForm.submit.disabled = true;
+  }
+}
+</SCRIPT>
+
+<FONT SIZE=4>Purchase replacement package for "<? echo $pkg; ?>"</FONT><BR><BR>
+
+<? include('elements/error.php'); ?>
+
+<FORM NAME="ChangePkgForm" ACTION="process_packages_change.php" METHOD=POST>
+<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0>
+
+<TR>
+  <TD COLSPAN=2>
+    <TABLE><TR><TD> <? echo $pkgselect['output']; ?>
+
+  </TD>
+</TR>
+
+</TABLE>
+<BR>
+<INPUT TYPE="hidden" NAME="custnum" VALUE="<? echo $customer_info['custnum'] ?>">
+<INPUT TYPE="hidden" NAME="pkgnum" VALUE="<? echo $params['pkgnum'] ?>">
+<INPUT TYPE="hidden" NAME="pkg" VALUE="<? echo $params['pkg'] ?>">
+<INPUT TYPE="hidden" NAME="action" VALUE="process_change_pkg">
+<INPUT NAME="submit" TYPE="submit" VALUE="Change Package">
+</FORM>
+
+<? include('elements/menu_footer.php'); ?>
+<? include('elements/footer.php'); ?>
\ No newline at end of file
diff --git a/ng_selfservice/process_packages_change.php b/ng_selfservice/process_packages_change.php
new file mode 100644
index 0000000..114cc6b
--- /dev/null
+++ b/ng_selfservice/process_packages_change.php
@@ -0,0 +1,89 @@
+<? $title ='Change Package'; include('elements/header.php'); ?>
+<? $current_menu = 'services.php'; include('elements/menu.php'); ?>
+
+<?
+
+require_once('elements/session.php');
+
+$results = array();
+
+$params = array( 'custnum', 'pkgpart', 'pkgnum' );
+
+$matches = array();
+if ( preg_match( '/^(\d+)_(\d+)$/', $_POST['pkgpart_svcpart'], $matches ) ) {
+  $_POST['pkgpart'] = $matches[1];
+  $_POST['svcpart'] = $matches[2];
+  $params[] = 'svcpart';
+  $svcdb = $_POST['svcdb'];
+  if ( $svcdb == 'svc_acct' ) { $params[] = 'domsvc'; }
+} else {
+  $svcdb = 'svc_acct';
+}
+
+if ( $svcdb == 'svc_acct' ) {
+
+  array_push($params, 'username', '_password', '_password2', 'sec_phrase', 'popnum' );
+
+  #if ( strlen($_POST['_password']) == 0 ) {
+  #  $results['error'] = 'Empty password';
+  #}
+  #if ( $_POST['_password'] != $_POST['_password'] ) {
+  #  $results['error'] = 'Passwords do not match';
+  #  $_POST['_password'] = '';
+  #  $_POST['_password2'] = '';
+  #}
+
+} elseif ( $svcdb == 'svc_phone' ) {
+
+  array_push($params, 'phonenum', 'sip_password', 'pin', 'phone_name' );
+
+} else {
+  die("$svcdb not handled on process_change_pkg yet");
+}
+
+if ( ! $results['error'] ) {
+
+  $change_pkg = array(
+    'session_id' => $_COOKIE['session_id'],
+  );
+
+  foreach ( $params AS $param ) {
+    $change_pkg[$param] = $_POST[$param];
+  }
+
+  $results = $freeside->change_pkg($change_pkg);
+
+  echo $results;
+
+}
+
+#  if ( $results->{'error'} ) {
+#    $action = 'customer_change_pkg';
+#    return {
+#      $cgi->Vars,
+#      %{customer_change_pkg()},
+#      'error' => '<FONT COLOR="#FF0000">'. $results->{'error'}. '</FONT>',
+#    };
+#  } else {
+#    return $results;
+#  }
+
+
+## reload below except pkgnum
+if ( isset($results['error']) && $results['error'] ) {
+  $error = $results['error'];
+#  header('Location:services.php?error='. urlencode($error));
+#  die();
+}
+
+#$pkgnum = $results['pkgnum'];
+
+#header("Location:services.php"); # #pkgnum ?
+## end reload
+?>
+<? include('elements/error.php'); ?>
+
+<FONT SIZE=4>Package Changed Su for "<? echo $pkg; ?>"</FONT><BR><BR>
+
+<? include('elements/menu_footer.php'); ?>
+<? include('elements/footer.php'); ?>
\ No newline at end of file

-----------------------------------------------------------------------

Summary of changes:
 ng_selfservice/packages_change.php         |   80 +++++++++++++++++++++++++
 ng_selfservice/process_packages_change.php |   89 ++++++++++++++++++++++++++++
 2 files changed, 169 insertions(+)
 create mode 100644 ng_selfservice/packages_change.php
 create mode 100644 ng_selfservice/process_packages_change.php




More information about the freeside-commits mailing list