Lines 108-113
sub search_incomplete {
Link Here
|
108 |
|
108 |
|
109 |
=head2 Internal methods |
109 |
=head2 Internal methods |
110 |
|
110 |
|
|
|
111 |
|
112 |
=head3 _build_extended_attributes_relations |
113 |
|
114 |
Method to dynamically add has_many relations for each ILLRequestAttribute type stored in the ILLRequestAttributes table. |
115 |
|
116 |
Used in the API to allow for advanced joins. |
117 |
|
118 |
Returns a list of relation accessor names. |
119 |
|
120 |
=cut |
121 |
|
122 |
sub _build_extended_attributes_relations { |
123 |
my ($self) = @_; |
124 |
|
125 |
my @distinct_types = $self->_resultset->search( |
126 |
{}, # No specific conditions |
127 |
{ |
128 |
select => ['type'], |
129 |
distinct => 1, |
130 |
} |
131 |
)->get_column('type')->all; |
132 |
|
133 |
for my $type (@distinct_types) { |
134 |
$self->_resultset->has_many( |
135 |
"extended_attributes_$type", |
136 |
"Koha::Schema::Result::Illrequestattribute", |
137 |
sub { |
138 |
my $args = shift; |
139 |
|
140 |
return { |
141 |
"$args->{foreign_alias}.illrequest_id" => { -ident => "$args->{self_alias}.illrequest_id" }, |
142 |
"$args->{foreign_alias}.type" => { '=', $type }, |
143 |
}; |
144 |
}, |
145 |
{ cascade_copy => 0, cascade_delete => 0 }, |
146 |
); |
147 |
} |
148 |
|
149 |
return map { 'extended_attributes_'.$_ } @distinct_types; |
150 |
} |
151 |
|
111 |
=head3 _type |
152 |
=head3 _type |
112 |
|
153 |
|
113 |
=cut |
154 |
=cut |
114 |
- |
|
|