View | Details | Raw Unified | Return to bug 19686
Collapse All | Expand All

(-)a/Koha/REST/Plugin/Objects.pm (-5 / +16 lines)
Lines 30-38 Koha::REST::Plugin::Objects Link Here
30
=head3 objects.search
30
=head3 objects.search
31
31
32
    my $patrons_set = Koha::Patrons->new;
32
    my $patrons_set = Koha::Patrons->new;
33
    my $patrons = $c->objects->search($patrons_set);
33
    my $patrons = $c->objects->search( $patrons_set, [\&to_model] );
34
34
35
Performs a database search using given Koha::Objects object and query parameters
35
Performs a database search using given Koha::Objects object and query parameters.
36
Optionally, it applies the I<$to_model> function reference before building the
37
query itself.
38
39
Note: Make sure I<$to_model> doesn't autovivify keys.
36
40
37
Returns a Koha::Objects object
41
Returns a Koha::Objects object
38
42
Lines 43-49 sub register { Link Here
43
47
44
    $app->helper(
48
    $app->helper(
45
        'objects.search' => sub {
49
        'objects.search' => sub {
46
            my ( $c, $objects_set ) = @_;
50
            my ( $c, $objects_set, $to_model ) = @_;
47
51
48
            my $args = $c->validation->output;
52
            my $args = $c->validation->output;
49
            my $attributes = {};
53
            my $attributes = {};
Lines 67-73 sub register { Link Here
67
                }
71
                }
68
            );
72
            );
69
73
70
            $filtered_params = $c->build_query_params( $filtered_params, $reserved_params );
74
            # Call the to_model function by reference, if defined
75
            if ( defined $filtered_params ) {
76
77
                # Apply the mapping function to the passed params
78
                $filtered_params = $to_model->($filtered_params)
79
                  if defined $to_model;
80
                $filtered_params = $c->build_query_params( $filtered_params, $reserved_params );
81
            }
82
71
            # Perform search
83
            # Perform search
72
            my $objects = $objects_set->search( $filtered_params, $attributes );
84
            my $objects = $objects_set->search( $filtered_params, $attributes );
73
85
74
- 

Return to bug 19686