Merge branch 'master' into save_change
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 4 Jun 2010 15:01:32 +0000 (17:01 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 4 Jun 2010 15:01:32 +0000 (17:01 +0200)
1  2 
lib/MojoFacets/Data.pm

@@@ -787,30 -707,9 +787,30 @@@ sub edit 
                my $old = dump $loaded->{$path}->{data}->{items}->[$i]->{$name};
                my $new = dump $v;
                if ( $old ne $new
-                       && ! ( $old eq 'undef' && length($content) == 0 ) # new value empty, previous undef
+                       && ! ( $old eq 'undef' && length($new_content) == 0 ) # new value empty, previous undef
                ) {
 -                      warn "# update $path $i $old -> $new\n";
 +                      my $edit = {
 +                              path => $path,
 +                              column => $name,
 +                              pos => $i,
 +                              old => $loaded->{$path}->{data}->{items}->[$i]->{$name},
 +                              new => $v,
 +                              time => $self->param('time') || time(),
 +                              user => $self->param('user') || $ENV{'LOGNAME'},
 +                              unique => {
 +                                      map { $_ => $loaded->{$path}->{data}->{items}->[$i]->{$_}->[0] }
 +                                      grep { defined $loaded->{$path}->{stats}->{$_}->{unique} }
 +                                      keys %{ $loaded->{$path}->{stats} }
 +                              },
 +                      };
 +                      my $edit_path = $self->_permanent_path( 'edits' );
 +                      mkdir $edit_path unless -d $edit_path;
 +                      $edit_path .= '/' . $edit->{time};
 +                      store $edit, $edit_path;
 +                      utime $edit->{time}, $edit->{time}, $edit_path;
 +                      warn "# $edit_path ", dump($edit);
 +
 +                      warn "# edit $path $i $old -> $new\n";
                        $loaded->{$path}->{data}->{items}->[$i]->{$name} = $v;
  
                        if ( defined $loaded->{$path}->{sorted}->{$name} ) {