From 3f07573c83b34d6d6f080ee5c58d41c6bc218aec Mon Sep 17 00:00:00 2001 From: Dan Scott Date: Wed, 18 Jul 2012 12:27:08 -0400 Subject: [PATCH] TPAC: Refactor bookbag list actions into a common template The "add to bookbag" actions in both the search results and record details pages contained a large amount of duplicated code; consolidate those into a single template that can be included into each page. Signed-off-by: Dan Scott Signed-off-by: Ben Shum Signed-off-by: Dan Scott --- .../src/templates/opac/parts/bookbag_actions.tt2 | 83 ++++++++++++++++++++ .../src/templates/opac/parts/record/summary.tt2 | 58 +------------- Open-ILS/src/templates/opac/parts/result/table.tt2 | 61 +-------------- 3 files changed, 85 insertions(+), 117 deletions(-) create mode 100644 Open-ILS/src/templates/opac/parts/bookbag_actions.tt2 diff --git a/Open-ILS/src/templates/opac/parts/bookbag_actions.tt2 b/Open-ILS/src/templates/opac/parts/bookbag_actions.tt2 new file mode 100644 index 0000000..1ba888e --- /dev/null +++ b/Open-ILS/src/templates/opac/parts/bookbag_actions.tt2 @@ -0,0 +1,83 @@ +[% + dsetting = "opac.default_list"; + tclass = "temporary divider"; + + IF rec.id; + # Results table context + ctx.bre_id = rec.id; + stop_parms = 1; + rec_anchor = 'record_' _ ctx.bre_id; + ELSE; + # Record details context + rec_anchor => ctx.bre_id; + END; + + IF ctx.user_setting_map.defined(dsetting); + default_list = ctx.user_setting_map.$dsetting; + END; + + IF (!default_list) && ctx.bookbags.size; + tclass = "temporary"; + END; + + href = mkurl(ctx.opac_root _ '/mylist/add', { + record => ctx.bre_id, anchor => rec_anchor + }, stop_parms); +%] +
    +
  • + + [% l("Add to my list") %] + +
      +
    • + [% l('Temporary List') %] +
    • + [% IF default_list; + label = (ctx.default_bookbag) ? ctx.default_bookbag : l('Default List'); + class = (ctx.bookbags.size) ? "default divider" : "default"; + href = mkurl(ctx.opac_root _ '/myopac/list/update', { + action => 'add_rec', list => default_list, + record => ctx.bre_id, anchor => rec_anchor + }, stop_parms); + %] +
    • [% label %]
    • + [% END %] + [% IF ctx.bookbags.size; + i = 0; + FOREACH bag IN ctx.bookbags; + href = mkurl(ctx.opac_root _ '/myopac/list/update', { + action => 'add_rec', list => bag.id, record => ctx.bre_id, + anchor => rec_anchor + }, stop_parms); + i = i + 1; + IF i == ctx.bookbags.size; + %] +
    • + [%- ELSE -%] +
    • + [%- END -%] + [% bag.name %] +
    • + [% + END; + END + %] +
    • + + [% l('See All') %] + +
    • +
    • + + [% l('Add to new list') %] + +
    • +
    +
  • +
diff --git a/Open-ILS/src/templates/opac/parts/record/summary.tt2 b/Open-ILS/src/templates/opac/parts/record/summary.tt2 index 16e55cf..9f83fc6 100644 --- a/Open-ILS/src/templates/opac/parts/record/summary.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/summary.tt2 @@ -31,64 +31,8 @@
[% IF ctx.user; - dsetting = "opac.default_list"; - tclass = (ctx.user_setting_map.$dsetting) ? "temporary" : - (ctx.bookbags.size) ? "temporary divider" : "temporary"; - href = mkurl(ctx.opac_root _ '/mylist/add', - {record => ctx.bre_id, anchor => ctx.bre_id}, stop_parms); + INCLUDE "opac/parts/bookbag_actions.tt2"; %] -
    -
  • - - [% l("Add to my list") %] - -
      -
    • - [% l('Temporary List') %] -
    • - [% IF ctx.user_setting_map.$dsetting; - label = (ctx.default_bookbag) ? ctx.default_bookbag : l('Default List'); - class = (ctx.bookbags.size) ? "default divider" : "default"; - href = mkurl(ctx.opac_root _ '/myopac/list/update', - {action => 'add_rec', list => ctx.user_setting_map.$dsetting, - record => ctx.bre_id, anchor => ctx.bre_id}, stop_parms); - %] -
    • - [% label %] -
    • - [% END %] - [% IF ctx.bookbags.size; - i = 0; - FOREACH bag IN ctx.bookbags; - href = mkurl(ctx.opac_root _ '/myopac/list/update', - {action => 'add_rec', list => bag.id, record => ctx.bre_id, - anchor => ctx.bre_id}, stop_parms); - i = i + 1; - IF i == ctx.bookbags.size; - %] -
    • - [% ELSE %] -
    • - [% END %] - [% bag.name %] -
    • - [% - END; - END - %] -
    • - - [% l('See All') %] - -
    • -
    • - - [% l('Add to new list') %] - -
    • -
    -
  • -
[% ELSE; operation = ctx.mylist.grep(ctx.bre_id).size ? "delete" : "add"; label = (operation == "add") ? l("Add to my list") : l("Remove from my list"); diff --git a/Open-ILS/src/templates/opac/parts/result/table.tt2 b/Open-ILS/src/templates/opac/parts/result/table.tt2 index e16852b..662041e 100644 --- a/Open-ILS/src/templates/opac/parts/result/table.tt2 +++ b/Open-ILS/src/templates/opac/parts/result/table.tt2 @@ -225,67 +225,8 @@
[% IF ctx.user; - dsetting = "opac.default_list"; - tclass = (ctx.user_setting_map.$dsetting) ? "temporary" : - (ctx.bookbags.size) ? "temporary divider" : "temporary"; - href = mkurl(ctx.opac_root _ '/mylist/add', - {record => rec.id, anchor => 'record_' _ rec.id}, 1); + INCLUDE "opac/parts/bookbag_actions.tt2"; %] -
    -
  • - - [% l("Add to my list") %] - -
      -
    • - [% l('Temporary List') %] -
    • - [% IF ctx.user_setting_map.$dsetting; - class = (ctx.bookbags.size) ? "default divider" : "default"; - label = (ctx.default_bookbag) ? ctx.default_bookbag : l('Default List'); - href = mkurl(ctx.opac_root _ '/myopac/list/update', - {action => 'add_rec', list => ctx.user_setting_map.$dsetting, - record => rec.id, anchor => 'record_' _ rec.id}, 1); - %] -
    • - [% label %] -
    • - [% END %] - [% IF ctx.bookbags.size; - i = 0; - FOREACH bag IN ctx.bookbags; - href = mkurl(ctx.opac_root _ '/myopac/list/update', - {action => 'add_rec', list => bag.id, record => rec.id, - anchor => 'record_' _ rec.id}, 1); - i = i + 1; - IF i == ctx.bookbags.size; - %] -
    • - [% ELSE %] -
    • - [% END %] - [% bag.name %] -
    • - [% - END; - END - %] -
    • - - [% l('See All') %] - -
    • -
    • - - [% l('Add to new list') %] - -
    • -
    -
  • -
[% ELSE; operation = ctx.mylist.grep(rec.id).size ? "delete" : "add"; label = (operation == "add") ? l("Add to my list") : l("Remove from my list"); -- 1.7.2.5