LP1904036 Bill statement Item Summary section
authorBill Erickson <berickxx@gmail.com>
Wed, 25 Aug 2021 15:05:03 +0000 (11:05 -0400)
committerGalen Charlton <gmc@equinoxOLI.org>
Fri, 28 Oct 2022 00:13:37 +0000 (20:13 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>

Open-ILS/src/eg2/src/app/staff/circ/patron/bill-statement.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/bill-statement.component.ts
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm

index 99f07b5..df88b72 100644 (file)
   </div>
 </div>
 
+<h3 class="mt-4 mb-4" i18n>Item Summary</h3>
+
+<div *ngIf="copy()" class="striped-rows-odd">
+  <div class="row p-1">
+    <div class="col-lg-2" i18n>Barcode</div>
+    <div class="col-lg-2">
+      <a target="_blank" href="/eg/staff/cat/item/{{copy().id()}}">
+        {{copy().barcode()}}
+      </a>
+    </div>
+    <div class="col-lg-2" i18n>Location</div>
+    <div class="col-lg-2">{{copy().location().name()}}</div>
+    <div class="col-lg-2" i18n>Call Number</div>
+    <div class="col-lg-2">
+      {{copy().call_number().prefix().label()}}
+      {{copy().call_number().label()}}
+      {{copy().call_number().suffix().label()}}
+    </div>
+  </div>
+  <div class="row p-1">
+    <div class="col-lg-2" i18n>Status</div>
+    <div class="col-lg-2">{{copy().status().name()}}</div>
+    <div class="col-lg-2" i18n>Circulate</div>
+    <div class="col-lg-2"><eg-bool [value]="copy().circulate()"></eg-bool></div>
+    <div class="col-lg-2" i18n>Reference</div>
+    <div class="col-lg-2"><eg-bool [value]="copy().ref()"></eg-bool></div>
+  </div>
+  <div class="row p-1">
+    <div class="col-lg-2" i18n>Holdable</div>
+    <div class="col-lg-2"><eg-bool [value]="copy().holdable()"></eg-bool></div>
+    <div class="col-lg-2" i18n>OPAC Visible</div>
+    <div class="col-lg-2"><eg-bool [value]="copy().opac_visible()"></eg-bool></div>
+    <div class="col-lg-2" i18n>Created</div>
+    <div class="col-lg-2">{{copy().create_date() | date:'short'}}</div>
+  </div>
+  <div class="row p-1">
+    <div class="col-lg-2" i18n>Edited</div>
+    <div class="col-lg-2">{{copy().edit_date() | date:'short'}}</div>
+    <div class="col-lg-2" i18n>Age Protect</div>
+    <div class="col-lg-2">
+      <ng-container *ngIf="copy().age_protect()">
+        {{copy().age_protect().name()}}
+      </ng-container>
+    </div>
+    <div class="col-lg-2" i18n>Total Circulations</div>
+    <div class="col-lg-2">{{copy().total_circ_count().circ_count()}}</div>
+  </div>
+  <div class="row p-1">
+    <div class="col-lg-2" i18n>Owning Library</div>
+    <div class="col-lg-2">{{context.orgSn(copy().call_number().owning_lib())}}</div>
+  </div>
+</div>
+
 <hr class="p-2 m-2"/>
 
 <ul ngbNav #statementNav="ngbNav" class="nav-tabs" [activeId]="statementTab">
index 885cf41..03a5e82 100644 (file)
@@ -154,5 +154,11 @@ export class BillStatementComponent implements OnInit {
             });
         });
     }
+
+    copy(): IdlObject {
+        if (this.statement && this.statement.xact.circulation()) {
+            return this.statement.xact.circulation().target_copy();
+        }
+    }
 }
 
index 88d72ad..7cfc168 100644 (file)
@@ -1366,10 +1366,10 @@ sub retrieve_statement {
         $xact_id, {
             flesh => 5,
             flesh_fields => {
-                mbt => [qw/circulation grocery/],
+                mbt =>  [qw/circulation grocery/],
                 circ => [qw/target_copy/],
-                acp =>  [qw/call_number/],
-                acn =>  [qw/record/],
+                acp =>  [qw/call_number location status age_protect total_circ_count/],
+                acn =>  [qw/record prefix suffix/],
                 bre =>  [qw/wide_display_entry/]
             },
             select => {bre => ['id']}