Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 19727dec

Von Tamino Steinert vor etwa 1 Jahr hinzugefügt

  • ID 19727dec10b8d73d83d5b9d305c4a161fa9973de
  • Vorgänger 8c92c352
  • Nachfolger 7c7f3f38

File: Löschen über die guid der Version

Unterschiede anzeigen:

SL/File/Backend/Filesystem.pm
sub delete {
my ($self, %params) = @_;
die "no dbfile in backend delete" unless $params{dbfile};
my @versions = @{$params{dbfile}->file_versions_sorted};
my @versions_to_delete;
if ($params{last}) {
my $last = pop @versions;
@versions_to_delete = ($last);
} elsif ($params{all_but_notlast}) {
pop @versions; # remove last
@versions_to_delete = @versions;
} elsif ($params{version}) {
my $version = first {$_->version == $params{version}} @versions
or confess "Version not found.";
@versions_to_delete = ($version);
if ($params{file_version}) {
croak "file_version has to be of type SL::DB::FileVersion"
unless ref $params{file_version} eq 'SL::DB::FileVersion';
@versions_to_delete = ($params{file_version});
} else {
@versions_to_delete = @versions;
my @versions = @{$params{dbfile}->file_versions_sorted};
if ($params{last}) {
my $last = pop @versions;
@versions_to_delete = ($last);
} elsif ($params{all_but_notlast}) {
pop @versions; # remove last
@versions_to_delete = @versions;
} else {
@versions_to_delete = @versions;
}
}
foreach my $version (@versions_to_delete) {

Auch abrufbar als: Unified diff