[open-ils-commits] ***SPAM*** [GIT] Evergreen ILS branch master updated. 33584305c66c9343e64246174cb2b38b53b6db5d

Evergreen Git git at git.evergreen-ils.org
Fri Sep 13 14:39:58 EDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  33584305c66c9343e64246174cb2b38b53b6db5d (commit)
       via  1e2e429cd084ac32fab4dd1e4c05ba2ec12b12f4 (commit)
       via  17af956614f25c7cdb9b7ad03444bf6fa61248a9 (commit)
      from  052d0ee6c1d6d4da7e66dbc6727e140e62eec55d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 33584305c66c9343e64246174cb2b38b53b6db5d
Author: Dan Wells <dbw2 at calvin.edu>
Date:   Fri Sep 13 12:41:11 2013 -0400

    Trivial changes to 'my list' paging code
    
    1) Remove unneeded comment
    2) un-CamelCase variables
    3) Add 'my list' paginator selection to stylesheet
    
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
index 22182ee..6acb39e 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
@@ -479,10 +479,6 @@ sub load_myopac_prefs_my_lists {
     return Apache2::Const::OK
         unless $self->cgi->request_method eq 'POST';
 
-    # some setting values from the form don't match the
-    # required value/format for the db, so they have to be
-    # individually translated.
-
     my %settings;
     my $set_map = $self->ctx->{user_setting_map};
 
@@ -1768,10 +1764,10 @@ sub load_myopac_bookbags {
     $ctx->{bookbags_offset} = $offset;
 
     # for list item pagination
-    my $itemLimit = $self->_get_items_per_page;
-    my $itemPage = $self->cgi->param('itemPage') || 1;
-    my $itemOffset = ($itemPage - 1) * $itemLimit;
-    $ctx->{bookbags_itemPage} = $itemPage;
+    my $item_limit = $self->_get_items_per_page;
+    my $item_page = $self->cgi->param('item_page') || 1;
+    my $item_offset = ($item_page - 1) * $item_limit;
+    $ctx->{bookbags_item_page} = $item_page;
 
     my ($sorter, $modifier) = $self->_get_bookbag_sort_params("sort");
     $e->xact_begin; # replication...
@@ -1874,7 +1870,7 @@ sub load_myopac_bookbags {
             $ctx->{bb_item_count} = $ctx->{bb_item_count} + $ebook_r->[0]->{'count'};
 
             #calculate page count
-            $ctx->{bb_page_count} = int ((($ctx->{bb_item_count} - 1) / $itemLimit) + 1);
+            $ctx->{bb_page_count} = int ((($ctx->{bb_item_count} - 1) / $item_limit) + 1);
 
             if ( ($self->cgi->param("action") || '') eq "editmeta") {
                 if (!$self->_update_bookbag_metadata($bookbag))  {
@@ -1907,8 +1903,8 @@ sub load_myopac_bookbags {
 
             # For list items pagination
             my $args = {
-                "limit" => $itemLimit,
-                "offset" => $itemOffset
+                "limit" => $item_limit,
+                "offset" => $item_offset
             };
 
             my $items = $U->bib_container_items_via_search($bookbag->id, $query, $args)
diff --git a/Open-ILS/src/templates/opac/css/style.css.tt2 b/Open-ILS/src/templates/opac/css/style.css.tt2
index 3d827d5..0a5d71b 100644
--- a/Open-ILS/src/templates/opac/css/style.css.tt2
+++ b/Open-ILS/src/templates/opac/css/style.css.tt2
@@ -1328,6 +1328,7 @@ table.bookbag-specific {
 .bookbag-specific td.list_actions {
     white-space: nowrap !important;
 }
+.bookbag-paginator-selected { color: [% css_colors.text_alert %]; }
 
 .list_is_empty {
     padding: 8px 0px 6px 0px;
diff --git a/Open-ILS/src/templates/opac/myopac/lists.tt2 b/Open-ILS/src/templates/opac/myopac/lists.tt2
index 7707624..3be190f 100644
--- a/Open-ILS/src/templates/opac/myopac/lists.tt2
+++ b/Open-ILS/src/templates/opac/myopac/lists.tt2
@@ -4,7 +4,7 @@
     myopac_page = "lists"  
     limit = ctx.bookbags_limit;
     offset = ctx.bookbags_offset;
-    itemPage = ctx.bookbags_itemPage;
+    item_page = ctx.bookbags_item_page;
 %]
 <div id='myopac_bookbag_div' style="padding:5px;">
 
@@ -87,7 +87,7 @@
             <div class="bookbag-controls most">
                 [% baseurl = ctx.opac_root _ '/myopac/lists';
                 IF bbag.id != CGI.param("bbid");
-                    url = mkurl(baseurl,{bbid => bbag.id, itemPage => 1},['edit_notes','sort']);
+                    url = mkurl(baseurl,{bbid => bbag.id, item_page => 1},['edit_notes','sort']);
                     ltitle = l("Show items in list");
                 ELSE;
                     url = mkurl(baseurl, {}, ['bbid', 'edit_notes', 'sort']);
@@ -365,47 +365,47 @@
             <div class="header_middle" style="padding-top:7px;">
                 <span class="float-left" style="padding-left:34px;">[% l('Navigate Selected List ') %]</span>
                 <span class='float-left' style='padding-left: 10px;'>
-                    [%- IF itemPage > 1 -%]
+                    [%- IF item_page > 1 -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage - 1
+                            item_page => item_page - 1
                         }) %]'><span class="nav_arrow_fix">&#9668;</span>[% l('Previous') %]</a>
                     [%- END; -%]
 
-                    [%- IF (itemPage - 3) >= 1 -%]
+                    [%- IF (item_page - 3) >= 1 -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage - 3
-                        }) %]'>[% itemPage - 3 %]</a>
+                            item_page => item_page - 3
+                        }) %]'>[% item_page - 3 %]</a>
                     [%- END; -%]
-                    [%- IF (itemPage - 2) >= 1 -%]
+                    [%- IF (item_page - 2) >= 1 -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage - 2
-                        }) %]'>[% itemPage - 2 %]</a>
+                            item_page => item_page - 2
+                        }) %]'>[% item_page - 2 %]</a>
                     [%- END; -%]
