]> Frank Brehm's Git Trees - books.git/commitdiff
Weiteres Session-Attribut dazu
authorFrank Brehm <frank@brehm-online.com>
Sun, 22 Nov 2009 09:13:04 +0000 (09:13 +0000)
committerFrank Brehm <frank@brehm-online.com>
Sun, 22 Nov 2009 09:13:04 +0000 (09:13 +0000)
frbr_books.yml
lib/FrBr/Books.pm
lib/FrBr/Books/Controller/Logout.pm
lib/FrBr/Books/Controller/SessionOpts.pm
lib/FrBr/Books/Util/User.pm

index 0ad7f6a8412cbc8f6fe9d58520110d75b1d8bbde..50b6a8db4ad6e13d3450d46baeb7ac592eea73ae 100644 (file)
@@ -10,9 +10,15 @@ debug_level:    0
 log_level:      info
 # Soll die Log-Ausgabe farbig erfolgen ?
 colored_log:    0
+
 #
 # Standard-Listenlaenge
 default_list_length:    20
+
+#
+# Anzahl der angezeigten zugeordneten Bücher in einer anderen Liste
+default_count_books_in_other_list:     10
+
 #
 # Sitzungsparameter
 session:
index 0f7aea2f2ada64a7d90d35f836ecb4136cd0940c..b9595e7600ceb172ef4d974bd282d672160141a1 100644 (file)
@@ -227,7 +227,9 @@ sub auto : Private {
 
     # Listenlaenge festlegen
     $c->stash->{'list_length'} = $c->session->{'list_length'} || $c->config->{'default_list_length'} || 20;
-    
+
+    # Anzahl der angezeigten zugeordneten Bücher in einer anderen Liste
+    $c->stash->{'books_in_other_list'} = $c->session->{'books_in_other_list'} || $c->config->{'default_count_books_in_other_list'} || 10;
 
     1;
 
@@ -292,6 +294,8 @@ it under the same terms as Perl itself.
 
 =item I<list_length>: die aktuelle Listenlaenge
 
+=item I<books_in_other_list>: Anzahl der angezeigten zugeordneten Bücher in einer anderen Liste
+
 =back
 
 =cut
index 27ecf2fe5d7b6c8e2e24e0b5ec35ca3b9a82ecf4..be3ef27d6b44be3819f7726e3fb875cedc0a3fc1 100644 (file)
@@ -43,6 +43,7 @@ sub index : Private {
         book_data_edit
         book_list_page
         book_order_criteria
+        books_in_other_list
         category_data_edit
         delete_book_id
         from_book_list
index 6f5c355862f9c089947534e165cba1612205fc06..eb62870a2c5530c2ad4de6bc0f19d816d58fb5a6 100644 (file)
@@ -73,6 +73,16 @@ sub index : Private {
         delete $c->session->{'book_list_page'} if exists $c->session->{'book_list_page'};
     }
 
+    # Anzahl der angezeigten zugeordneten Bücher in einer anderen Liste festlegen
+    $length = $c->request->params->{'books_in_other_list'};
+    if ( $length and to_int( $length ) ) {
+        $length = to_int( $length );
+        $length = 2 if $length < 2;
+        $length = 100 if $length > 100;
+        $c->session->{'books_in_other_list'} = $length;
+        $c->stash->{'books_in_other_list'} = $length;
+    }
+
     save_user_prefs($c) if $c->user_exists();
 
 }
index c60c9b6e6a1f5e31b50839171e3017e3de78ad2e..addb7f36d197a2be1c54db64657c8f848981d0b1 100644 (file)
@@ -64,9 +64,15 @@ sub save_user_prefs {
 
     my $prefs = {};
 
+    # allgemeine Listenlänge
     $prefs->{'list_length'} = $c->stash->{'list_length'};
+
+    # Sortierkriterien der Buchliste
     $prefs->{'book_order_criteria'} = $c->session->{'book_order_criteria'} if $c->session->{'book_order_criteria'};
 
+    # Anzahl der angezeigten zugeordneten Bücher in einer anderen Liste
+    $prefs->{'books_in_other_list'} = $c->stash->{'books_in_other_list'};
+
     my $dump = Dump($prefs);
     $c->model('Schema::UserAdd')->search( { 'user_id' => $user_id } )->update( { 'prefs' => $dump } ) ;
 
@@ -109,11 +115,25 @@ sub restore_user_prefs {
     return unless $prefs;
 
     if ( $prefs->{'list_length'} ) {
+
+        # Seite der Buchliste
         delete $c->session->{'book_list_page'} if exists $c->session->{'book_list_page'};
-        $c->stash->{'list_length'} = $prefs->{'list_length'};
-        $c->session->{'list_length'} = $prefs->{'list_length'};
+
+        # allgemeine Listenlänge
+        if ( $prefs->{'list_length'} ) {
+            $c->stash->{'list_length'} = $prefs->{'list_length'};
+            $c->session->{'list_length'} = $prefs->{'list_length'};
+        }
+
+        # Anzahl der angezeigten zugeordneten Bücher in einer anderen Liste
+        if ( $prefs->{'books_in_other_list'} ) {
+            $c->stash->{'books_in_other_list'} = $prefs->{'books_in_other_list'};
+            $c->session->{'books_in_other_list'} = $prefs->{'books_in_other_list'};
+        }
+
     }
 
+    # Sortierkriterien der Buchliste
     $c->session->{'book_order_criteria'} = $prefs->{'book_order_criteria'} if $prefs->{'book_order_criteria'};
 
     return 1;