oddities with create fixed, bug in reflector
groditi [Thu, 25 Oct 2007 23:39:00 +0000 (23:39 +0000)]
lib/Reaction/InterfaceModel/Reflector/DBIC.pm
lib/Reaction/UI/CRUDController.pm
t/lib/RTest/TestDB/Bar.pm
t/lib/RTest/TestDB/Baz.pm
t/lib/RTest/TestDB/Foo.pm

index 326770f..dbfb351 100644 (file)
@@ -33,7 +33,7 @@ class DBIC, which {
   implements build_collection_actions => as { {} };
 
   implements build_default_object_actions     => as { [ qw/Update Delete/ ] };
-  implements build_default_collection_actions => as { [ 'Create' ] };
+  implements build_default_collection_actions => as { [ qw/Create DeleteAll/ ] };
 
   implements build_builtin_object_actions => as {
     {
@@ -45,7 +45,7 @@ class DBIC, which {
   implements build_builtin_collection_actions => as {
     {
       Create    => {name => 'Create',    base => Create    },
-      DeleteAll => {name => 'DeleteAll', base => DeleteAll }
+      DeleteAll => {name => 'DeleteAll', base => DeleteAll, attributes => [] }
     };
   };
 
index f416c93..1ff7d88 100644 (file)
@@ -53,6 +53,7 @@ sub base :Action :CaptureArgs(0) {
   my ($self, $c) = @_;
 }
 
+#XXX candidate for futre optimization
 sub get_collection {
   my ($self, $c) = @_;
   my $model = $c->model( $self->model_name );
index 1af3f05..88cf670 100644 (file)
@@ -31,7 +31,7 @@ __PACKAGE__->belongs_to(
   { 'foreign.id' => 'self.foo_id' }
 );
 
-__PACKAGE__->meta->make_immutable;
-
+#__PACKAGE__->meta->make_immutable;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
 
 1;
index 47cc019..1ac88a7 100644 (file)
@@ -26,6 +26,7 @@ __PACKAGE__->set_primary_key('id');
 __PACKAGE__->has_many('links_to_foo_list' => 'RTest::TestDB::FooBaz', 'baz');
 __PACKAGE__->many_to_many('foo_list' => 'links_to_foo_list' => 'foo');
 
-__PACKAGE__->meta->make_immutable;
+#__PACKAGE__->meta->make_immutable;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
 
 1;
index 7e3cd2f..20d0305 100644 (file)
@@ -40,6 +40,6 @@ __PACKAGE__->many_to_many('baz_list' => 'links_to_baz_list' => 'baz');
 }
 
 
-__PACKAGE__->meta->make_immutable;
+__PACKAGE__->meta->make_immutable(inline_constructor => 0);
 
 1;