use C4::InstallAuth;
use CGI qw ( -utf8 );
use C4::Output;
-use C4::Members;
+use C4::Members qw(checkcardnumber);
use Koha::Patrons;
use Koha::Libraries;
use Koha::Database;
use Koha::DateUtils;
+use Koha::Patrons;
use Koha::Patron::Categories;
-use Koha::Patron::Category;
use Koha::ItemTypes;
-use Koha::IssuingRule;
use Koha::IssuingRules;
#Setting variables
eval { $library->store; };
unless ($@) {
- push @messages,
- { type => 'message', code => 'success_on_insert_library' };
+ push @messages, { code => 'success_on_insert_library' };
}
else {
- push @messages,
- { type => 'message', code => 'error_on_insert_library' };
+ push @messages, { code => 'error_on_insert_library' };
}
}
eval { $category->store; };
unless ($@) {
- push @messages,
- { type => 'message', code => 'success_on_insert_category' };
+ push @messages, { code => 'success_on_insert_category' };
}
else {
- push @messages,
- { type => 'message', code => 'error_on_insert_category' };
+ push @messages, { code => 'error_on_insert_category' };
}
}
my $cardnumber = $input->param('cardnumber');
my $userid = $input->param('userid');
+ my ( $is_valid, $passworderror) = Koha::AuthUtils::is_password_valid( $firstpassword );
+
if ( my $error_code = checkcardnumber($cardnumber) ) {
if ( $error_code == 1 ) {
- push @messages,
- {
- type => 'alert',
- code => 'ERROR_cardnumber_already_exists'
- };
+ push @messages, { code => 'ERROR_cardnumber_already_exists' };
}
elsif ( $error_code == 2 ) {
- push @messages,
- { type => 'alert', code => 'ERROR_cardnumber_length' };
+ push @messages, { code => 'ERROR_cardnumber_length' };
}
}
elsif ( $firstpassword ne $secondpassword ) {
- push @messages,
- { type => 'alert', code => 'ERROR_password_mismatch' };
+ push @messages, { code => 'ERROR_password_mismatch' };
}
- else {
+ elsif ( $passworderror) {
+ push @messages, { code => 'ERROR_password_too_short'} if $passworderror eq 'too_short';
+ push @messages, { code => 'ERROR_password_too_weak'} if $passworderror eq 'too_weak';
+ push @messages, { code => 'ERROR_password_has_whitespaces'} if $passworderror eq 'has_whitespaces';
+ }
+ else {
my $patron_data = {
surname => scalar $input->param('surname'),
firstname => scalar $input->param('firstname'),
branchcode => scalar $input->param('libraries'),
categorycode => scalar $input->param('categorycode_entry'),
userid => scalar $input->param('userid'),
- password => scalar $input->param('password'),
- password2 => scalar $input->param('password2'),
privacy => "default",
address => "",
city => "",
- flags => 1, # Will be superlibrarian
+ flags => 1, # Will be superlibrarian
};
my $patron_category =
$patron_data->{dateexpiry} =
$patron_category->get_expiry_date( $patron_data->{dateenrolled} );
- my $borrowernumber = C4::Members::AddMember(%$patron_data);
+ eval {
+ my $patron = Koha::Patron->new($patron_data)->store;
+ $patron->update_password($patron->userid, $firstpassword);
+ };
#Error handling checking if the patron was created successfully
- if ($borrowernumber) {
- push @messages,
- { type => 'message', code => 'success_on_insert_patron' };
+ unless ($@) {
+ push @messages, { code => 'success_on_insert_patron' };
}
else {
- push @messages,
- { type => 'error', code => 'error_on_insert_patron' };
+ warn $@;
+ push @messages, { code => 'error_on_insert_patron' };
}
}
}
eval { $itemtype->store; };
unless ($@) {
- push @messages,
- { type => 'message', code => 'success_on_insert_itemtype' };
+ push @messages, { code => 'success_on_insert_itemtype' };
}
else {
- push @messages,
- { type => 'message', code => 'error_on_insert_itemtype' };
+ push @messages, { code => 'error_on_insert_itemtype' };
}
}
eval { $issuingrule->store; };
unless ($@) {
- push @messages,
- { type => 'message', code => 'success_on_insert_circ_rule' };
+ push @messages, { code => 'success_on_insert_circ_rule' };
}
else {
- push @messages,
- { type => 'message', code => 'error_on_insert_circ_rule' };
+ push @messages, { code => 'error_on_insert_circ_rule' };
}
}
my $libraries = Koha::Libraries->search( {}, { order_by => ['branchcode'] }, );
$template_params->{libraries} = $libraries;
-$template_params->{group_types} = [
- {
- categorytype => 'searchdomain',
- categories => [
- Koha::LibraryCategories->search(
- { categorytype => 'searchdomain' }
- )
- ],
- },
- {
- categorytype => 'properties',
- categories => [
- Koha::LibraryCategories->search( { categorytype => 'properties' } )
- ],
- },
-];
if ( $step > 5 ) {
$template_params->{all_done} = 1; # If step 5 is complete, we are done!