]> iEval git - gruntmaster-data.git/commitdiff
Add purges after set/edit commands
authorMarius Gavrilescu <marius@ieval.ro>
Wed, 3 Feb 2016 14:52:54 +0000 (14:52 +0000)
committerMarius Gavrilescu <marius@ieval.ro>
Wed, 3 Feb 2016 14:52:54 +0000 (14:52 +0000)
lib/Gruntmaster/App/Command/Edit.pm
lib/Gruntmaster/App/Command/Set.pm

index 24785ab01996e300122fef193fbc39d719938655..3257903d469515ec527914b58f3c5ff9ed8caa60 100644 (file)
@@ -10,6 +10,9 @@ use File::Slurp qw/read_file write_file/;
 use Gruntmaster::App '-command';
 use Gruntmaster::Data;
 
+use Gruntmaster::App::Command::Set;
+BEGIN { *PAGES = *Gruntmaster::App::Command::Set::PAGES }
+
 sub usage_desc { '%c [-cjpu] edit id column' }
 
 sub validate_args {
@@ -28,6 +31,7 @@ sub execute {
        my $editor = $ENV{EDITOR} // 'editor';
        system $editor, $file;
        db->update($self->app->table, {$col => scalar read_file $file}, {id => $obj});
+       purge PAGES->{$self->app->table}.$_ for '', $obj;
 }
 
 1;
index 3ef26fcd63fb192e79aaf1259f3099eafe240334..2624ce4d1d40407a1f6c21d5639ed9054c5abea5 100644 (file)
@@ -10,6 +10,13 @@ use Gruntmaster::Data;
 
 use File::Slurp qw/read_file/;
 
+use constant PAGES => {
+       contests => '/ct/',
+       jobs     => '/log/',
+       problems => '/pb/',
+       users    => '/us/',
+};
+
 sub opt_spec {
        ['file!', 'Use the contents of a file as value']
 }
@@ -29,6 +36,7 @@ sub execute {
        my ($id, %values) = @$args;
        %values = map { $_ => scalar read_file $values{$_} } keys %values if $opt->{file};
        db->update($self->app->table, \%values, {id => $id});
+       purge PAGES->{$self->app->table}.$_ for '', $id;
 }
 
 1;
This page took 0.031512 seconds and 4 git commands to generate.