From c94cfa7b2cc5ffb0854ae81ef2d4cd44ee673fec Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Tue, 16 Feb 2010 15:42:54 +0000 Subject: [PATCH] Weiter mit Umlagern der Module --- lib/FrBr/Books.pm | 4 +- lib/FrBr/Books/Controller/Books.pm | 8 ++- lib/FrBr/Books/Controller/Login.pm | 3 +- lib/FrBr/Books/Controller/Logout.pm | 3 +- lib/FrBr/Books/Controller/Serie.pm | 13 +++-- lib/FrBr/Books/Controller/SessionOpts.pm | 3 +- lib/FrBr/Books/Plugin/Ort.pm | 2 +- lib/FrBr/Books/{Util => Plugin}/Serie.pm | 67 ++++++++++-------------- lib/FrBr/Books/{Util => Plugin}/User.pm | 39 ++++---------- 9 files changed, 53 insertions(+), 89 deletions(-) rename lib/FrBr/Books/{Util => Plugin}/Serie.pm (92%) rename lib/FrBr/Books/{Util => Plugin}/User.pm (83%) diff --git a/lib/FrBr/Books.pm b/lib/FrBr/Books.pm index 2fad0ed..983e1e0 100644 --- a/lib/FrBr/Books.pm +++ b/lib/FrBr/Books.pm @@ -39,12 +39,14 @@ use Catalyst qw/ Session::State::Cookie +FrBr::Books::Plugin::Ort + +FrBr::Books::Plugin::Serie + +FrBr::Books::Plugin::User +FrBr::Books::Plugin::Verlag +FrBr::Books::Plugin::Waehrung /; -our $VERSION = '0.03'; +our $VERSION = '0.3'; { my ($rev) = '$Revision$' =~ /(\d+)/; $VERSION = sprintf( $VERSION . ".%d", $rev ); diff --git a/lib/FrBr/Books/Controller/Books.pm b/lib/FrBr/Books/Controller/Books.pm index 08c2449..ea9d380 100644 --- a/lib/FrBr/Books/Controller/Books.pm +++ b/lib/FrBr/Books/Controller/Books.pm @@ -12,8 +12,6 @@ use FrBr::Books::Util::Author; use FrBr::Books::Util::Book; use FrBr::Books::Util::Bindungsart; use FrBr::Books::Util::Category; -use FrBr::Books::Util::Serie; -use FrBr::Books::Util::User; =head1 NAME @@ -389,7 +387,7 @@ sub sorting : Local { if ( $c->request->params->{'restore_defaults'} ) { $c->session->{'book_order_criteria'} = [ 'autoren', 'title' ]; $c->session->{'book_list_page'} = 1; - save_user_prefs($c) if $c->user_exists; + $c->b_save_user_prefs() if $c->user_exists; $c->detach("/books/list"); return 1; } @@ -421,7 +419,7 @@ sub sorting : Local { $c->session->{'book_order_criteria'} = $sort_order; $c->session->{'book_list_page'} = 1; - save_user_prefs($c) if $c->user_exists; + $c->b_save_user_prefs() if $c->user_exists; } @@ -1325,7 +1323,7 @@ sub prepare_data_structures : Private { $c->log->debug( get_output_string( $K . "Bindungsarten: ", $c->stash->{'bindungsartenliste'} ) ); # Buchserien zusamensammeln - my $serienliste = get_serienliste($c); + my $serienliste = $c->b_get_serienliste(); $c->log->debug( get_output_string( $K . "Serien gesamt: ", $serienliste ) ); $c->stash->{'serienliste'} = {}; $c->stash->{'serien_ids'} = []; diff --git a/lib/FrBr/Books/Controller/Login.pm b/lib/FrBr/Books/Controller/Login.pm index 6443c00..c5bb131 100644 --- a/lib/FrBr/Books/Controller/Login.pm +++ b/lib/FrBr/Books/Controller/Login.pm @@ -7,7 +7,6 @@ use strict; use warnings; use base 'Catalyst::Controller'; use FrBr::Common; -use FrBr::Books::Util::User; =head1 NAME @@ -49,7 +48,7 @@ sub index : Private { # Attempt to log the user in my $rs = $c->model('Schema::Users')->search({ 'login' => $username, 'deleted' => 'n', 'enabled' => 'y' }); if ($c->authenticate({ 'password' => $password, 'dbix_class' => { resultset => $rs } })) { - restore_user_prefs($c); + $c->b_restore_user_prefs(); $c->response->redirect( $c->web_path('/') ); return 1; } ## end if ( $c->login( $username, $password ) ) diff --git a/lib/FrBr/Books/Controller/Logout.pm b/lib/FrBr/Books/Controller/Logout.pm index 8d4f8a3..54448ab 100644 --- a/lib/FrBr/Books/Controller/Logout.pm +++ b/lib/FrBr/Books/Controller/Logout.pm @@ -7,7 +7,6 @@ use strict; use warnings; use base 'Catalyst::Controller'; use FrBr::Common; -use FrBr::Books::Util::User; =head1 NAME @@ -32,7 +31,7 @@ sub index : Private { my $K = ( caller(0) )[3] . "(): "; if ( $c->user_exists ) { - save_user_prefs($c); + $c->b_save_user_prefs(); # Clear the user's state $c->logout; } diff --git a/lib/FrBr/Books/Controller/Serie.pm b/lib/FrBr/Books/Controller/Serie.pm index dd71649..17f21ef 100644 --- a/lib/FrBr/Books/Controller/Serie.pm +++ b/lib/FrBr/Books/Controller/Serie.pm @@ -8,7 +8,6 @@ use warnings; use base 'Catalyst::Controller'; use FrBr::Common; -use FrBr::Books::Util::Serie; use FrBr::Books::Util::Book; =head1 NAME @@ -127,7 +126,7 @@ sub list : Local { $c->session->{'serie_list_page'} = $page; } - my ( $liste, $anzahl ) = get_serienliste( $c, 'get_books' => 1, 'page' => $page ); + my ( $liste, $anzahl ) = $c->b_get_serienliste( 'get_books' => 1, 'page' => $page ); $c->log->debug( get_output_string( $K, "Erhaltene Liste der Buchserien: ", $liste ) ) if $c->stash->{'debug_level'} >= 2; $c->stash->{'serien'} = $liste; @@ -243,7 +242,7 @@ sub form_view : Path('view') { } # Angaben zur Buchserie aus der Datenbank holen - my $sliste = get_serienliste( $c, 'get_books' => 1, 'serien_id' => $sid ); + my $sliste = $c->b_get_serienliste( 'get_books' => 1, 'serien_id' => $sid ); $c->log->debug( get_output_string( $K, "Erhaltene Serienliste: ", $sliste ) ) if $c->stash->{'debug_level'} >= 2; unless ( $sliste and scalar( @$sliste ) ) { @@ -299,7 +298,7 @@ sub delete_serie_form : Path('delete') { $c->session->{'delete_serie_id'} = $sid; # Angaben zur Buchserie aus der Datenbank holen - my $sliste = get_serienliste( $c, 'serien_id' => $sid ); + my $sliste = $c->b_get_serienliste( 'serien_id' => $sid ); $c->log->debug( get_output_string( $K, "Erhaltene Serienliste: ", $sliste ) ) if $c->stash->{'debug_level'} >= 2; unless ( $sliste and scalar( @$sliste ) ) { @@ -329,7 +328,7 @@ sub delete_serie_form : Path('delete') { if ( $c->request->params->{'really_delete_serie'} and $c->request->params->{'really_delete_serie'} eq 'yes' and $c->request->params->{'do_delete'} ) { eval { - delete_serie( $c, $sid ); + $c->b_delete_serie( $sid ); }; if ( $@ ) { $c->stash->{'error_message'} = $@; @@ -383,7 +382,7 @@ sub form_edit : Path('edit') { return 1; } - my $sliste = get_serienliste( $c, 'get_books' => 1, 'serien_id' => $sid ); + my $sliste = $c->b_get_serienliste( 'get_books' => 1, 'serien_id' => $sid ); $c->log->debug( get_output_string( $K, "Erhaltene Serienliste: ", $sliste ) ) if $c->stash->{'debug_level'} >= 2; unless ( $sliste and scalar( @$sliste ) ) { @@ -466,7 +465,7 @@ sub do_save_serie : Private { my $sid = undef; eval { - $sid = save_serie( $c, $c->stash->{'serie_edit'} ); + $sid = $c->b_save_serie( $c->stash->{'serie_edit'} ); die "Speichern der Buchserie mißlungen." unless $sid; }; if ( $@ ) { diff --git a/lib/FrBr/Books/Controller/SessionOpts.pm b/lib/FrBr/Books/Controller/SessionOpts.pm index eb62870..5432881 100644 --- a/lib/FrBr/Books/Controller/SessionOpts.pm +++ b/lib/FrBr/Books/Controller/SessionOpts.pm @@ -7,7 +7,6 @@ use strict; use warnings; use base 'Catalyst::Controller'; use FrBr::Common; -use FrBr::Books::Util::User; =head1 NAME @@ -83,7 +82,7 @@ sub index : Private { $c->stash->{'books_in_other_list'} = $length; } - save_user_prefs($c) if $c->user_exists(); + $c->b_save_user_prefs() if $c->user_exists(); } diff --git a/lib/FrBr/Books/Plugin/Ort.pm b/lib/FrBr/Books/Plugin/Ort.pm index db946cd..bb4366a 100644 --- a/lib/FrBr/Books/Plugin/Ort.pm +++ b/lib/FrBr/Books/Plugin/Ort.pm @@ -9,7 +9,7 @@ use warnings; use Carp qw/croak/; use FrBr::Common; -our $VERSION = '0.02'; +our $VERSION = '0.2'; { my ($rev) = '$Revision$' =~ /(\d+)/; $VERSION = sprintf( $VERSION . ".%d", $rev ); diff --git a/lib/FrBr/Books/Util/Serie.pm b/lib/FrBr/Books/Plugin/Serie.pm similarity index 92% rename from lib/FrBr/Books/Util/Serie.pm rename to lib/FrBr/Books/Plugin/Serie.pm index a11bb03..af5064f 100644 --- a/lib/FrBr/Books/Util/Serie.pm +++ b/lib/FrBr/Books/Plugin/Serie.pm @@ -1,4 +1,4 @@ -package FrBr::Books::Util::Serie; +package FrBr::Books::Plugin::Serie; # $Id$ # $URL$ @@ -6,39 +6,22 @@ package FrBr::Books::Util::Serie; use strict; use warnings; +use Carp qw/croak/; use FrBr::Common; -# Export-Deklarationen - -BEGIN { - - use Exporter(); - our ( $VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS ); - - # set the version for version checking - $VERSION = 0.1; +our $VERSION = '0.2'; +{ my ($rev) = '$Revision$' =~ /(\d+)/; $VERSION = sprintf( $VERSION . ".%d", $rev ); +} - @ISA = qw(Exporter); - @EXPORT = qw( - &get_serienliste - &save_serie - &delete_serie - ); - - #%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - - # your exported package globals go here, - # as well as any optionally exported functions - #@EXPORT_OK = qw($Var1 %Hashit &func3); -} ## end BEGIN - -our @EXPORT_OK; +# &get_serienliste +# &save_serie +# &delete_serie =head1 NAME -FrBr::Books::Util::Serie - Modul fuer Funktionen rund um Buchserien +FrBr::Books::Plugin::Serie - Modul fuer Funktionen rund um Buchserien =head1 METHODS @@ -46,7 +29,7 @@ FrBr::Books::Util::Serie - Modul fuer Funktionen rund um Buchserien #----------------------------------------------------------------------------------- -=head2 get_serienliste( $c, $params ) +=head2 $c->b_get_serienliste( $params ) Sammelt alle Buchserien zusammen. @@ -66,6 +49,10 @@ Integer: Zeigt an, welche Seite von Verlagen dargestellt werden soll. Wenn nicht angegeben, werden alle Verlage zurückgegeben. +=item B + +Listenlänge einer Seite (wenn seitenweise gewünscht wird). + =back Rueckgabe: Eine Array-Ref von Hash-Refs mit allen Buchserien, die den uebergebenen Suchkriterien entsprechen, sowie im Listenkontext die Anzahl der Buchserien, die den uebergebenen Suchkriterien entsprechen. @@ -130,7 +117,7 @@ Im Listenkontext wird als zweiter Rückgabewert die Gesamtzahl aller Buchserien =cut -sub get_serienliste { +sub b_get_serienliste { my $c = shift; my $K = ( caller(0) )[3] . "(): "; @@ -150,8 +137,10 @@ sub get_serienliste { my $anzahl_serien = 0; my $page = to_int( $params->{'page'} ) ? to_int( $params->{'page'} ) : undef; - my $rows = undef; - $rows = $c->stash->{'list_length'} || 20 if defined $page; + my $rows = to_int( $params->{'list_length'} ) ? to_int( $params->{'list_length'} ) : undef; + unless ( defined $rows ) { + $rows = $c->stash->{'list_length'} || 20 if defined $page; + } my $search_params = undef; if ( $params->{'serien_id'} ) { @@ -343,11 +332,11 @@ sub get_serienliste { #----------------------------------------------------------------------------------- -=head2 save_serie( $c, $serie ) +=head2 $c->b_save_serie( $serie ) =cut -sub save_serie { +sub b_save_serie { my $c = shift; my $serie = shift; @@ -356,7 +345,7 @@ sub save_serie { $c->log->debug( $K . "aufgerufen." ) if $c->stash->{'debug_level'} > 2; $c->log->debug( get_output_string( $K, "Zu speichernde Serie: ", $serie ) ) if $c->stash->{'debug_level'} >= 2; - my $storage = $c->stash->{'storage'}; + my $storage = $c->model('Schema')->storage; my $save_books = ( $serie->{'id'} and $serie->{'book_ids'} and ref($serie->{'book_ids'}) and ref($serie->{'book_ids'}) eq 'ARRAY') ? 1 : 0; $c->log->debug( $K . "Speichern der Bücher erforderlich: " . ( $save_books ? 'ja' : 'nein' ) . "." ) if $c->stash->{'debug_level'} > 2; @@ -386,7 +375,7 @@ ENDE my $serien_id = $storage->last_insert_id(); return $serien_id unless $serien_id; - save_serien_buecher( $c, $serien_id, $serie->{'book_ids'} ) if $save_books; + $c->b_save_serien_buecher( $c, $serien_id, $serie->{'book_ids'} ) if $save_books; return $serien_id; @@ -394,11 +383,11 @@ ENDE #----------------------------------------------------------------------------------- -=head2 save_serien_buecher( $c, $serien_id, @$book_ids ) +=head2 $c->b_save_serien_buecher( $serien_id, @$book_ids ) =cut -sub save_serien_buecher { +sub b_save_serien_buecher { my $c = shift; my $serien_id = shift; @@ -407,7 +396,7 @@ sub save_serien_buecher { my $K = ( caller(0) )[3] . "(): "; $c->log->debug( $K . "aufgerufen." ) if $c->stash->{'debug_level'} > 2; - my $storage = $c->stash->{'storage'}; + my $storage = $c->model('Schema')->storage; my $dbh = $storage->dbh(); my $anzahl = 0; @@ -475,13 +464,13 @@ ENDE #----------------------------------------------------------------------------------- -=head2 delete_serie( $c, $serien_id ) +=head2 $c->b_delete_serie( $serien_id ) Loescht die Buchserie mit der uebergebenen Serien-Id =cut -sub delete_serie { +sub b_delete_serie { my $c = shift; my $serien_id = shift; diff --git a/lib/FrBr/Books/Util/User.pm b/lib/FrBr/Books/Plugin/User.pm similarity index 83% rename from lib/FrBr/Books/Util/User.pm rename to lib/FrBr/Books/Plugin/User.pm index aa890a2..a5742d2 100644 --- a/lib/FrBr/Books/Util/User.pm +++ b/lib/FrBr/Books/Plugin/User.pm @@ -1,4 +1,4 @@ -package FrBr::Books::Util::User; +package FrBr::Books::Plugin::User; # $Id$ # $URL$ @@ -9,36 +9,15 @@ use warnings; use FrBr::Common; use YAML; -# Export-Deklarationen - -BEGIN { - - use Exporter(); - our ( $VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS ); - - # set the version for version checking - $VERSION = 0.1; +our $VERSION = '0.2'; +{ my ($rev) = '$Revision$' =~ /(\d+)/; $VERSION = sprintf( $VERSION . ".%d", $rev ); - - @ISA = qw(Exporter); - @EXPORT = qw( - &save_user_prefs - &restore_user_prefs - ); - - #%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], - - # your exported package globals go here, - # as well as any optionally exported functions - #@EXPORT_OK = qw($Var1 %Hashit &func3); -} ## end BEGIN - -our @EXPORT_OK; +} =head1 NAME -FrBr::Books::Util::User - Modul fuer Funktionen rund um benutzer +FrBr::Books::Plugin::User - Modul fuer Funktionen rund um benutzer =head1 METHODS @@ -46,13 +25,13 @@ FrBr::Books::Util::User - Modul fuer Funktionen rund um benutzer #----------------------------------------------------------------------------------- -=head2 save_user_prefs( $c ) +=head2 $c->b_save_user_prefs() Sichert die Einstellungen eines angemeldeten Benutzers =cut -sub save_user_prefs { +sub b_save_user_prefs { my $c = shift; my $K = ( caller(0) )[3] . "(): "; @@ -85,13 +64,13 @@ sub save_user_prefs { #----------------------------------------------------------------------------------- -=head2 restore_user_prefs( $c ) +=head2 $c->b_restore_user_prefs() Holt die Einstellungen aus der Nutzertablle raus und beamt diese in die aktuelle Session =cut -sub restore_user_prefs { +sub b_restore_user_prefs { my $c = shift; my $K = ( caller(0) )[3] . "(): "; -- 2.39.5