1 package OpenILS::Application::Storage::Publisher::action;
2 use base qw/OpenILS::Application::Storage/;
3 #use OpenILS::Application::Storage::CDBI::action;
4 #use OpenSRF::Utils::Logger qw/:level/;
5 #use OpenILS::Utils::Fieldmapper;
7 #my $log = 'OpenSRF::Utils::Logger';
9 sub find_local_surveys {
14 return undef unless ($ou);
16 my $select = <<" SQL";
19 JOIN actor.org_unit_full_path(?) p ON (p.id = s.owner)
20 WHERE CURRENT_DATE BETWEEN s.start_date AND s.end_date
23 my $sth = action::survey->db_Main->prepare_cached($select);
26 $client->respond( $_->to_fieldmapper ) for ( map { action::survey->construct($_) } $sth->fetchall_hash );
30 __PACKAGE__->register_method(
31 api_name => 'open-ils.storage.action.survey.all',
34 method => 'find_local_surveys',
37 sub find_opac_surveys {
42 return undef unless ($ou);
44 my $select = <<" SQL";
47 JOIN actor.org_unit_full_path(?) p ON (p.id = s.owner)
48 WHERE CURRENT_DATE BETWEEN s.start_date AND s.end_date
52 my $sth = action::survey->db_Main->prepare_cached($select);
55 $client->respond( $_->to_fieldmapper ) for ( map { action::survey->construct($_) } $sth->fetchall_hash );
59 __PACKAGE__->register_method(
60 api_name => 'open-ils.storage.action.survey.opac',
63 method => 'find_opac_surveys',
66 sub find_optional_surveys {
71 return undef unless ($ou);
73 my $select = <<" SQL";
76 JOIN actor.org_unit_full_path(?) p ON (p.id = s.owner)
77 WHERE CURRENT_DATE BETWEEN s.start_date AND s.end_date
78 AND s.required IS FALSE;
81 my $sth = action::survey->db_Main->prepare_cached($select);
84 $client->respond( $_->to_fieldmapper ) for ( map { action::survey->construct($_) } $sth->fetchall_hash );
88 __PACKAGE__->register_method(
89 api_name => 'open-ils.storage.action.survey.optional',
92 method => 'find_optional_surveys',
95 sub find_required_surveys {
100 return undef unless ($ou);
102 my $select = <<" SQL";
105 JOIN actor.org_unit_full_path(?) p ON (p.id = s.owner)
106 WHERE CURRENT_DATE BETWEEN s.start_date AND s.end_date
107 AND s.required IS TRUE;
110 my $sth = action::survey->db_Main->prepare_cached($select);
113 $client->respond( $_->to_fieldmapper ) for ( map { action::survey->construct($_) } $sth->fetchall_hash );
117 __PACKAGE__->register_method(
118 api_name => 'open-ils.storage.action.survey.required',
121 method => 'find_required_surveys',
124 sub find_usr_summary_surveys {
129 return undef unless ($ou);
131 my $select = <<" SQL";
134 JOIN actor.org_unit_full_path(?) p ON (p.id = s.owner)
135 WHERE CURRENT_DATE BETWEEN s.start_date AND s.end_date
136 AND s.usr_summary IS TRUE;
139 my $sth = action::survey->db_Main->prepare_cached($select);
142 $client->respond( $_->to_fieldmapper ) for ( map { action::survey->construct($_) } $sth->fetchall_hash );
146 __PACKAGE__->register_method(
147 api_name => 'open-ils.storage.action.survey.usr_summary',
150 method => 'find_usr_summary_surveys',