[freeside-commits] branch FREESIDE_4_BRANCH updated. 6943275936a1a21a60ad3fa0cad44418ed18f07f

Christopher Burger burgerc at 420.am
Fri Aug 18 08:38:24 PDT 2017


The branch, FREESIDE_4_BRANCH has been updated
       via  6943275936a1a21a60ad3fa0cad44418ed18f07f (commit)
       via  8e9c42dc0e0291bda72a4d87259ee5020e3634ef (commit)
       via  862e1bf16a977784a73d6b0e413712830de408e6 (commit)
       via  77baa73413d756538cfb6f10dac71b60604f0184 (commit)
      from  8d07cd00e98b3b0e5f95a304d419382d4d35acff (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 6943275936a1a21a60ad3fa0cad44418ed18f07f
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Tue Aug 1 17:36:05 2017 -0400

    RT# 75817 - fixed bug to only send email out to contact that is being enabled not to all enabled contacts

diff --git a/httemplate/elements/contact.html b/httemplate/elements/contact.html
index 7d1f160..faee7ea 100644
--- a/httemplate/elements/contact.html
+++ b/httemplate/elements/contact.html
@@ -57,7 +57,7 @@
             >
               <OPTION VALUE="">Disabled
 %             if ( $value || $self_base_url ) {
-                <OPTION VALUE="E" <% $value eq 'Y' ? 'SELECTED' : '' %>>Enabled
+                <OPTION VALUE="<% $value eq 'Y' ? 'Y' : 'E' %>" <% $value eq 'Y' ? 'SELECTED' : '' %>>Enabled
 %               if ( $value eq 'Y' && $self_base_url ) {
                   <OPTION VALUE="R">Re-email
                   <OPTION VALUE="P"><% $pwd_change_label %>

commit 8e9c42dc0e0291bda72a4d87259ee5020e3634ef
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Tue Aug 1 15:08:57 2017 -0400

    RT# 75817 - fixed enable selection to send password reset and to allow you to set password in one step

diff --git a/FS/FS/cust_contact.pm b/FS/FS/cust_contact.pm
index 6820ac4..118a9e0 100644
--- a/FS/FS/cust_contact.pm
+++ b/FS/FS/cust_contact.pm
@@ -106,7 +106,7 @@ and replace methods.
 sub check {
   my $self = shift;
 
-  if ( $self->selfservice_access eq 'R' || $self->selfservice_access eq 'P') {
+  if ( $self->selfservice_access eq 'R' || $self->selfservice_access eq 'E' || $self->selfservice_access eq 'P') {
     $self->selfservice_access('Y');
     $self->_resend('Y');
   }
diff --git a/httemplate/elements/contact.html b/httemplate/elements/contact.html
index 850c254..7d1f160 100644
--- a/httemplate/elements/contact.html
+++ b/httemplate/elements/contact.html
@@ -57,7 +57,7 @@
             >
               <OPTION VALUE="">Disabled
 %             if ( $value || $self_base_url ) {
-                <OPTION VALUE="Y" <% $value eq 'Y' ? 'SELECTED' : '' %>>Enabled
+                <OPTION VALUE="E" <% $value eq 'Y' ? 'SELECTED' : '' %>>Enabled
 %               if ( $value eq 'Y' && $self_base_url ) {
                   <OPTION VALUE="R">Re-email
                   <OPTION VALUE="P"><% $pwd_change_label %>
@@ -74,7 +74,7 @@
                   &>
             <SCRIPT TYPE="text/javascript">
                     document.getElementById("<%$id%>_<%$field%>").onchange = function() {
-                      if (this.value == "P") { changepw<%$id%>_toggle(true); }
+                      if (this.value == "P" || this.value == "E") { changepw<%$id%>_toggle(true); }
                       return false
                     }
             </SCRIPT>

commit 862e1bf16a977784a73d6b0e413712830de408e6
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Thu Jul 6 11:52:22 2017 -0400

    RT# 75817 - fixed contact password page to be more consistant with svc password page, updated javascript to check password as you type rather than when you leave the field.

diff --git a/FS/FS/contact.pm b/FS/FS/contact.pm
index 9c83338..a429c2d 100644
--- a/FS/FS/contact.pm
+++ b/FS/FS/contact.pm
@@ -577,6 +577,15 @@ sub replace {
     }
   }
 
+  if ( $self->get('password') ) {
+    my $error = $self->is_password_allowed($self->get('password'))
+          ||  $self->change_password($self->get('password'));
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return $error;
+    }
+  }
+
   $dbh->commit or die $dbh->errstr if $oldAutoCommit;
 
   '';
@@ -663,7 +672,7 @@ and replace methods.
 sub check {
   my $self = shift;
 
-  if ( $self->selfservice_access eq 'R' ) {
+  if ( $self->selfservice_access eq 'R' || $self->selfservice_access eq 'P' ) {
     $self->selfservice_access('Y');
     $self->_resend('Y');
   }
@@ -951,7 +960,7 @@ sub cgi_contact_fields {
 
   my @contact_fields = qw(
     classnum first last title comment emailaddress selfservice_access
-    invoice_dest
+    invoice_dest password
   );
 
   push @contact_fields, 'phonetypenum'. $_->phonetypenum
diff --git a/FS/FS/cust_contact.pm b/FS/FS/cust_contact.pm
index f0f8bfb..6820ac4 100644
--- a/FS/FS/cust_contact.pm
+++ b/FS/FS/cust_contact.pm
@@ -106,7 +106,7 @@ and replace methods.
 sub check {
   my $self = shift;
 
-  if ( $self->selfservice_access eq 'R' ) {
+  if ( $self->selfservice_access eq 'R' || $self->selfservice_access eq 'P') {
     $self->selfservice_access('Y');
     $self->_resend('Y');
   }
diff --git a/httemplate/elements/change_password.html b/httemplate/elements/change_password.html
index a8cc883..463384f 100644
--- a/httemplate/elements/change_password.html
+++ b/httemplate/elements/change_password.html
@@ -8,69 +8,81 @@
   display: none;
 }
 </STYLE>
+% if (!$opt{'no_label_display'}) {
 <A ID="<%$pre%>link" HREF="javascript:void(0)" onclick="<%$pre%>toggle(true)">(<% emt( $change_title ) %>)</A>
+% }
 <DIV ID="<%$pre%>form" CLASS="passwordbox">
+% if (!$opt{'noformtag'}) {
   <FORM METHOD="POST" ACTION="<%$fsurl%>misc/process/change-password.html">
-    <% $change_id_input %>
-    <INPUT TYPE="text" ID="<%$pre%>password" NAME="password" VALUE="<% $curr_value |h%>">
-    <& /elements/random_pass.html, $pre.'password', 'randomize' &>
-    <INPUT TYPE="submit" VALUE="change">
-% if ($opt{'popup'}) {
-    <INPUT TYPE="button" VALUE="cancel" onclick="parent.cClick();">
 % }
-% else {
-    <INPUT TYPE="button" VALUE="cancel" onclick="<%$pre%>toggle(false)">  
+
+    <% $change_id_input %>
+    <INPUT TYPE="text" ID="<%$pre%>password" NAME="<% $opt{'pre_pwd_field_label'} %>password" VALUE="<% $curr_value |h%>">
+    <& /elements/random_pass.html, $pre.'password', 'randomize', $change_button_id &>
+% if (!$opt{'noformtag'}) {
+    <INPUT TYPE="submit" ID="<%$change_button_id%>" VALUE="change" disabled="disabled">
+% } else {
+    <INPUT TYPE="button" ID="<%$change_button_id%>" VALUE="change" onclick="<%$pre%>toggle(false)" disabled="disabled">
 %}
+    <INPUT TYPE="button" ID="<%$pre%>cancel_button" VALUE="cancel" onclick="<%$pre%>toggle(false, true)">
+
     <DIV ID="<%$pre%>password_result" STYLE="font-size: smaller"></DIV>
     <& '/elements/validate_password.html', 
          'fieldid'    => $pre.'password',
          'svcnum'     => $svcnum,
-         'contactnum' => $contactnum,
+         'contactnum' => $opt{'contact_num'},
+         'submitid'   => $change_button_id,
     &>
 % if ( $error ) {
     <BR><SPAN STYLE="color: #ff0000"><% $error |h %></SPAN>
 % }
+
+% if (!$opt{'noformtag'}) {
   </FORM>
+% }
+
 </DIV>
 <SCRIPT TYPE="text/javascript">
-function <%$pre%>toggle(val) {
+function <%$pre%>toggle(toggle, clear) {
+  if (clear) {
+    document.getElementById('<%$pre%>password').value = '';
+    document.getElementById('<%$pre%>password_result').innerHTML = '';
+% if ($opt{'contact_num'}) {
+    document.getElementById('<% $opt{'pre_pwd_field_label'} %>selfservice_access').value = 'Y';
+% }
+}
   document.getElementById('<%$pre%>form').style.display =
-    val ? 'inline-block' : 'none';
+    toggle ? 'inline-block' : 'none';
+% if (!$opt{'no_label_display'}) {
   document.getElementById('<%$pre%>link').style.display =
-    val ? 'none' : 'inline';
-}
-% if ( $error || $opt{'popup'} ) {
-<%$pre%>toggle(true);
+    toggle ? 'none' : 'inline';
 % }
+}
 </SCRIPT>
 <%init>
 my %opt = @_;
 
-my $contactnum = $opt{'contact_num'};
 my $curr_value = $opt{'curr_value'} || '';
 my $change_title = $opt{'label'} || 'change';
-
 my $svcnum;
 my $change_id_input = '';
 my $pre = 'changepw';
 
 if ($opt{'svc_acct'}) {
   my $svc_acct = $opt{'svc_acct'};
-  $change_id_input = '<INPUT TYPE="hidden" NAME="svcnum" VALUE="' . $svc_acct->svcnum . '">';
+  $change_id_input = '<INPUT TYPE="hidden" NAME="'.$opt{'pre_pwd_field_label'}.'svcnum" VALUE="' . $svc_acct->svcnum . '">';
   $pre .= $svc_acct->svcnum . '_';
   $svcnum = $svc_acct->svcnum;
 }
 elsif ($opt{'contact_num'}) {
   $change_id_input = '
-    <INPUT TYPE="hidden" NAME="contactnum" VALUE="' . $opt{'contact_num'} . '">
-    <INPUT TYPE="hidden" NAME="custnum" VALUE="' . $opt{'custnum'} . '">
+    <INPUT TYPE="hidden" NAME="'.$opt{'pre_pwd_field_label'}.'contactnum" VALUE="' . $opt{'contact_num'} . '">
+    <INPUT TYPE="hidden" NAME="'.$opt{'pre_pwd_field_label'}.'custnum" VALUE="' . $opt{'custnum'} . '">
   ';
-  $pre .= $opt{'contact_num'} . '_';
+  $pre .= $opt{'pre_pwd_field_label'};
 }
 
-if ($opt{'popup'}) {
-  $change_id_input .= '<INPUT TYPE="hidden" NAME="popup" VALUE="' . $opt{'popup'} . '">';
-}
+my $change_button_id = $pre.'change_button';
 
  my $error = $cgi->param($pre.'error');
 </%init>
diff --git a/httemplate/elements/contact.html b/httemplate/elements/contact.html
index d690290..850c254 100644
--- a/httemplate/elements/contact.html
+++ b/httemplate/elements/contact.html
@@ -50,17 +50,34 @@
 
         <TD>
 %         if ( $field eq 'selfservice_access' ) {
+
             <SELECT NAME = "<%$name%>_<%$field%>"
                     ID   = "<%$id%>_<%$field%>"
+                    STYLE = "width: 140px"
             >
               <OPTION VALUE="">Disabled
 %             if ( $value || $self_base_url ) {
                 <OPTION VALUE="Y" <% $value eq 'Y' ? 'SELECTED' : '' %>>Enabled
 %               if ( $value eq 'Y' && $self_base_url ) {
                   <OPTION VALUE="R">Re-email
+                  <OPTION VALUE="P"><% $pwd_change_label %>
 %               }
 %             }
             </SELECT>
+                  <& /elements/change_password.html,
+                   'contact_num'         => $curr_value,
+                   'custnum'             => $opt{'custnum'},
+                   'curr_value'          => '',
+                   'no_label_display'    => '1',
+                   'noformtag'           => '1',
+                   'pre_pwd_field_label' => $id.'_',
+                  &>
+            <SCRIPT TYPE="text/javascript">
+                    document.getElementById("<%$id%>_<%$field%>").onchange = function() {
+                      if (this.value == "P") { changepw<%$id%>_toggle(true); }
+                      return false
+                    }
+            </SCRIPT>
 %         } elsif ( $field eq 'invoice_dest' ) {
 %           my $curr_value = $cgi->param($name . '_' . $field);
 %           $curr_value = $value if !defined($curr_value);
@@ -85,24 +102,6 @@
           <FONT SIZE="-1"><% $label{$field} %></FONT>
         </TD>
 %     }
-%     my $pwd_change_label = 'change';
-%     $pwd_change_label = 'setup' unless $contact->_password;
-%     my $action = $fsurl . "edit/cust_main-contacts-password.html?custnum=" . $opt{'custnum'} . "&contactnum=" . $curr_value . "&label=" . $pwd_change_label . "&popup=1";
-%     if ($curr_value) {
-        <TD>
-          <% include('/elements/popup_link.html',
-                         'action'      => $action,
-                         'width'       => '763',
-                         'height'      => '408',
-                         'actionlabel' => "$pwd_change_label password",
-                         'html_label'  => "$pwd_change_label password",
-
-                    )
-          %>
-          <br>
-          <FONT SIZE="-1">Password</FONT>
-        </TD>
-%     }
     </TR>
   </TABLE>
 
@@ -113,9 +112,6 @@ my( %opt ) = @_;
 
 my $conf = new FS::Conf;
 
-use Data::Dumper;
-print Dumper($conf->config);
-
 my $self_base_url = $conf->config('selfservice_server-base_url');
 
 my $name = $opt{'element_name'} || $opt{'field'} || 'contactnum';
@@ -187,4 +183,7 @@ $label{'comment'} = 'Comment';
 
 my @fields = $opt{'name_only'} ? qw( first last ) : keys %label;
 
+my $pwd_change_label = 'Change Password';
+$pwd_change_label = 'Setup Password' unless $contact->_password;
+
 </%init>
diff --git a/httemplate/elements/random_pass.html b/httemplate/elements/random_pass.html
index 1517a55..778aa20 100644
--- a/httemplate/elements/random_pass.html
+++ b/httemplate/elements/random_pass.html
@@ -1,6 +1,6 @@
-<INPUT TYPE="button" VALUE="<% emt($label) %>" onclick="randomPass()">
+<INPUT TYPE="button" VALUE="<% emt($label) %>" onclick="<% $id %>randomPass()">
 <SCRIPT TYPE="text/javascript">
-function randomPass() {
+function <% $id %>randomPass() {
   var pw_set = <% $pw_set |js_string %>;
   var lower = <% $lower |js_string %>;
   var upper = <% $upper |js_string %>;
@@ -19,11 +19,15 @@ function randomPass() {
   for(var j, x, i = pass.length; i; j = Math.floor(Math.random() * i), x = pass[--i], pass[i] = pass[j], pass[j] = x);
   pass = pass.join('');
   document.getElementById('<% $id %>').value = pass;
+% if ($submitid) {
+    document.getElementById('<% $submitid %>').disabled = false;
+% }
 }
 </SCRIPT>
 <%init>
 my $id = shift;
 my $label = shift || 'Generate';
+my $submitid = shift;
 my $pw_set = join('', FS::Password_Mixin->pw_set);
 my $lower = join('', $pw_set =~ /[[:lower:]]/g);
 my $upper = join('', $pw_set =~ /[[:upper:]]/g);
diff --git a/httemplate/elements/validate_password.html b/httemplate/elements/validate_password.html
index bd385a6..3d23a55 100644
--- a/httemplate/elements/validate_password.html
+++ b/httemplate/elements/validate_password.html
@@ -20,9 +20,9 @@ should be the input id plus '_result'.
     'method' => 'POST', # important not to put passwords in url
 &>
 <SCRIPT>
-function add_password_validation (fieldid) {
+function add_password_validation (fieldid, submitid) {
   var inputfield = document.getElementById(fieldid);
-  inputfield.onchange = function () {
+  inputfield.onkeyup = function () {
     var fieldid = this.id+'_result';
     var resultfield = document.getElementById(fieldid);
     if (this.value) {
@@ -36,11 +36,14 @@ function add_password_validation (fieldid) {
             var validimg = '<IMG SRC="<% $p %>images/tick.png" style="width: 1em; display: inline-block; padding-right: .5em">';
             if (result.valid) {
               resultfield.innerHTML = validimg+'<SPAN STYLE="color: green;">Password valid!</SPAN>';
+              if (submitid){ document.getElementById(submitid).disabled = false; }
             } else if (result.error) {
               resultfield.innerHTML = errorimg+'<SPAN STYLE="color: red;">'+result.error+'</SPAN>';
+              if (submitid){ document.getElementById(submitid).disabled = true; }
             } else {
               result.syserror = result.syserror || 'Server error';
               resultfield.innerHTML = errorimg+'<SPAN STYLE="color: red;">'+result.syserror+'</SPAN>';
+              if (submitid){ document.getElementById(submitid).disabled = true; }
             }
           }
         }
@@ -50,7 +53,8 @@ function add_password_validation (fieldid) {
     }
   };
 }
-add_password_validation('<% $opt{'fieldid'} %>');
+
+add_password_validation('<% $opt{'fieldid'} %>', '<% $opt{'submitid'} %>');
 </SCRIPT>
 
 <%init>

commit 77baa73413d756538cfb6f10dac71b60604f0184
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Thu Jun 29 12:51:25 2017 -0400

    RT# 75817 - updated set contact password to use popup window. fixes break in first contact.

diff --git a/httemplate/edit/cust_main-contacts-password.html b/httemplate/edit/cust_main-contacts-password.html
new file mode 100644
index 0000000..e3c1d6f
--- /dev/null
+++ b/httemplate/edit/cust_main-contacts-password.html
@@ -0,0 +1,34 @@
+<% include("/elements/header-popup.html", $title) %>
+For Contact <% $contact->first %> <% $contact->last %>
+<P>
+<& /elements/change_password.html,
+              'contact_num' => $contactnum,
+              'custnum'     => $custnum,
+              'curr_value'  => '',
+              'label'       => $label,
+              'popup'       => $popup,
+&>
+
+<%init>
+
+my $curuser = $FS::CurrentUser::CurrentUser;
+
+$cgi->param('contactnum') =~ /^(\d+)$/ or die "illegal contactnum" if $cgi->param('contactnum');
+my $contactnum = $1;
+
+$cgi->param('custnum') =~ /^(\d+)$/ or die "illegal customernum" if $cgi->param('custnum');
+my $custnum = $1;
+
+my $label = "change password";
+$label = "set password" unless ($cgi->param('label') eq "change");
+my $title = $label;
+$title =~ s/\b(\w)/\U$1/g;
+
+my $popup = $cgi->param('popup');
+
+die "access denied"
+    unless $curuser->access_right(($custnum ? 'Edit' : 'New'). ' customer'); #password?
+
+my $contact = qsearchs('contact', { 'contactnum' => $contactnum } );
+
+</%init>
\ No newline at end of file
diff --git a/httemplate/elements/change_password.html b/httemplate/elements/change_password.html
index b3a432f..a8cc883 100644
--- a/httemplate/elements/change_password.html
+++ b/httemplate/elements/change_password.html
@@ -15,7 +15,12 @@
     <INPUT TYPE="text" ID="<%$pre%>password" NAME="password" VALUE="<% $curr_value |h%>">
     <& /elements/random_pass.html, $pre.'password', 'randomize' &>
     <INPUT TYPE="submit" VALUE="change">
-    <INPUT TYPE="button" VALUE="cancel" onclick="<%$pre%>toggle(false)">
+% if ($opt{'popup'}) {
+    <INPUT TYPE="button" VALUE="cancel" onclick="parent.cClick();">
+% }
+% else {
+    <INPUT TYPE="button" VALUE="cancel" onclick="<%$pre%>toggle(false)">  
+%}
     <DIV ID="<%$pre%>password_result" STYLE="font-size: smaller"></DIV>
     <& '/elements/validate_password.html', 
          'fieldid'    => $pre.'password',
@@ -34,7 +39,7 @@ function <%$pre%>toggle(val) {
   document.getElementById('<%$pre%>link').style.display =
     val ? 'none' : 'inline';
 }
-% if ( $error ) {
+% if ( $error || $opt{'popup'} ) {
 <%$pre%>toggle(true);
 % }
 </SCRIPT>
@@ -63,5 +68,9 @@ elsif ($opt{'contact_num'}) {
   $pre .= $opt{'contact_num'} . '_';
 }
 
+if ($opt{'popup'}) {
+  $change_id_input .= '<INPUT TYPE="hidden" NAME="popup" VALUE="' . $opt{'popup'} . '">';
+}
+
  my $error = $cgi->param($pre.'error');
 </%init>
diff --git a/httemplate/elements/contact.html b/httemplate/elements/contact.html
index e1e4b6d..d690290 100644
--- a/httemplate/elements/contact.html
+++ b/httemplate/elements/contact.html
@@ -85,18 +85,20 @@
           <FONT SIZE="-1"><% $label{$field} %></FONT>
         </TD>
 %     }
-%     my $pwd_change_label = 'change password';
-%     $pwd_change_label = 'setup password' unless $contact->_password;
+%     my $pwd_change_label = 'change';
+%     $pwd_change_label = 'setup' unless $contact->_password;
+%     my $action = $fsurl . "edit/cust_main-contacts-password.html?custnum=" . $opt{'custnum'} . "&contactnum=" . $curr_value . "&label=" . $pwd_change_label . "&popup=1";
 %     if ($curr_value) {
         <TD>
-          <span STYLE="white-space: nowrap">
-            <& /elements/change_password.html,
-              'contact_num' => $curr_value,
-              'custnum'     => $opt{'custnum'},
-              'curr_value'  => '',
-              'label'       => $pwd_change_label,
-            &>
-          </span>
+          <% include('/elements/popup_link.html',
+                         'action'      => $action,
+                         'width'       => '763',
+                         'height'      => '408',
+                         'actionlabel' => "$pwd_change_label password",
+                         'html_label'  => "$pwd_change_label password",
+
+                    )
+          %>
           <br>
           <FONT SIZE="-1">Password</FONT>
         </TD>
@@ -110,6 +112,10 @@
 my( %opt ) = @_;
 
 my $conf = new FS::Conf;
+
+use Data::Dumper;
+print Dumper($conf->config);
+
 my $self_base_url = $conf->config('selfservice_server-base_url');
 
 my $name = $opt{'element_name'} || $opt{'field'} || 'contactnum';
diff --git a/httemplate/misc/process/change-password.html b/httemplate/misc/process/change-password.html
index 250e832..be83786 100644
--- a/httemplate/misc/process/change-password.html
+++ b/httemplate/misc/process/change-password.html
@@ -1,3 +1,32 @@
+% if ( $error ) {
+%	if ($svcnum) {
+%   		$cgi->param('svcnum', $svcnum);
+%   		$cgi->param("changepw${svcnum}_error", $error);
+%	}
+%	elsif ($contactnum) {
+%   		$cgi->param('contactnum', $contactnum);
+%   		$cgi->param("changepw${contactnum}_error", $error);
+%	}
+% } else {
+%	if ($svcnum) { $cgi->query_string($svcnum); }
+%	elsif ($contactnum) { $cgi->query_string($contactnum); }
+% }
+
+% if (!$popup) {
+%   if ($svcnum) { 
+	 <% $cgi->redirect($fsurl.'view/svc_acct.cgi?'.$cgi->query_string) %>
+%   }
+%   elsif ($contactnum) { 
+	 <% $cgi->redirect($fsurl.'edit/cust_main-contacts.html?'.$cgi->param('custnum')) %>
+%   }
+% }
+
+<& /elements/header-popup.html, 'Password Set' &>
+<SCRIPT TYPE="text/javascript">
+  topreload();
+  parent.cClick();
+</SCRIPT>
+
 <%init>
 my $curuser = $FS::CurrentUser::CurrentUser;
 
@@ -7,6 +36,8 @@ my $svcnum = $1;
 $cgi->param('contactnum') =~ /^(\d+)$/ or die "illegal contactnum" if $cgi->param('contactnum');
 my $contactnum = $1;
 
+my $popup = $cgi->param('popup');
+
 my $newpass = $cgi->param('password');
 
 my $error;
@@ -39,25 +70,4 @@ elsif ($contactnum) {
 	#$cgi->delete('password');
 }
 
-</%init>
-% if ( $error ) {
-%	if ($svcnum) {
-%   		$cgi->param('svcnum', $svcnum);
-%   		$cgi->param("changepw${svcnum}_error", $error);
-%	}
-%	elsif ($contactnum) {
-%   		$cgi->param('contactnum', $contactnum);
-%   		$cgi->param("changepw${contactnum}_error", $error);
-%	}
-% } else {
-%	if ($svcnum) { $cgi->query_string($svcnum); }
-%	elsif ($contactnum) { $cgi->query_string($contactnum); }
-% }
-%warn('my pwd error is ' . $error . ' end');
-% if ($svcnum) { 
-	<% $cgi->redirect($fsurl.'view/svc_acct.cgi?'.$cgi->query_string) %>
-% }
-% elsif ($contactnum) { 
-	<% $cgi->redirect($fsurl.'edit/cust_main-contacts.html?'.$cgi->param('custnum')) %>
-% }
-
+</%init>
\ No newline at end of file

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

Summary of changes:
 FS/FS/contact.pm                                 |   13 ++++-
 FS/FS/cust_contact.pm                            |    2 +-
 httemplate/edit/cust_main-contacts-password.html |   34 +++++++++++++
 httemplate/elements/change_password.html         |   55 +++++++++++++++-------
 httemplate/elements/contact.html                 |   39 ++++++++-------
 httemplate/elements/random_pass.html             |    8 +++-
 httemplate/elements/validate_password.html       |   10 ++--
 httemplate/misc/process/change-password.html     |   54 ++++++++++++---------
 8 files changed, 151 insertions(+), 64 deletions(-)
 create mode 100644 httemplate/edit/cust_main-contacts-password.html




More information about the freeside-commits mailing list