X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FMojoFacets%2FData.pm;fp=lib%2FMojoFacets%2FData.pm;h=e3cfa465a93f51a85159b332d189d27e9f7079cb;hb=b237a52c75cbb03320035afada3c8e8ff60d7dd3;hp=96ea060e945ced67ffcfd85a940df726ead1a9ff;hpb=df09e22308112fd981839ae1bafd4f83e6135f28;p=MojoFacets.git diff --git a/lib/MojoFacets/Data.pm b/lib/MojoFacets/Data.pm index 96ea060..e3cfa46 100644 --- a/lib/MojoFacets/Data.pm +++ b/lib/MojoFacets/Data.pm @@ -253,7 +253,7 @@ sub _loaded { my $path = $self->session('path') || $self->param('path'); $self->redirect_to('/data/index') unless $path; - if ( $loaded->{$path}->{modified} > 1 ) { + if ( defined $loaded->{$path}->{modified} && $loaded->{$path}->{modified} > 1 ) { my $caller = (caller(1))[3]; if ( $caller =~ m/::edit/ ) { warn "rebuild stats for $path ignored caller $caller\n"; @@ -267,12 +267,14 @@ sub _loaded { if ( ! defined $loaded->{$path}->{$name} ) { warn "$path $name isn't loaded\n"; $self->_load_path( $path ); - $self->redirect_to('/data/index') - unless defined $loaded->{$path}->{$name}; if ( ! defined $loaded->{$path}->{stats} ) { warn "rebuild stats for $path\n"; $loaded->{$path}->{stats} = __stats( $loaded->{$path}->{data}->{items} ); } + if ( ! defined $loaded->{$path}->{$name} ) { + warn "MISSING $name for $path\n"; + $self->redirect_to('/data/index') + } } $self->session( 'modified' => $loaded->{$path}->{modified} ); @@ -537,7 +539,6 @@ sub items { } my $path = $self->session('path'); - $self->redirect_to('/data/index') unless defined $loaded->{ $path }; my @columns = $self->_param_array('columns'); $self->redirect_to('/data/columns') unless @columns;