[prev] [thread] [next] [Date index for 2005/10/06]
Got no feedback on this problem before, and it has gotten worse. When I add a trigger to this subclass, not only does it fail to inherit other triggers from its superclass, it fails to inherit has_a() etc. also. Anyone hazard a guess as to what might be happening? On 10/3/05, Phil Mitchell <seasprocket@xxxxx.xxx> wrote: > I have a Page class with a before_create trigger. Page has a subclass, > User, which (of course) inherits the trigger. When I added an > after_create trigger to User, it stops inheriting the before_create > trigger. This is not good, since creation fails without the setup in > before_create. This arrangement works fine with other subclasses. > > User's cdbi setup: > > sub essential_columns { > my @essential =3D Reef::M::DBI::Page->_essential; > push @essential, qw/username password person_name email/; > push @essential, $GEO_VALIDATION->core_location_fields(); > return @essential > } > > __PACKAGE__->columns(Essential =3D> __PACKAGE__->essential_columns); > __PACKAGE__->add_trigger(after_create =3D> \&_after_create); > > Here's Page: > > __PACKAGE__->table('page'); > __PACKAGE__->columns(Primary =3D> qw/id /); > > __PACKAGE__->columns(Essential =3D> qw/page_type > created > edit_date > edit_by > user_owner > club_owner > permissions > locked_since > locked_by > title > body /); > > __PACKAGE__->columns(Others =3D> qw/shelf /); > > __PACKAGE__->has_a(shelf =3D> 'Reef::M::DBI::Shelf'); > __PACKAGE__->has_a(locked_by =3D> 'Reef::M::DBI::Page::User'); > __PACKAGE__->has_a(edit_by =3D> 'Reef::M::DBI::Page::User'); > __PACKAGE__->has_a(user_owner =3D> 'Reef::M::DBI::Page::User'); > __PACKAGE__->has_a(club_owner =3D> 'Reef::M::DBI::Page::Club'); > > __PACKAGE__->has_a(created =3D> 'DateTime', > inflate =3D> sub { DateTime::Format::ISO8601->parse_da= tetime(shift) }, > deflate =3D> sub { shift->iso8601() }); > > __PACKAGE__->has_a(edit_date =3D> 'DateTime', > inflate =3D> sub { DateTime::Format::ISO8601->parse_da= tetime(shift) }, > deflate =3D> sub { shift->iso8601() }); > > __PACKAGE__->has_a(locked_since =3D> 'DateTime', > inflate =3D> sub { DateTime::Format::ISO8601->parse_da= tetime(shift) }, > deflate =3D> sub { shift->iso8601() }); > > __PACKAGE__->has_many(tags =3D> 'Reef::M::DBI::Tag'); > > __PACKAGE__->add_trigger(before_create =3D> \&_before_create); > __PACKAGE__->add_trigger(before_update =3D> \&_before_update); > > > > > > -- > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > 2People Blog: http://2-people.blogspot.com/ > 2People site: http://www.2people.org > -- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D 2People Blog: http://2-people.blogspot.com/ 2People site: http://www.2people.org _______________________________________________ ClassDBI mailing list ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi
[CDBI] Subclass won't inherit from superclass?
|
Generated at 10:29 on 10 Oct 2005 by mariachi v0.52