This patch ensures that the 'Most Recent Transit' display in
the web staff client's item status page shows the latest transit,
not the oldest one. This also fixes a bug where the transit
receive time never got displayed. As a side effect, this patch
also ensures that only the transit in question is fetched from
the database, not all transits on the item.
To test
-------
[1] Set up an item with some closed transits and display in in
detail view in the Item Status page. Note that the
/oldest/ transit is displayed and that the transit
receive time field is blank.
[2] Apply the patch and repeat step 1.
[3] This time, the most recent transit should be displayed, and
if that transit was received, the receive time should be
displayed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
<div class="flex-row">
<div class="flex-cell">[% l('Transit Receive Time') %]</div>
<div class="flex-cell well">
- {{transit.source_recv_time() | date:egDateAndTimeFormat}}
+ {{transit.dest_recv_time() | date:egDateAndTimeFormat}}
</div>
</div>
</div>
});
}
- function loadTransits() {
+ function loadMostRecentTransit() {
delete $scope.transit;
delete $scope.hold_transit;
if (!copyId) return;
egCore.pcrud.search('atc',
{target_copy : copyId},
- {order_by : {atc : 'source_send_time DESC'}}
+ {
+ order_by : {atc : 'source_send_time DESC'},
+ limit : 1
+ }
).then(null, null, function(transit) {
+ // use progress callback since we'll get up to one result
$scope.transit = transit;
transit.source(egCore.org.get(transit.source()));
transit.dest(egCore.org.get(transit.dest()));
case 'holds':
loadHolds()
- loadTransits();
+ loadMostRecentTransit();
break;
case 'triggered_events':