archive_backup renamed to archive_backup_parts
[BackupPC.git] / lib / BackupPC / Search.pm
index ad27bb1..2fd2f98 100644 (file)
@@ -229,8 +229,8 @@ sub getFiles($) {
        # do we have to add tables for burned media?
        if ( $param->{burned} ) {
                $sql_from .= qq{
-                       LEFT OUTER JOIN archive_backup on archive_backup.backup_id = backups.id
-                       LEFT OUTER JOIN archive_burned on archive_burned.archive_id = archive_backup.archive_id
+                       LEFT OUTER JOIN archive_backup_parts on backup_id = backups.id
+                       LEFT OUTER JOIN archive_burned on archive_burned.archive_id = archive_id
                };
        }
 
@@ -398,6 +398,13 @@ print STDERR "## sort=". ($param->{'sort'} || 'no sort param') . " burn sql orde
                LEFT OUTER JOIN archive_parts  ap ON ap.backup_part_id = p.id
                LEFT OUTER JOIN archive_burned ab ON ab.archive_id = ap.archive_id
                GROUP BY p.id,filename,b.date,age,p.size,p.part_nr
+       };
+
+       $sql .= qq{
+               HAVING count(ap.*) = 0
+       } unless $param->{scheduled};
+
+       $sql .= qq{
                ORDER BY b.date,p.part_nr
        };
        my $sth = $dbh->prepare( $sql );
@@ -418,14 +425,12 @@ sub displayBackupsGrid($) {
        my $param = shift;
 
        my $max_archive_size = $Conf{ArchiveMediaSize} || die "no ArchiveMediaSize";
-       my $max_archive_file_size = $Conf{ArchiveChunkSize}  || die "no MaxFileInSize";
 
        my $retHTML .= qq|
                <form id="forma" method="POST" action="$MyURL?action=burn">
 
 <script type="text/javascript">
 var media_size = $max_archive_size ;
-var max_file_size = $max_archive_file_size;
 </script>
 
        |;
@@ -475,6 +480,11 @@ var max_file_size = $max_archive_file_size;
        }
 
        $retHTML .= "</table>";
+
+       $retHTML .= q{
+<input type=submit name="scheduled" value="Show scheduled parts">
+       } unless $param->{scheduled};
+
        $retHTML .= "</form>";
       
        return $retHTML;
@@ -599,16 +609,16 @@ sub displayGrid($) {
 
                $sth_archived ||= $dbh->prepare(qq{
                        select
-                               dvd_nr, note,
+                               archive.dvd_nr, note,
                                count(archive_burned.copy) as copies
                        from archive
                        inner join archive_burned on archive_burned.archive_id = archive.id
-                       inner join archive_backup on archive.id = archive_backup.archive_id
-                       inner join backups on backups.id = archive_backup.backup_id
+                       inner join archive_backup_parts on archive.id = archive_backup_parts.archive_id
+                       inner join backups on backups.id = archive_backup_parts.backup_id
                        inner join hosts on hosts.id = backups.hostid
                        inner join shares on shares.id = backups.shareid
                        where hosts.name = ? and shares.name = ? and backups.num = ?
-                       group by dvd_nr, note
+                       group by archive.dvd_nr, note
                });
 
                my @mediums;