-                    [%- IF (itemPage - 1) >= 1 -%]
+                    [%- IF (item_page - 1) >= 1 -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage - 1
-                        }) %]'>[% itemPage - 1%]</a>
+                            item_page => item_page - 1
+                        }) %]'>[% item_page - 1%]</a>
                     [%- END; -%]
-                    <span style="color:red;" >[% itemPage %]</span>
-                    [%- IF (itemPage + 1) <= ctx.bb_page_count -%]
+                    <span class="bookbag-paginator-selected" >[% item_page %]</span>
+                    [%- IF (item_page + 1) <= ctx.bb_page_count -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage + 1
-                        }) %]'>[% itemPage + 1 %]</a>
+                            item_page => item_page + 1
+                        }) %]'>[% item_page + 1 %]</a>
                     [%- END; -%]
-                    [%- IF (itemPage + 2) <= ctx.bb_page_count -%]
+                    [%- IF (item_page + 2) <= ctx.bb_page_count -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage + 2
-                        }) %]'>[% itemPage + 2 %]</a>
+                            item_page => item_page + 2
+                        }) %]'>[% item_page + 2 %]</a>
                     [%- END; -%]
-                    [%- IF (itemPage + 3) <= ctx.bb_page_count -%]
+                    [%- IF (item_page + 3) <= ctx.bb_page_count -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage + 3
-                        }) %]'>[% itemPage + 3 %]</a>
+                            item_page => item_page + 3
+                        }) %]'>[% item_page + 3 %]</a>
                     [%- END; -%]
 
