X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FMojoFacets%2FChanges.pm;h=1fb2cde5879f011007b28cc6b08fa928b510077a;hb=acfd53c7afbcae79d5d674c8380640b78128f109;hp=86ae07466fc786a5524cbe0a2d554a2d8b6169c7;hpb=f60bad35ddaab9a4902c7495fea2fe57765a8649;p=MojoFacets.git diff --git a/lib/MojoFacets/Changes.pm b/lib/MojoFacets/Changes.pm index 86ae074..1fb2cde 100644 --- a/lib/MojoFacets/Changes.pm +++ b/lib/MojoFacets/Changes.pm @@ -51,6 +51,7 @@ sub _edit_path { sub edits { my ( $self ) = @_; my $path = $self->param('path') || $self->session('path'); + my $commit = $self->param('commit'); my ( $items, $unique2id ); if ( my $apply_on_path = $self->param('apply_on_path') ) { $items = $MojoFacets::Data::loaded->{$apply_on_path}->{data}->{items}; @@ -70,9 +71,12 @@ sub edits { $unique2id->{$pk}->{ $items->[$i]->{$pk}->[0] } = $i; } } - my $i = $unique2id->{$pk}->{$id}; - my $status = defined $i ? 'found' : 'missing'; - $e->{_apply} = $status; + my $status = 'missing'; + if ( my $i = $unique2id->{$pk}->{$id} ) { + $status = 'found'; + $items->[$i]->{$pk} = $e->{new} if $commit; + } + $e->{_status} = $status; $stats->{$status}++; } push @$edits, $e;