#
# Batch Edit Patrons
# Modification for patron's fields:
-# surname firstname branchcode categorycode sort1 sort2 dateenrolled dateexpiry debarred debarredcomment borrowernotes
+# surname firstname branchcode categorycode sort1 sort2 dateenrolled dateexpiry borrowernotes
# And for patron attributes.
use Modern::Perl;
use C4::Members::AttributeTypes qw/GetAttributeTypes_hashref/;
use C4::Output;
use List::MoreUtils qw /any uniq/;
+use Koha::List::Patron;
my $input = new CGI;
my $op = $input->param('op') || 'show_form';
my $sessionID = $cookies{'CGISESSID'}->value;
my $dbh = C4::Context->dbh;
-
-
# Show borrower informations
if ( $op eq 'show' ) {
- my $filefh = $input->upload('uploadfile');
- my $filecontent = $input->param('filecontent');
+ my $filefh = $input->upload('uploadfile');
+ my $filecontent = $input->param('filecontent');
+ my $patron_list_id = $input->param('patron_list_id');
my @borrowers;
my @cardnumbers;
my @notfoundcardnumbers;
$content =~ s/[\r\n]*$//g;
push @cardnumbers, $content if $content;
}
+ } elsif ( $patron_list_id ) {
+ my ($list) = GetPatronLists( { patron_list_id => $patron_list_id } );
+
+ @cardnumbers =
+ $list->patron_list_patrons()->search_related('borrowernumber')
+ ->get_column('cardnumber')->all();
+
} else {
if ( my $list = $input->param('cardnumberlist') ) {
push @cardnumbers, split( /\s\n/, $list );
my @fields = (
{
name => "surname",
- lib => "Surname",
type => "text",
mandatory => ( grep /surname/, @mandatoryFields ) ? 1 : 0
}
,
{
name => "firstname",
- lib => "Firstname",
type => "text",
mandatory => ( grep /surname/, @mandatoryFields ) ? 1 : 0,
}
,
{
name => "branchcode",
- lib => "Branchname",
type => "select",
option => \@branches_option,
mandatory => ( grep /branchcode/, @mandatoryFields ) ? 1 : 0,
,
{
name => "categorycode",
- lib => "Category",
type => "select",
option => \@categories_option,
mandatory => ( grep /categorycode/, @mandatoryFields ) ? 1 : 0,
,
{
name => "sort1",
- lib => "Sort 1",
type => @sort1_option ? "select" : "text",
option => \@sort1_option,
mandatory => ( grep /sort1/, @mandatoryFields ) ? 1 : 0,
,
{
name => "sort2",
- lib => "Sort 2",
type => @sort2_option ? "select" : "text",
option => \@sort2_option,
mandatory => ( grep /sort2/, @mandatoryFields ) ? 1 : 0,
,
{
name => "dateenrolled",
- lib => "Date enrolled",
type => "date",
mandatory => ( grep /dateenrolled/, @mandatoryFields ) ? 1 : 0,
}
,
{
name => "dateexpiry",
- lib => "Date expiry",
type => "date",
mandatory => ( grep /dateexpiry/, @mandatoryFields ) ? 1 : 0,
}
,
- {
- name => "debarred",
- lib => "Debarred",
- type => "date",
- mandatory => ( grep /debarred/, @mandatoryFields ) ? 1 : 0,
- }
- ,
- {
- name => "debarredcomment",
- lib => "Debarred comment",
- type => "text",
- mandatory => ( grep /debarredcomment/, @mandatoryFields ) ? 1 : 0,
- }
- ,
{
name => "borrowernotes",
- lib => "Borrower Notes",
type => "text",
mandatory => ( grep /borrowernotes/, @mandatoryFields ) ? 1 : 0,
}
$template->param('patron_attributes_values', \@patron_attributes_values);
$template->param( fields => \@fields );
- $template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar() );
}
# Process modifications
my @disabled = $input->param('disable_input');
my $infos;
- for my $field ( qw/surname firstname branchcode categorycode sort1 sort2 dateenrolled dateexpiry debarred debarredcomment borrowernotes/ ) {
+ for my $field ( qw/surname firstname branchcode categorycode sort1 sort2 dateenrolled dateexpiry borrowernotes/ ) {
my $value = $input->param($field);
$infos->{$field} = $value if $value;
$infos->{$field} = "" if grep { /^$field$/ } @disabled;
$template->param( borrowers => \@borrowers );
$template->param( errors => \@errors );
+} else {
+
+ $template->param( patron_lists => [ GetPatronLists() ] );
}
$template->param(
my $borrower = GetMember( %info );
if ( $borrower ) {
$borrower->{branchname} = GetBranchName( $borrower->{branchcode} );
- for ( qw(dateenrolled dateexpiry debarred) ) {
+ for ( qw(dateenrolled dateexpiry) ) {
my $userdate = $borrower->{$_};
unless ($userdate && $userdate ne "0000-00-00" and $userdate ne "9999-12-31") {
$borrower->{$_} = '';