-                    [%- IF (itemPage + 1) <= ctx.bb_page_count; -%]
+                    [%- IF (item_page + 1) <= ctx.bb_page_count; -%]
                         <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
-                            itemPage => itemPage + 1
+                            item_page => item_page + 1
                         }) %]'>[% l('Next') %]<span class="nav_arrow_fix">&#9658;</span></a>
                     [%- END; -%]
                  </span>

commit 1e2e429cd084ac32fab4dd1e4c05ba2ec12b12f4
Author: Dan Wells <dbw2 at calvin.edu>
Date:   Fri Sep 13 14:34:11 2013 -0400

    Stamping upgrade for 'my list' items per page
    
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 64d9042..2277d81 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0828', :eg_version); -- berick/senator
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0829', :eg_version); -- ktomita/dbwells
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql b/Open-ILS/src/sql/Pg/upgrade/0829.data.my_list_items_per_page_setting.sql
similarity index 81%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql
rename to Open-ILS/src/sql/Pg/upgrade/0829.data.my_list_items_per_page_setting.sql
index 9aac3ee..3f4e073 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0829.data.my_list_items_per_page_setting.sql
@@ -1,11 +1,10 @@
--- Evergreen DB patch XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql
 --
 -- Adds a setting for selecting the number of items per page of a my list.
 --
 BEGIN;
 
 -- check whether patch can be applied
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0829', :eg_version);
 
 INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
     VALUES (
@@ -26,3 +25,4 @@ INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatyp
         'string'
     );
 
+COMMIT;

