]> iEval git - gruntmaster-data.git/blobdiff - lib/Gruntmaster/Data/Result/ContestProblem.pm
Purge affected pages on insert/update/delete
[gruntmaster-data.git] / lib / Gruntmaster / Data / Result / ContestProblem.pm
index 5d71d88811e72fc50cb66fa504aa04986456c4bb..fd720add20ca7650dd5cb7521543424f0c4e4b5d 100644 (file)
@@ -6,7 +6,7 @@ package Gruntmaster::Data::Result::ContestProblem;
 
 =head1 NAME
 
-Gruntmaster::Data::Result::ContestProblem
+Gruntmaster::Data::Result::ContestProblem - Many-to-many bridge between contests and problems
 
 =cut
 
@@ -72,7 +72,7 @@ __PACKAGE__->belongs_to(
   "contest",
   "Gruntmaster::Data::Result::Contest",
   { id => "contest" },
-  { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
+  { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
 );
 
 =head2 problem
@@ -87,15 +87,24 @@ __PACKAGE__->belongs_to(
   "problem",
   "Gruntmaster::Data::Result::Problem",
   { id => "problem" },
-  { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
+  { is_deferrable => 0, on_delete => "CASCADE", on_update => "NO ACTION" },
 );
 
 
-# Created by DBIx::Class::Schema::Loader v0.07039 @ 2014-03-06 12:41:16
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2vVP0Z6QcLz8DiobdOceyQ
+# Created by DBIx::Class::Schema::Loader v0.07042 @ 2014-12-19 16:44:22
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dTFBC3ZKB2T9SCiyQxxe2w
 
+use Class::Method::Modifiers qw/after/;
+
+sub rawcontest { shift->get_column('contest') }
+sub rawproblem { shift->get_column('problem') }
+
+after qw/insert update delete/ => sub {
+       my ($self) = @_;
+       Gruntmaster::Data::purge '/pb/';
+       Gruntmaster::Data::purge '/pb/' . $self->rawproblem;
+};
 
-# You can replace this text with custom code or comments, and it will be preserved on regeneration
 1;
 
 __END__
This page took 0.022489 seconds and 4 git commands to generate.