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

(-)a/Koha/CirculationRules.pm (+5 lines)
Lines 410-415 sub set_rule { Link Here
410
            $rule->update();
410
            $rule->update();
411
        }
411
        }
412
        else {
412
        else {
413
            $rule->rule_value(undef);
413
            $rule->delete();
414
            $rule->delete();
414
        }
415
        }
415
    }
416
    }
Lines 433-438 sub set_rule { Link Here
433
        $memory_cache->clear_from_cache($k) if $k =~ m{^CircRules:};
434
        $memory_cache->clear_from_cache($k) if $k =~ m{^CircRules:};
434
    }
435
    }
435
436
437
    $rule = Koha::CirculationRule->new(
438
        { rule_name => $rule_name, branchcode => $branchcode, categorycode => $categorycode, itemtype => $itemtype } )
439
        unless $rule;
440
436
    return $rule;
441
    return $rule;
437
}
442
}
438
443
(-)a/t/db_dependent/api/v1/circulation_rules.t (-2 / +17 lines)
Lines 290-296 subtest 'list_rules() tests' => sub { Link Here
290
};
290
};
291
291
292
subtest 'set_rules() tests' => sub {
292
subtest 'set_rules() tests' => sub {
293
    plan tests => 23;
293
    plan tests => 28;
294
294
295
    $schema->storage->txn_begin;
295
    $schema->storage->txn_begin;
296
296
Lines 388-392 subtest 'set_rules() tests' => sub { Link Here
388
    is( $json->{fine},     10, "Fine rule set correctly for wildcard context" );
388
    is( $json->{fine},     10, "Fine rule set correctly for wildcard context" );
389
    is( $json->{finedays}, 7,  "Finedays rule set correctly for wildcard context" );
389
    is( $json->{finedays}, 7,  "Finedays rule set correctly for wildcard context" );
390
390
391
    # Setting rules empty and undefined
392
    note("Setting rules to empty and undefined");
393
    $rules_to_set->{fine}     = '';
394
    $rules_to_set->{finedays} = undef;
395
    $t->put_ok( "//$userid:$password@/api/v1/circulation_rules" => json => $rules_to_set )->status_is(200);
396
397
    # Verify the rules were updated
398
    $json = $t->tx->res->json;
399
    is( $json->{fine},     '',    "Fine rule updated correctly" );
400
    is( $json->{finedays}, undef, "Finedays rule remains the same" );
401
402
    # Verify that the explicit undef results in a rule deletion
403
    my $rules = Koha::CirculationRules->search(
404
        { categorycode => undef, branchcode => undef, itemtype => undef, rule_name => 'finedays' } );
405
    is( $rules->count, 0, "Finedays rule deleted from database" );
406
391
    $schema->storage->txn_rollback;
407
    $schema->storage->txn_rollback;
392
};
408
};
393
- 

Return to bug 37256