commit 17af956614f25c7cdb9b7ad03444bf6fa61248a9
Author: Kyle Tomita <ktomita at catalystitservices.com>
Date:   Wed Apr 3 14:37:41 2013 -0700

    LP1160596 - Add pagination for items in My Lists
    
    Added pagination with page numbers when viewing the items in
    a list.  Also made the number of list items per page a user
    setting, per the suggestions of Pasi Kallinen and Jason
    Stephenson.
    
    The setting is located in, Account Preferences -> My Lists Preferences
    
    Update: Added i18n part to allow for translation.  Removed hard-coded
    bre.source.
    
    Signed-off-by: Kyle Tomita <ktomita at catalystitservices.com>
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
index 48931e8..0af9399 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
@@ -195,6 +195,7 @@ sub load {
     return $self->load_myopac_hold_history if $path =~ m|opac/myopac/hold_history|;
     return $self->load_myopac_prefs_notify if $path =~ m|opac/myopac/prefs_notify|;
     return $self->load_myopac_prefs_settings if $path =~ m|opac/myopac/prefs_settings|;
+    return $self->load_myopac_prefs_my_lists if $path =~ m|opac/myopac/prefs_my_lists|;
     return $self->load_myopac_prefs if $path =~ m|opac/myopac/prefs|;
     return $self->load_sms_cn if $path =~ m|opac/sms_cn|;
 
diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
index a7f60a4..22182ee 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
@@ -466,6 +466,42 @@ sub load_myopac_prefs_settings {
     return $self->_load_user_with_prefs || Apache2::Const::OK;
 }
 
+sub load_myopac_prefs_my_lists {
+    my $self = shift;
+
+    my @user_prefs = qw/
+        opac.list_items_per_page
+    /;
+
+    my $stat = $self->_load_user_with_prefs;
+    return $stat if $stat;
+
+    return Apache2::Const::OK
+        unless $self->cgi->request_method eq 'POST';
+
+    # some setting values from the form don't match the
+    # required value/format for the db, so they have to be
+    # individually translated.
+
+    my %settings;
+    my $set_map = $self->ctx->{user_setting_map};
+
+    foreach my $key (@user_prefs) {
+        my $val = $self->cgi->param($key);
+        $settings{$key}= $val unless $$set_map{$key} eq $val;
+    }
+
+    # Send the modified settings off to be saved
+    $U->simplereq(
+        'open-ils.actor',
+        'open-ils.actor.patron.settings.update',
+        $self->editor->authtoken, undef, \%settings);
+
+    # re-fetch user prefs
+    $self->ctx->{updated_user_settings} = \%settings;
+    return $self->_load_user_with_prefs || Apache2::Const::OK;
+}
+
 sub fetch_user_holds {
     my $self = shift;
     my $hold_ids = shift;
@@ -1705,6 +1741,22 @@ sub _update_bookbag_metadata {
     return 0;
 }
 
+sub _get_items_per_page {
+    my $self = shift;
+
+    if($self->editor->requestor) {
+        $self->timelog("Checking for opac.list_items_per_page preference");
+        # See if the user has a list items per page preference
+        my $ipp = $self->editor->search_actor_user_setting({
+            usr => $self->editor->requestor->id,
+            name => 'opac.list_items_per_page'
+        })->[0];
+        $self->timelog("Got opac.list_items_per_page preference");
+        return OpenSRF::Utils::JSON->JSON2perl($ipp->value) if $ipp;
+    }
+    return 10; # default
+}
+
 sub load_myopac_bookbags {
     my $self = shift;
     my $e = $self->editor;
@@ -1715,6 +1767,12 @@ sub load_myopac_bookbags {
     $ctx->{bookbags_limit} = $limit;
     $ctx->{bookbags_offset} = $offset;
 
+    # for list item pagination
+    my $itemLimit = $self->_get_items_per_page;
+    my $itemPage = $self->cgi->param('itemPage') || 1;
+    my $itemOffset = ($itemPage - 1) * $itemLimit;
+    $ctx->{bookbags_itemPage} = $itemPage;
+
     my ($sorter, $modifier) = $self->_get_bookbag_sort_params("sort");
     $e->xact_begin; # replication...
 
@@ -1753,13 +1811,71 @@ sub load_myopac_bookbags {
     $ctx->{bookbag_count} = $r->[0]->{'count'};
 
     # If the user wants a specific bookbag's items, load them.
-    # XXX add bookbag item paging support
 
     if ($self->cgi->param("bbid")) {
         my ($bookbag) =
             grep { $_->id eq $self->cgi->param("bbid") } @{$ctx->{bookbags}};
 
         if ($bookbag) {
+            # Calculate total count of the items in selected bookbag.
+            # This total includes record entries that have no assets available.
+            my $iq = {
+                'select' => { 'acn' => [ { 'column' => 'record', 'distinct' => 'true', 'transform' => 'count', 'aggregate' => 'true', 'alias' => 'count' } ] },
+                'from' => {'cbrebi' =>
+                    { 'bre' =>
+                        { 'join' =>
+                            { 'acn' =>
+                                { 'join' =>
+                                    { 'acp' =>
+                                        { 'join' =>
+                                            { 'ccs' => {}
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                },
+                'where' => {
+                        '+cbrebi' => { 'bucket' => $bookbag->id },
+                        '+acn' => { 'deleted' => 'f' },
+                        '+ccs' => { 'opac_visible' => 't' },
+                        '+acp' => {
+                                'deleted' => 'f',
+                                'opac_visible' => 't'
+                            }
+                    }
+            };
+            my $ir = $e->json_query($iq);
+            $ctx->{bb_item_count} = $ir->[0]->{'count'};
+            #now add ebooks
+            my $ebook_q = {
+                'select' => { 'cbrebi' => [ { 'column' => 'target_biblio_record_entry', 'distinct' => 'true', 'transform' => 'count', 'aggregate' => 'true', 'alias' => 'count' } ] },
+                'from' => {'cbrebi' =>
+                    { 'bre' =>
+                        { 'join' =>
+                            {
+                                'cbs' => {}
+                            }
+                        }
+                    }
+                },
+                'where' => {
+                        '+cbrebi' => { 'bucket' => $bookbag->id },
+                        '+bre' => {
+                                'deleted' => 'f',
+                                'active' => 't'
+                            },
+                        '+cbs' => { 'transcendant' => 't' }
+                    }
+            };
+            my $ebook_r = $e->json_query($ebook_q);
+            $ctx->{bb_item_count} = $ctx->{bb_item_count} + $ebook_r->[0]->{'count'};
+
+            #calculate page count
+            $ctx->{bb_page_count} = int ((($ctx->{bb_item_count} - 1) / $itemLimit) + 1);
+
             if ( ($self->cgi->param("action") || '') eq "editmeta") {
                 if (!$self->_update_bookbag_metadata($bookbag))  {
                     $e->rollback;
@@ -1789,11 +1905,10 @@ sub load_myopac_bookbags {
                 $bookbag->id, $sorter, $modifier
             );
 
-            # XXX Limiting to 1000 for now.  This way you should be able to see entire
-            # list contents.  Need to add paging here instead.
+            # For list items pagination
             my $args = {
-                "limit" => 1000,
-                "offset" => 0
+                "limit" => $itemLimit,
+                "offset" => $itemOffset
             };
 
             my $items = $U->bib_container_items_via_search($bookbag->id, $query, $args)
diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
index 30e6b3e..77cdf76 100644
--- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql
+++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
@@ -2556,6 +2556,25 @@ INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatyp
     oils_i18n_gettext('opac.default_pickup_location', 'Default location for holds pickup', 'cust', 'description'),
     'integer');
 
+INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
+    VALUES (
+        'opac.list_items_per_page',
+        TRUE,
+        oils_i18n_gettext(
+            'opac.list_items_per_page',
+            'List Items per Page',
+            'cust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'opac.list_items_per_page',
+            'A number designating the amount of list items displayed per page of a selected list.',
+            'cust',
+            'description'
+        ),
+        'string'
+    );
+
 -- Add groups for org_unit settings
 INSERT INTO config.settings_group (name, label) VALUES
 ('acq', oils_i18n_gettext('config.settings_group.system', 'Acquisitions', 'coust', 'label')),
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql
new file mode 100644
index 0000000..9aac3ee
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql
@@ -0,0 +1,28 @@
+-- Evergreen DB patch XXXX.add_setting_for_selecting_items_per_page_of_a_my_list.sql
+--
+-- Adds a setting for selecting the number of items per page of a my list.
+--
+BEGIN;
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO config.usr_setting_type (name,opac_visible,label,description,datatype)
+    VALUES (
+        'opac.list_items_per_page',
+        TRUE,
+        oils_i18n_gettext(
+            'opac.list_items_per_page',
+            'List Items per Page',
+            'cust',
+            'label'
+        ),
+        oils_i18n_gettext(
+            'opac.list_items_per_page',
+            'A number designating the amount of list items displayed per page of a selected list.',
+            'cust',
+            'description'
+        ),
+        'string'
+    );
+
diff --git a/Open-ILS/src/templates/opac/myopac/lists.tt2 b/Open-ILS/src/templates/opac/myopac/lists.tt2
index ec729e7..7707624 100644
--- a/Open-ILS/src/templates/opac/myopac/lists.tt2
+++ b/Open-ILS/src/templates/opac/myopac/lists.tt2
@@ -4,6 +4,7 @@
     myopac_page = "lists"  
     limit = ctx.bookbags_limit;
     offset = ctx.bookbags_offset;
+    itemPage = ctx.bookbags_itemPage;
 %]
 <div id='myopac_bookbag_div' style="padding:5px;">
 
@@ -86,7 +87,7 @@
             <div class="bookbag-controls most">
                 [% baseurl = ctx.opac_root _ '/myopac/lists';
                 IF bbag.id != CGI.param("bbid");
-                    url = mkurl(baseurl,{bbid => bbag.id},['edit_notes','sort']);
+                    url = mkurl(baseurl,{bbid => bbag.id, itemPage => 1},['edit_notes','sort']);
                     ltitle = l("Show items in list");
                 ELSE;
                     url = mkurl(baseurl, {}, ['bbid', 'edit_notes', 'sort']);
@@ -359,6 +360,60 @@
                 [% END %]
             </tbody>
         </table>
+
+        [% IF ctx.bb_page_count > 1; %]
+            <div class="header_middle" style="padding-top:7px;">
+                <span class="float-left" style="padding-left:34px;">[% l('Navigate Selected List ') %]</span>
+                <span class='float-left' style='padding-left: 10px;'>
+                    [%- IF itemPage > 1 -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage - 1
+                        }) %]'><span class="nav_arrow_fix">&#9668;</span>[% l('Previous') %]</a>
+                    [%- END; -%]
+
+                    [%- IF (itemPage - 3) >= 1 -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage - 3
+                        }) %]'>[% itemPage - 3 %]</a>
+                    [%- END; -%]
+                    [%- IF (itemPage - 2) >= 1 -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage - 2
+                        }) %]'>[% itemPage - 2 %]</a>
+                    [%- END; -%]
+                    [%- IF (itemPage - 1) >= 1 -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage - 1
+                        }) %]'>[% itemPage - 1%]</a>
+                    [%- END; -%]
+                    <span style="color:red;" >[% itemPage %]</span>
+                    [%- IF (itemPage + 1) <= ctx.bb_page_count -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage + 1
+                        }) %]'>[% itemPage + 1 %]</a>
+                    [%- END; -%]
+                    [%- IF (itemPage + 2) <= ctx.bb_page_count -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage + 2
+                        }) %]'>[% itemPage + 2 %]</a>
+                    [%- END; -%]
+                    [%- IF (itemPage + 3) <= ctx.bb_page_count -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage + 3
+                        }) %]'>[% itemPage + 3 %]</a>
+                    [%- END; -%]
+
+                    [%- IF (itemPage + 1) <= ctx.bb_page_count; -%]
+                        <a href='[% mkurl(ctx.opac_root _ '/myopac/lists', {
+                            itemPage => itemPage + 1
+                        }) %]'>[% l('Next') %]<span class="nav_arrow_fix">&#9658;</span></a>
+                    [%- END; -%]
+                 </span>
+            </div>
+            <div class="clear-both"></div>
+        [% END %]
+        <br/>
+
         </form>
         [% END %]
         [% END %]
