Koha-clms/Koha/Schema/Result/Category.pm

409 lines
8.5 KiB
Perl

use utf8;
package Koha::Schema::Result::Category;
# Created by DBIx::Class::Schema::Loader
# DO NOT MODIFY THE FIRST PART OF THIS FILE
=head1 NAME
Koha::Schema::Result::Category
=cut
use strict;
use warnings;
use base 'DBIx::Class::Core';
=head1 TABLE: C<categories>
=cut
__PACKAGE__->table("categories");
=head1 ACCESSORS
=head2 categorycode
data_type: 'varchar'
default_value: (empty string)
is_nullable: 0
size: 10
unique primary key used to idenfity the patron category
=head2 description
data_type: 'longtext'
is_nullable: 1
description of the patron category
=head2 enrolmentperiod
data_type: 'smallint'
is_nullable: 1
number of months the patron is enrolled for (will be NULL if enrolmentperioddate is set)
=head2 enrolmentperioddate
data_type: 'date'
datetime_undef_if_invalid: 1
is_nullable: 1
date the patron is enrolled until (will be NULL if enrolmentperiod is set)
=head2 password_expiry_days
data_type: 'smallint'
is_nullable: 1
number of days after which the patron must reset their password
=head2 upperagelimit
data_type: 'smallint'
is_nullable: 1
age limit for the patron
=head2 dateofbirthrequired
data_type: 'tinyint'
is_nullable: 1
the minimum age required for the patron category
=head2 finetype
data_type: 'varchar'
is_nullable: 1
size: 30
unused in Koha
=head2 bulk
data_type: 'tinyint'
is_nullable: 1
=head2 enrolmentfee
data_type: 'decimal'
is_nullable: 1
size: [28,6]
enrollment fee for the patron
=head2 overduenoticerequired
data_type: 'tinyint'
is_nullable: 1
are overdue notices sent to this patron category (1 for yes, 0 for no)
=head2 issuelimit
data_type: 'smallint'
is_nullable: 1
unused in Koha
=head2 reservefee
data_type: 'decimal'
is_nullable: 1
size: [28,6]
cost to place holds
=head2 hidelostitems
data_type: 'tinyint'
default_value: 0
is_nullable: 0
are lost items shown to this category (1 for yes, 0 for no)
=head2 category_type
data_type: 'varchar'
default_value: 'A'
is_nullable: 0
size: 1
type of Koha patron (Adult, Child, Professional, Organizational, Statistical, Staff)
=head2 BlockExpiredPatronOpacActions
accessor: 'block_expired_patron_opac_actions'
data_type: 'tinyint'
default_value: -1
is_nullable: 0
wheither or not a patron of this category can renew books or place holds once their card has expired. 0 means they can, 1 means they cannot, -1 means use syspref BlockExpiredPatronOpacActions
=head2 default_privacy
data_type: 'enum'
default_value: 'default'
extra: {list => ["default","never","forever"]}
is_nullable: 0
Default privacy setting for this patron category
=head2 checkprevcheckout
data_type: 'varchar'
default_value: 'inherit'
is_nullable: 0
size: 7
produce a warning for this patron category if this item has previously been checked out to this patron if 'yes', not if 'no', defer to syspref setting if 'inherit'.
=head2 can_place_ill_in_opac
data_type: 'tinyint'
default_value: 1
is_nullable: 0
can this patron category place interlibrary loan requests
=head2 can_be_guarantee
data_type: 'tinyint'
default_value: 0
is_nullable: 0
if patrons of this category can be guarantees
=head2 reset_password
data_type: 'tinyint'
is_nullable: 1
if patrons of this category can do the password reset flow,
=head2 change_password
data_type: 'tinyint'
is_nullable: 1
if patrons of this category can change their passwords in the OAPC
=head2 min_password_length
data_type: 'smallint'
is_nullable: 1
set minimum password length for patrons in this category
=head2 require_strong_password
data_type: 'tinyint'
is_nullable: 1
set required password strength for patrons in this category
=head2 exclude_from_local_holds_priority
data_type: 'tinyint'
is_nullable: 1
Exclude patrons of this category from local holds priority
=cut
__PACKAGE__->add_columns(
"categorycode",
{ data_type => "varchar", default_value => "", is_nullable => 0, size => 10 },
"description",
{ data_type => "longtext", is_nullable => 1 },
"enrolmentperiod",
{ data_type => "smallint", is_nullable => 1 },
"enrolmentperioddate",
{ data_type => "date", datetime_undef_if_invalid => 1, is_nullable => 1 },
"password_expiry_days",
{ data_type => "smallint", is_nullable => 1 },
"upperagelimit",
{ data_type => "smallint", is_nullable => 1 },
"dateofbirthrequired",
{ data_type => "tinyint", is_nullable => 1 },
"finetype",
{ data_type => "varchar", is_nullable => 1, size => 30 },
"bulk",
{ data_type => "tinyint", is_nullable => 1 },
"enrolmentfee",
{ data_type => "decimal", is_nullable => 1, size => [28, 6] },
"overduenoticerequired",
{ data_type => "tinyint", is_nullable => 1 },
"issuelimit",
{ data_type => "smallint", is_nullable => 1 },
"reservefee",
{ data_type => "decimal", is_nullable => 1, size => [28, 6] },
"hidelostitems",
{ data_type => "tinyint", default_value => 0, is_nullable => 0 },
"category_type",
{ data_type => "varchar", default_value => "A", is_nullable => 0, size => 1 },
"BlockExpiredPatronOpacActions",
{
accessor => "block_expired_patron_opac_actions",
data_type => "tinyint",
default_value => -1,
is_nullable => 0,
},
"default_privacy",
{
data_type => "enum",
default_value => "default",
extra => { list => ["default", "never", "forever"] },
is_nullable => 0,
},
"checkprevcheckout",
{
data_type => "varchar",
default_value => "inherit",
is_nullable => 0,
size => 7,
},
"can_place_ill_in_opac",
{ data_type => "tinyint", default_value => 1, is_nullable => 0 },
"can_be_guarantee",
{ data_type => "tinyint", default_value => 0, is_nullable => 0 },
"reset_password",
{ data_type => "tinyint", is_nullable => 1 },
"change_password",
{ data_type => "tinyint", is_nullable => 1 },
"min_password_length",
{ data_type => "smallint", is_nullable => 1 },
"require_strong_password",
{ data_type => "tinyint", is_nullable => 1 },
"exclude_from_local_holds_priority",
{ data_type => "tinyint", is_nullable => 1 },
);
=head1 PRIMARY KEY
=over 4
=item * L</categorycode>
=back
=cut
__PACKAGE__->set_primary_key("categorycode");
=head1 RELATIONS
=head2 borrower_attribute_types
Type: has_many
Related object: L<Koha::Schema::Result::BorrowerAttributeType>
=cut
__PACKAGE__->has_many(
"borrower_attribute_types",
"Koha::Schema::Result::BorrowerAttributeType",
{ "foreign.category_code" => "self.categorycode" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 borrower_message_preferences
Type: has_many
Related object: L<Koha::Schema::Result::BorrowerMessagePreference>
=cut
__PACKAGE__->has_many(
"borrower_message_preferences",
"Koha::Schema::Result::BorrowerMessagePreference",
{ "foreign.categorycode" => "self.categorycode" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 borrowers
Type: has_many
Related object: L<Koha::Schema::Result::Borrower>
=cut
__PACKAGE__->has_many(
"borrowers",
"Koha::Schema::Result::Borrower",
{ "foreign.categorycode" => "self.categorycode" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 categories_branches
Type: has_many
Related object: L<Koha::Schema::Result::CategoriesBranch>
=cut
__PACKAGE__->has_many(
"categories_branches",
"Koha::Schema::Result::CategoriesBranch",
{ "foreign.categorycode" => "self.categorycode" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 circulation_rules
Type: has_many
Related object: L<Koha::Schema::Result::CirculationRule>
=cut
__PACKAGE__->has_many(
"circulation_rules",
"Koha::Schema::Result::CirculationRule",
{ "foreign.categorycode" => "self.categorycode" },
{ cascade_copy => 0, cascade_delete => 0 },
);
=head2 identity_provider_domains
Type: has_many
Related object: L<Koha::Schema::Result::IdentityProviderDomain>
=cut
__PACKAGE__->has_many(
"identity_provider_domains",
"Koha::Schema::Result::IdentityProviderDomain",
{ "foreign.default_category_id" => "self.categorycode" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2023-11-01 20:49:52
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:r0Mftlw4TU7x+Ze2pAlwYQ
sub koha_object_class {
'Koha::Patron::Category';
}
sub koha_objects_class {
'Koha::Patron::Categories';
}
__PACKAGE__->add_columns(
'+can_be_guarantee' => { is_boolean => 1 },
'+can_place_ill_in_opac' => { is_boolean => 1 },
'+exclude_from_local_holds_priority' => { is_boolean => 1 },
'+require_strong_password' => { is_boolean => 1 },
);
1;