View | Details | Raw Unified | Return to bug 39816
Collapse All | Expand All

(-)a/Koha/Acquisition/Basket.pm (-6 / +5 lines)
Lines 165-181 sub estimated_delivery_date { Link Here
165
    return dt_from_string( $self->closedate )->add( days => $self->bookseller->deliverytime );
165
    return dt_from_string( $self->closedate )->add( days => $self->bookseller->deliverytime );
166
}
166
}
167
167
168
=head3 late_since_days
168
=head3 days_late
169
169
170
my $number_of_days_late = $basket->late_since_days;
170
    my $number_of_days_late = $basket->days_late;
171
171
172
Return the number of days the basket is late.
172
Returns the number of days the basket is late. I<undef> is returned if
173
173
the basket is not closed.
174
Return implicit undef if the basket is not closed.
175
174
176
=cut
175
=cut
177
176
178
sub late_since_days {
177
sub days_late {
179
    my ($self) = @_;
178
    my ($self) = @_;
180
    return unless $self->closedate;
179
    return unless $self->closedate;
181
    return dt_from_string->delta_days( dt_from_string( $self->closedate ) )->delta_days();
180
    return dt_from_string->delta_days( dt_from_string( $self->closedate ) )->delta_days();
(-)a/api/v1/swagger/definitions/basket.yaml (-1 / +1 lines)
Lines 84-90 properties: Link Here
84
      - null
84
      - null
85
    description: "When items should be created for orders in this basket (Options:
85
    description: "When items should be created for orders in this basket (Options:
86
      'ordering', 'receiving', 'cataloguing'. Null means system wide config)"
86
      'ordering', 'receiving', 'cataloguing'. Null means system wide config)"
87
  late_since_days:
87
  days_late:
88
    type:
88
    type:
89
      - integer
89
      - integer
90
      - "null"
90
      - "null"
(-)a/api/v1/swagger/paths/acquisitions_baskets.yaml (-1 / +1 lines)
Lines 24-30 Link Here
24
          enum:
24
          enum:
25
            - basket_group
25
            - basket_group
26
            - creator
26
            - creator
27
            - late_since_days
27
            - days_late
28
        collectionFormat: csv
28
        collectionFormat: csv
29
    produces:
29
    produces:
30
      - application/json
30
      - application/json
(-)a/api/v1/swagger/paths/acquisitions_orders.yaml (-2 / +2 lines)
Lines 53-59 Link Here
53
            - basket
53
            - basket
54
            - basket.basket_group
54
            - basket.basket_group
55
            - basket.creator
55
            - basket.creator
56
            - basket.late_since_days
56
            - basket.days_late
57
            - biblio
57
            - biblio
58
            - biblio.uncancelled_orders+count
58
            - biblio.uncancelled_orders+count
59
            - biblio.holds+count
59
            - biblio.holds+count
Lines 181-187 Link Here
181
            - basket
181
            - basket
182
            - basket.basket_group
182
            - basket.basket_group
183
            - basket.creator
183
            - basket.creator
184
            - basket.late_since_days
184
            - basket.days_late
185
            - biblio
185
            - biblio
186
            - biblio.uncancelled_orders+count
186
            - biblio.uncancelled_orders+count
187
            - biblio.holds+count
187
            - biblio.holds+count
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt (-1 / +1 lines)
Lines 107-113 Link Here
107
                                                <input type="checkbox" value="[% lateorder.ordernumber | html %]" data-booksellerid="[% lateorder.basket.booksellerid | html %]" name="ordernumber" />
107
                                                <input type="checkbox" value="[% lateorder.ordernumber | html %]" data-booksellerid="[% lateorder.basket.booksellerid | html %]" name="ordernumber" />
108
                                            </td>
108
                                            </td>
109
                                            <td> [% lateorder.ordernumber | $raw %] </td>
109
                                            <td> [% lateorder.ordernumber | $raw %] </td>
110
                                            <td data-order="[% lateorder.basket.closedate | html %]"> [% lateorder.basket.closedate | $KohaDates %] ([% lateorder.basket.late_since_days | html %] days) </td>
110
                                            <td data-order="[% lateorder.basket.closedate | html %]"> [% lateorder.basket.closedate | $KohaDates %] ([% lateorder.basket.days_late | html %] days) </td>
111
                                            [% IF lateorder.get_column('estimated_delivery_date') %]
111
                                            [% IF lateorder.get_column('estimated_delivery_date') %]
112
                                                [% SET estimated_delivery_date = lateorder.get_column('estimated_delivery_date') %]
112
                                                [% SET estimated_delivery_date = lateorder.get_column('estimated_delivery_date') %]
113
                                            [% ELSIF lateorder.get_column('calculated_estimated_delivery_date') %]
113
                                            [% ELSIF lateorder.get_column('calculated_estimated_delivery_date') %]
(-)a/t/db_dependent/Koha/Acquisition/Basket.t (-5 / +5 lines)
Lines 239-245 subtest 'estimated_delivery_date' => sub { Link Here
239
    $schema->storage->txn_rollback;
239
    $schema->storage->txn_rollback;
240
};
240
};
241
241
242
subtest 'late_since_days' => sub {
242
subtest 'days_late() tests' => sub {
243
243
    plan tests => 3;
244
    plan tests => 3;
244
245
245
    $schema->storage->txn_begin;
246
    $schema->storage->txn_begin;
Lines 251-263 subtest 'late_since_days' => sub { Link Here
251
252
252
    my $now = dt_from_string;
253
    my $now = dt_from_string;
253
    $basket->closedate(undef)->store;    # Basket is open
254
    $basket->closedate(undef)->store;    # Basket is open
254
    is( $basket->late_since_days, undef, 'return undef if basket is still open' );
255
    is( $basket->days_late, undef, 'return undef if basket is still open' );
255
256
256
    $basket->closedate($now)->store;     #Closing the basket today
257
    $basket->closedate($now)->store;     #Closing the basket today
257
    is( $basket->late_since_days, 0, 'return 0 if basket has been closed on today' );
258
    is( $basket->days_late, 0, 'return 0 if basket has been closed on today' );
258
259
259
    $basket->closedate( $now->clone->subtract( days => 2 ) )->store;
260
    $basket->closedate( $now->clone->subtract( days => 2 ) )->store;
260
    is( $basket->late_since_days, 2, 'return 2 if basket has been closed 2 days ago' );
261
    is( $basket->days_late, 2, 'return 2 if basket has been closed 2 days ago' );
261
262
262
    $schema->storage->txn_rollback;
263
    $schema->storage->txn_rollback;
263
};
264
};
264
- 

Return to bug 39816