diff --git a/Open-ILS/src/templates/opac/myopac/prefs_my_lists.tt2 b/Open-ILS/src/templates/opac/myopac/prefs_my_lists.tt2
new file mode 100644
index 0000000..746df98
--- /dev/null
+++ b/Open-ILS/src/templates/opac/myopac/prefs_my_lists.tt2
@@ -0,0 +1,45 @@
+[%  PROCESS "opac/parts/header.tt2";
+    WRAPPER "opac/parts/myopac/prefs_base.tt2";
+    myopac_page = "prefs";
+    prefs_page = 'my_lists' %]
+
+
+    <form method='post'>
+
+       <table class="full-width data_grid" id="acct_search_main">
+            <tbody>
+
+                [% IF ctx.updated_user_settings %]
+                <tr><td colspan='2'>
+                    <div class='renew-summary'>
+                        [% l('Account Successfully Updated') %]
+                    </div>
+                </td></tr>
+                [% END %]
+
+                [%- setting = 'opac.list_items_per_page' -%]
+                <tr >
+                    <td width='20%'><label for='[% setting %]'>[%l("List items per page") %]</label></td>
+                    <td>
+                        <select id='[% setting %]' name='[% setting %]'>
+                            [%  UNLESS ctx.user_setting_map.$setting;
+                                    ctx.user_setting_map.$setting = 10;
+                                END;
+                                FOR val IN [10, 15, 20, 25, 50] %]
+                                <option value='[% val | uri %]' 
+                                    [% IF ctx.user_setting_map.$setting == val %]
+                                        selected='selected'[% END %]>[% val | html %]</option>
+                            [% END %]
+                        </select>
+                        <img alt="[% l('List Items Help') %]"
+                            src="[% ctx.media_prefix %]/images/question-mark.png"
+                            title="[% l('The number of list items displayed per page when viewing a selected list.') %]"
+                        />
+                    </td>
+                </tr>
+            </tbody>
+        </table>
+        <input type="submit" value="[% l('Save') %]" alt="[% l('Save') %]" class="opac-button"/>
+    </form>
+    [% INCLUDE "opac/parts/myopac/prefs_hints.tt2" %]
+[% END %]
diff --git a/Open-ILS/src/templates/opac/parts/myopac/prefs_base.tt2 b/Open-ILS/src/templates/opac/parts/myopac/prefs_base.tt2
index 5f3a154..031da15 100644
--- a/Open-ILS/src/templates/opac/parts/myopac/prefs_base.tt2
+++ b/Open-ILS/src/templates/opac/parts/myopac/prefs_base.tt2
@@ -15,6 +15,9 @@
             <div class="align">
                 <a href='[% mkurl('prefs_settings') %]'>[% l("Search and History Preferences") %]</a>
             </div>
