938d34ea13b1bd016903cbdf9b16146b37c3fc44
[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     password     => $password,
50     flags        => 1,
51 })->store;
52
53 my $digest = Koha::AuthUtils::hash_password($password);
54 $patron->update({password => $digest,});
55
56 =head1 NAME
57
58 create_superlibrarian.pl - create a user in Koha with superlibrarian permissions
59
60 =head1 SYNOPSIS
61
62 create_superlibrarian.pl
63   --userid <userid> --password <password> --branchcode <branchcode> --categorycode <categorycode> --cardnumber <cardnumber>
64
65  Options:
66    -?|--help        brief help message
67    --userid         specify the userid to be set
68    --password       specify the password to be set
69    --branchcode     specify the library code
70    --categorycode   specify the patron category code
71    --cardnumber     specify the cardnumber to be set
72
73 =head1 OPTIONS
74
75 =over 8
76
77 =item B<--help|-?>
78
79 Print a brief help message and exits
80
81 =item B<--userid>
82
83 To specify the userid to be set in the database
84
85 =item B<--password>
86
87 To specify the password to be set in the database
88
89 =item B<--branchcode>
90
91 Library code
92
93 =item B<--categorycode>
94
95 Patron category's code
96
97 =item B<--cardnumber>
98
99 Patron's cardnumber
100
101 =back
102
103 =head1 DESCRIPTION
104
105 A simple script to create a user in the Koha database with superlibrarian permissions
106
107 =cut