#TODO: contact phone numbers
'comment' => $_->comment,
'selfservice_access' => $_->selfservice_access,
- 'disabled' => $contact->disabled,
+ #'disabled' => $contact->disabled,
};
} $cust_main->cust_contact );
my($context, $session, $custnum) = _custoragent_session_custnum($p);
return { 'error' => $session } if $context eq 'error';
+ return { 'error' => 'Cannot delete the currently-logged in contact.' }
+ if $p->{contactnum} == $session->{contactnum};
+
my $cust_contact = qsearchs('cust_contact', { contactnum => $p->{contactnum},
custnum => $custnum, })
or return { 'error' => 'Unknown contactnum' };
return { 'error' => '', };
}
+sub new_contact {
+ my $p = shift;
+
+ my($context, $session, $custnum) = _custoragent_session_custnum($p);
+ return { 'error' => $session } if $context eq 'error';
+
+ #TODO: add phone numbers too
+ #TODO: specify a classnum by name and/or list_contact_classes method
+
+ my $contact = new FS::contact {
+ 'custnum' => $custnum,
+ map { $_ => $p->{$_} }
+ qw( first last emailaddress classnum comment selfservice_access )
+ };
+
+ $contact->change_password_fields($p->{_password}) if length($p->{_password});
+
+ my $error = $contact->insert;
+ return { 'error' => $error, };
+}
+
1;