[CDBI] Subclass won't inherit from superclass?

[prev] [thread] [next] [Date index for 2005/10/06]

From: Phil Mitchell
Subject: [CDBI] Subclass won't inherit from superclass?
Date: 00:06 on 06 Oct 2005
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?
Phil Mitchell 00:06 on 06 Oct 2005

Generated at 10:29 on 10 Oct 2005 by mariachi v0.52