item status UI continued
authorBill Erickson <berick@esilibrary.com>
Thu, 15 May 2014 01:19:32 +0000 (21:19 -0400)
committerBill Erickson <berick@esilibrary.com>
Thu, 15 May 2014 01:19:32 +0000 (21:19 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/templates/staff/cat/item/t_summary_pane.tt2
Open-ILS/src/templates/staff/css/style.css.tt2
Open-ILS/web/js/ui/default/staff/cat/item/app.js

index 628c179..1a6119b 100644 (file)
@@ -34,7 +34,9 @@
 
   <div class="flex-row">
     <div class="flex-cell header-label">[% l('ISBN') %]</div>
-    <div class="flex-cell">{{copy.call_number().record().simple_record().isbn()}}</div>
+    <div class="flex-cell">
+      {{copy.call_number().record().simple_record().isbn()}}
+    </div>
 
     <div class="flex-cell header-label">[% l('Copy Location') %]</div>
     <div class="flex-cell">{{copy.location().name()}}</div>
     <div class="flex-cell">{{circ.max_fine_rule().name()}}</div>
   </div>
 
+  <div class="flex-row">
+    <div class="flex-cell header-label">[% l('TCN') %]</div>
+    <div class="flex-cell">{{copy.call_number().record().tcn_value()}}</div>
+
+    <div class="flex-cell header-label">[% l('Holdable') %]</div>
+    <div class="flex-cell">{{copy.opac_visible()}}</div>
+
+    <!-- empty -->
+    <div class="flex-cell header-label"></div>
+    <div class="flex-cell"></div>
+
+    <div class="flex-cell header-label">[% l('Checkin Time') %]</div>
+    <div class="flex-cell">
+      {{circ.checkin_time() || 
+        circ_summary.last_checkin_time() | date:'short'}}
+    </div>
+  </div>
+
+  <div class="flex-row">
+    <div class="flex-cell header-label">[% l('Floating') %]</div>
+    <div class="flex-cell">{{copy.floating()}}</div>
+
+    <div class="flex-cell header-label">[% l('Circulate') %]</div>
+    <div class="flex-cell">{{copy.circulate()}}</div>
 
+    <!-- empty -->
+    <div class="flex-cell header-label"></div>
+    <div class="flex-cell"></div>
+
+    <div class="flex-cell header-label">[% l('Checkin Scan Time') %]</div>
+    <div class="flex-cell">
+      {{circ.checkin_scan_time() || 
+        circ_summary.last_checkin_scan_time() | date:'short'}}
+    </div>
+  </div>
+
+  <div class="flex-row">
+    <!-- empty -->
+    <div class="flex-cell header-label"></div>
+    <div class="flex-cell"></div>
+
+    <div class="flex-cell header-label">[% l('Circ Modifier') %]</div>
+    <div class="flex-cell">{{copy.circ_modifier().name()}}</div>
+
+    <!-- empty -->
+    <div class="flex-cell header-label"></div>
+    <div class="flex-cell"></div>
+
+    <div class="flex-cell header-label">[% l('Checkin Workstation') %]</div>
+    <div class="flex-cell">
+      {{circ.checkin_workstation().name() || 
+        circ_summary.last_checkin_workstation().name()}}
+    </div>
+  </div>
 
 </div>
index f23bf06..efa50f6 100644 (file)
@@ -302,7 +302,7 @@ table.list tr.selected td {
   background-color: rgb(248, 248, 248);
 }
 .flex-container-bordered .flex-cell {
-  border: 1px solid rgb(248, 248, 248);
+  border: 1px solid rgb(224, 224, 224);
 }
 .flex-row {display: flex}
 .flex-cell {
index 634ddba..3699fbb 100644 (file)
@@ -57,6 +57,8 @@ function($scope , $location , $routeParams , egCore) {
     var copyId = $routeParams.id;
     $scope.tab = $routeParams.tab;
 
+    // TODO: cache data per copy
+
     function loadCopy() {
 
         egCore.pcrud.retrieve('acp', copyId, {   
@@ -88,8 +90,11 @@ function($scope , $location , $routeParams , egCore) {
             var r = copy.call_number().record();
             if (r.owner()) r.owner(egCore.org.get(r.owner())); 
 
-            copy.ref(Boolean(copy.ref() == 't'));
-            copy.opac_visible(Boolean(copy.opac_visible() == 't'));
+            // make boolean for auto-magic true/false display
+            angular.forEach(
+                ['ref','opac_visible','holdable','floating','circulate'],
+                function(field) { copy[field](Boolean(copy[field]() == 't')) }
+            );
 
             $scope.copy = copy;
         });
@@ -125,6 +130,16 @@ function($scope , $location , $routeParams , egCore) {
                     egCore.auth.token(), circ.id()
                 ).then(function(summary) {
                     $scope.circ_summary = summary;
+
+                    console.log(js2JSON(summary));
+                    console.log(summary.last_checkin_workstation());
+
+                    angular.forEach(egCore.idl.classes.accs.field_map,
+                        function(val, key) {
+                            console.log(key + ' => ' + summary[key]());
+
+                        }
+                    );
                 });
             }
         });
@@ -160,6 +175,9 @@ function($scope , $location , $routeParams , egCore) {
         });
     }
 
+    function loadPrevCirc() {
+    }
+
     loadCopy();
 
     switch($scope.tab) {
@@ -167,6 +185,12 @@ function($scope , $location , $routeParams , egCore) {
             loadCurrentCirc();
             loadCircCounts();
             break;
+
+        case 'circs':
+            loadCurrentCirc();
+            loadPrevCirc();
+            break;
+
     }
 
 }])