[Catalyst] Re: Help needed on
DBIx::Class::Schema::RestrictWithObject
Mario Minati
mario.minati at googlemail.com
Tue Dec 4 23:28:16 GMT 2007
I am still trying to get this stuff working, still not sucessfully.
I created a new modell class according to
http://www.shadowcat.co.uk/catalyst/-talks/oscon/crucible.xul
But I always get compilation errors:
Couldn't instantiate
component "glue::Model::DBIC::RestrictedSchema", "->config->{schema_class}
must be defined for this model at ./script/glue_server.pl line 53"
at ./script/glue_server.pl line 53
That is what my new Schema looks like:
package glue::Model::DBIC::RestrictedSchema;
use Moose;
extends 'Catalyst::Model::DBIC::Schema';
with 'Catalyst::Component::InstancePerContext';
sub build_per_context_instance {
my ($self, $c) = @_;
my $user = $c->session;
my $schema = $self->schema->restrict_with_object( $user );
return $self->new({ schema => $schema });
}
When I remove the extends line then the compilation works, but for sure the
model is useless.
I would realy appricate any help on how to get this working.
Greets,
Mario
On Monday 03 December 2007 22:48:32 you wrote:
> Hi,
>
> I'm trying to realize a resultset filtering with
> DBIx::Class::Schema::RestrictWithObject but have troubles in understanding
> how to set things up correctly.
>
> What I would like to achieve:
> Filter resultsets based on data in the Catalyst Session storage.
>
> Currently I have:
>
> package glueDB;
> use base qw/DBIx::Class::Schema/;
> __PACKAGE__->load_components(qw/Schema::RestrictWithObject/);
> __PACKAGE__->load_classes( {
> glueDB => [
> qw/
> Contact::Company
> ...
> /
> ] } );
>
> package glue::Model::glueDB;
> use base 'Catalyst::Model::DBIC::Schema';
> __PACKAGE__->config(
> schema_class => 'glueDB',
> connect_info => [ ... ],
> );
>
>
> My question:
>
> 1.
> Where do I have to create the restricting object.
> Do I have to rewrite Catalyst::Model::DBIx::Class?
>
>
> Thanks for your help.
>
>
> Greets,
>
> Mario Minati
More information about the Catalyst
mailing list