Bug 22048: Use set_password in create_superlibrarian.pl
[koha.git] / misc / devel / create_superlibrarian.pl
1 #!/usr/bin/perl
2
3 # This file is part of Koha.
4 #
5 # Copyright 2016 Koha Development Team
6 #
7 # Koha is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20 use Modern::Perl;
21 use Getopt::Long;
22 use Pod::Usage;
23
24 use Koha::Patrons;
25
26 my ( $help, $surname, $userid, $password, $branchcode, $categorycode, $cardnumber );
27 GetOptions(
28     'help|?'         => \$help,
29     'userid=s'       => \$userid,
30     'password=s'     => \$password,
31     'branchcode=s'   => \$branchcode,
32     'categorycode=s' => \$categorycode,
33     'cardnumber=s'   => \$cardnumber,
34 );
35
36 pod2usage(1) if $help;
37 pod2usage("userid is mandatory")       unless $userid;
38 pod2usage("password is mandatory")     unless $password;
39 pod2usage("branchcode is mandatory")   unless $branchcode;
40 pod2usage("categorycode is mandatory") unless $categorycode;
41 pod2usage("cardnumber is mandatory")   unless $cardnumber;
42
43 my $patron = Koha::Patron->new({
44     surname      => $surname,
45     userid       => $userid,
46     cardnumber   => $cardnumber,
47     branchcode   => $branchcode,
48     categorycode => $categorycode,
49     flags        => 1,
50 })->store;
51
52 $patron->set_password({ password => $password, skip_validation => 1 });
53
54 =head1 NAME
55
56 create_superlibrarian.pl - create a user in Koha with superlibrarian permissions
57
58 =head1 SYNOPSIS
59
60 create_superlibrarian.pl
61   --userid <userid> --password <password> --branchcode <branchcode> --categorycode <categorycode> --cardnumber <cardnumber>
62
63  Options:
64    -?|--help        brief help message
65    --userid         specify the userid to be set
66    --password       specify the password to be set
67    --branchcode     specify the library code
68    --categorycode   specify the patron category code
69    --cardnumber     specify the cardnumber to be set
70
71 =head1 OPTIONS
72
73 =over 8
74
75 =item B<--help|-?>
76
77 Print a brief help message and exits
78
79 =item B<--userid>
80
81 To specify the userid to be set in the database
82
83 =item B<--password>
84
85 To specify the password to be set in the database
86
87 =item B<--branchcode>
88
89 Library code
90
91 =item B<--categorycode>
92
93 Patron category's code
94
95 =item B<--cardnumber>
96
97 Patron's cardnumber
98
99 =back
100
101 =head1 DESCRIPTION
102
103 A simple script to create a user in the Koha database with superlibrarian permissions
104
105 =cut