#!/usr/bin/perl # Copyright 2014 ByWater Solutions # # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # Koha is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Koha; if not, see . # use Modern::Perl; use CGI; use JSON qw(to_json); use C4::Auth qw(check_cookie_auth); use Koha::Club::Enrollment::Fields; use Koha::Club::Enrollments; use Koha::Clubs; my $cgi = CGI->new; my ( $auth_status ) = check_cookie_auth( $cgi->cookie('CGISESSID'), { clubs => 'enroll' } ); if ( $auth_status ne "ok" ) { exit 0; } my $op = $cgi->param('op') || q{}; exit unless $op eq 'cud-enroll'; # FIXME could be nicer here. my $id = $cgi->param('id'); my $borrowernumber = $cgi->param('borrowernumber'); my $enrollent_id = scalar $cgi->param('enrollent_id'); my $club = Koha::Clubs->find($id); my $enrollment; my @club_enrollment_fields; if($enrollent_id){ my @enrollment_fields = $club->club_template()->club_template_enrollment_fields()->as_list; @club_enrollment_fields = Koha::Club::Enrollment::Fields->search({'club_enrollment_id'=> $enrollent_id})->as_list; foreach my $club_enrollment_field (@club_enrollment_fields){ foreach my $e (@enrollment_fields){ if($e->id()==$club_enrollment_field->club_template_enrollment_field_id){ my $value = $cgi->param( $e->id() ); $club_enrollment_field->value($value); $club_enrollment_field->update(); } } } } elsif ($club) { $enrollment = Koha::Club::Enrollment->new( { club_id => $club->id(), borrowernumber => $borrowernumber, date_enrolled => \'NOW()', date_created => \'NOW()', branchcode => C4::Context->userenv ? C4::Context->userenv->{'branch'} : undef, } )->store(); if ($enrollment) { my @enrollment_fields = $club->club_template()->club_template_enrollment_fields->as_list; foreach my $e (@enrollment_fields) { my $club_enrollment_field = Koha::Club::Enrollment::Field->new( { club_enrollment_id => $enrollment->id(), club_template_enrollment_field_id => $e->id(), value => scalar $cgi->param( $e->id() ), } )->store(); } } } binmode STDOUT, ':encoding(UTF-8)'; print $cgi->header( -type => 'text/plain', -charset => 'UTF-8' ); if($enrollent_id){ print to_json( { success => @club_enrollment_fields ? 1 : 0 } ); } else{ print to_json( { success => $enrollment ? 1 : 0 } ); }