added some report events
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 6 Oct 2006 02:12:59 +0000 (02:12 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 6 Oct 2006 02:12:59 +0000 (02:12 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6401 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/extras/ils_events.xml
Open-ILS/src/perlmods/OpenILS/Application/Reporter.pm

index 91f3f4f..d45fb00 100644 (file)
                <desc xml:lang="en-US"> No org id was provided </desc>
        </event>
 
+       <event code='9000' textcode='REPORT_TEMPLATE_EXISTS'>
+               <desc xml:lang="en-US"> A report template with the given name and folder already exists</desc>
+       </event>
+
+       <event code='9001' textcode='REPORT_REPORT_EXISTS'>
+               <desc xml:lang="en-US"> A report with the given name and folder already exists</desc>
+       </event>
+
+
+
        <!-- ================================================================ -->
 
 </ils_events>
index f92e811..7f277e1 100644 (file)
@@ -135,6 +135,11 @@ sub create_template {
        return $e->die_event unless $e->checkauth;
        return $e->die_event unless $e->allowed('RUN_REPORTS');
        $template->owner($e->requestor->id);
+
+       my $existing = $e->search_reporter_template( {owner=>$template->owner, 
+                       folder=>$template->folder, name=>$template->name},{idlist=>1});
+       return OpenILS::Event->new('REPORT_TEMPLATE_EXISTS') if @$existing;
+
        my $tmpl = $e->create_reporter_template($template)
                or return $e->die_event;
        $e->commit;
@@ -151,6 +156,11 @@ sub create_report {
        return $e->die_event unless $e->checkauth;
        return $e->die_event unless $e->allowed('RUN_REPORTS');
        $report->owner($e->requestor->id);
+
+       my $existing = $e->search_reporter_report( {owner=>$report->owner, 
+                       folder=>$report->folder, name=>$report->name},{idlist=>1});
+       return OpenILS::Event->new('REPORT_REPORT_EXISTS') if @$existing;
+
        my $rpt = $e->create_reporter_report($report)
                or return $e->die_event;
        $schedule->report($rpt->id);