Working on a fix for 1176
authorChris Cormack <crc@liblime.com>
Thu, 11 Oct 2007 22:21:12 +0000 (17:21 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Fri, 12 Oct 2007 12:22:59 +0000 (07:22 -0500)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4/Biblio.pm

index 4f8884c..8134264 100644 (file)
@@ -594,26 +594,36 @@ sub DelBiblio {
     my ( $biblionumber ) = @_;
     my $dbh = C4::Context->dbh;
     my $error;    # for error handling
-
+       
+       # First make sure this biblio has no items attached
+       my $sth = $dbh->prepare("SELECT itemnumber FROM items WHERE biblionumber=?");
+       $sth->execute($biblionumber);
+       if (my $itemnumber = $sth->fetchrow){
+               # Fix this to use a status the template can understand
+               $error .= "This Biblio has items attached, please delete them first before deleting this biblio ";
+       }
+
+       # shouldnt this be done when deleting an item?
+       # Ill shift this to delitem next
     # First make sure there are no items with issues are still attached
-    my $sth =
-      $dbh->prepare(
-        "SELECT itemnumber FROM items WHERE biblionumber=?");
-    $sth->execute($biblionumber);
-    while ( my $itemnumber = $sth->fetchrow ) {
-        my $issues = GetItemIssues($itemnumber);
-        foreach my $issue (@$issues) {
-            if (   ( $issue->{date_due} )
-                && ( $issue->{date_due} ne "Available" ) )
-            {
-
-#FIXME: we need a status system in Biblio like in Circ to return standard codes and messages
+#    my $sth =
+#      $dbh->prepare(
+#        "SELECT itemnumber FROM items WHERE biblionumber=?");
+#    $sth->execute($biblionumber);
+#    while ( my $itemnumber = $sth->fetchrow ) {
+#        my $issues = GetItemIssues($itemnumber);
+#        foreach my $issue (@$issues) {
+#            if (   ( $issue->{date_due} )
+#                && ( $issue->{date_due} ne "Available" ) )
+#            {
+
+# FIXME: we need a status system in Biblio like in Circ to return standard codes and messages
 # instead of hard-coded strings
-                $error .=
-"Item is checked out to a patron -- you must return it before deleting the Biblio";
-            }
-        }
-    }
+#                $error .=
+"Item is checked out to a patron -- you must return it before deleting the Biblio";
+#            }
+#        }
+#    }
     return $error if $error;
 
     # Delete in Zebra. Be careful NOT to move this line after _koha_delete_biblio