Error executing class callback in init stage: DBIx::Class::Schema::load_classes(): DBIx::Class::Relationship::BelongsTo::belongs_to(): Can't locate Notes/DBI/User.pm in @INC (@INC contains: /usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl .) at (eval 53) line 3.
####
package Notes;
####
use strict;
use base 'CGI::Application';
use Notes::DBI;
use CGI::Session;
use CGI::Application::Plugin::TT; # for template toolkit support
use Config::Simple;
#use CGI::Application::Plugin::Config::Simple; # for Config::Simple support;
#use CGI::Session;
use CGI::Carp qw[fatalsToBrowser]; #DEBUG ONLY
####
...
####
sub main {
my $self = shift;
my $config = Config::Simple->new("conf/notes.conf");
my $session = CGI::Session->load("driver:File", $self->query, { Directory => $config->param('session_directory') } )
or CGI::Session->new("driver:File", $self->query, { Directory => $config->param('session_directory') } )
or die CGI::Session->errstr;
### get a db connection
my $schema = Note::DBI->connect($config->param('db_data_source'),
$config->param('db_username'),
$config->param('db_password'),
{ RaiseError => 1, AutoCommit => 1 });
my @all_notes = $schema->resultset('Notes')->all;
### create a query for @usernotes, does not actually
### execute query
my $user_notes = $schema->resultset('User')->search(
{ username => $session->param('username') }
);
# Get all the user's notes
my @all_user_notes = $user_notes->search_related('notes')->all;
return $self->tt_process('main.tt',
{
c => $self->query,
s => $session,
#a_notes => \@all_notes,
#u_notes => \@all_user_notes,
title => 'Notes Home' });
}
####
package Notes::DBI;
use strict;
use base qw/DBIx::Class::Schema/;
####
__PACKAGE__->load_classes(); ## hopefully won't slow things down
####
1;
####
package Notes::DBI::Users;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/ PK::Auto Core /);
####
__PACKAGE__->table('users');
__PACKAGE__->add_columns(
qw/
userid
username
password
create_date
last_here
email
notes_are_private
/
);
__PACKAGE__->set_primary_key('userid');
__PACKAGE__->has_many( notes => 'Notes::DBI::Notes');
1;
####
package Notes::DBI::Notes;
use base qw/DBIx::Class/;
####
__PACKAGE__->load_components(qw/ PK::Auto Core /);
__PACKAGE__->table('notes');
__PACKAGE__->add_columns(
qw/
noteid
date
number
content
user
private
class
/
);
__PACKAGE__->set_primary_key('noteid');
__PACKAGE__->belongs_to( user => 'Notes::DBI::User');
####
1;