+            <div class="align">
+                <a href='[% mkurl('prefs_my_lists') %]'>[% l("My Lists Preferences") %]</a>
+            </div>
         [% ELSIF prefs_page == 'notify' %]
             <div class="align">
                 <a href='[% mkurl('prefs') %]'>[% l("Personal Information") %]</a>
@@ -25,7 +28,10 @@
             <div class="align" >
                 <a href='[% mkurl('prefs_settings') %]'>[% l("Search and History Preferences") %]</a>
             </div>
-        [% ELSE %]
+            <div class="align">
+                <a href='[% mkurl('prefs_my_lists') %]'>[% l("My Lists Preferences") %]</a>
+            </div>
+        [% ELSIF prefs_page == 'settings' %]
             <div class="align">
                 <a href='[% mkurl('prefs') %]'>[% l("Personal Information") %]</a>
             </div>
@@ -35,6 +41,22 @@
             <div class="align selected" >
                 <a href='#'>[% l("Search and History Preferences") %]</a>
             </div>
+            <div class="align">
+                <a href='[% mkurl('prefs_my_lists') %]'>[% l("My Lists Preferences") %]</a>
+            </div>
+        [% ELSE %]
+            <div class="align">
+                <a href='[% mkurl('prefs') %]'>[% l("Personal Information") %]</a>
+            </div>
+            <div class="align">
+                <a href='[% mkurl('prefs_notify') %]'>[% l("Notification Preferences") %]</a>
+            </div>
+            <div class="align" >
+                <a href='[% mkurl('prefs_settings') %]'>[% l("Search and History Preferences") %]</a>
+            </div>
+            <div class="align selected">
+                <a href='#'>[% l("My Lists Preferences") %]</a>
+            </div>
         [% END %]
         </div>
     </div> 

-----------------------------------------------------------------------

Summary of changes:
 .../src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm    |    1 +
 .../lib/OpenILS/WWW/EGCatLoader/Account.pm         |  121 +++++++++++++++++++-
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/950.data.seed-values.sql       |   19 +++
 .../0829.data.my_list_items_per_page_setting.sql   |   28 +++++
 Open-ILS/src/templates/opac/css/style.css.tt2      |    1 +
 Open-ILS/src/templates/opac/myopac/lists.tt2       |   57 +++++++++-
 .../src/templates/opac/myopac/prefs_my_lists.tt2   |   45 +++++++
 .../src/templates/opac/parts/myopac/prefs_base.tt2 |   24 ++++-
 9 files changed, 290 insertions(+), 8 deletions(-)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0829.data.my_list_items_per_page_setting.sql
 create mode 100644 Open-ILS/src/templates/opac/myopac/prefs_my_lists.tt2


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list