Bug 12487 - C4::Contract.pm : Replacement of subroutine calls of C4::SQLHelper by DBIx::Class
Summary: C4::Contract.pm : Replacement of subroutine calls of C4::SQLHelper by DBIx::C...
Status: CLOSED FIXED
Alias: None
Product: Koha
Classification: Unclassified
Component: Architecture, internals, and plumbing (show other bugs)
Version: unspecified
Hardware: All All
: P5 - low normal (vote)
Assignee: Yohann Dufour
QA Contact: Testopia
URL:
Keywords:
Depends on: 12493
Blocks: 11385 12508
  Show dependency treegraph
 
Reported: 2014-06-26 13:24 UTC by Yohann Dufour
Modified: 2015-06-04 23:33 UTC (History)
3 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Small patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:


Attachments
Bug 12487: SQLHelper replacement - C4::Contract (7.78 KB, patch)
2014-06-30 12:56 UTC, Yohann Dufour
Details | Diff | Splinter Review
[SIGNED-OFF] Bug 12487: SQLHelper replacement - C4::Contract (7.96 KB, patch)
2014-07-03 16:56 UTC, Bernardo Gonzalez Kriegel
Details | Diff | Splinter Review
[PASSED QA] Bug 12487: SQLHelper replacement - C4::Contract (8.01 KB, patch)
2014-07-18 13:27 UTC, Kyle M Hall
Details | Diff | Splinter Review
[PASSED QA] Bug 12487 [QA Followup] - GetContract must return undef with no params (1.02 KB, patch)
2014-07-18 13:28 UTC, Kyle M Hall
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Yohann Dufour 2014-06-26 13:24:48 UTC
The module C4::Contract.pm depends on module C4::SQLHelper.pm. However, the module C4::SQLHelper.pm is obsolete, so the calls for InsertInTable, UpdateInTable and SearchIntable has to be replaced by the use of the module DBIx::Class.
Comment 1 Yohann Dufour 2014-06-30 12:56:57 UTC Comment hidden (obsolete)
Comment 2 Kyle M Hall 2014-07-03 15:03:14 UTC
Applying: Bug 12487: SQLHelper replacement - C4::Contract
fatal: sha1 information is lacking or useless (C4/Contract.pm).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 Bug 12487: SQLHelper replacement - C4::Contract
When you have resolved this problem run "git bz apply --continue".
If you would prefer to skip this patch, instead run "git bz apply --skip".
To restore the original branch and stop patching run "git bz apply --abort".
Patch left in /tmp/Bug-12487-SQLHelper-replacement---C4Contract-XbEHYe.patch
kohaqa-koha@koha-dev:~/kohaclone$ patch -p1 < /tmp/Bug-12487-SQLHelper-replacement---C4Contract-XbEHYe.patch
patching file C4/Contract.pm
Hunk #1 FAILED at 21.
Hunk #2 FAILED at 78.
Hunk #3 FAILED at 113.
3 out of 3 hunks FAILED -- saving rejects to file C4/Contract.pm.rej
patching file t/db_dependent/Contract.t
Hunk #1 FAILED at 21.
Hunk #2 FAILED at 42.
Hunk #3 FAILED at 50.
Hunk #4 FAILED at 70.
Hunk #5 FAILED at 96.
Comment 3 Bernardo Gonzalez Kriegel 2014-07-03 16:56:23 UTC Comment hidden (obsolete)
Comment 4 Bernardo Gonzalez Kriegel 2014-07-03 16:58:15 UTC
(In reply to Kyle M Hall from comment #2)
> Applying: Bug 12487: SQLHelper replacement - C4::Contract

Hi, on top of 12493 it applies correctly.
Comment 5 Kyle M Hall 2014-07-18 13:27:49 UTC
Created attachment 29834 [details] [review]
[PASSED QA] Bug 12487: SQLHelper replacement - C4::Contract

With this patch, the subroutines GetContract, GetContracts, AddContract, ModContract and DelContract uses DBIx::Class instead of C4::SQLHelper

Test plan:
1) Apply the patch
2) Execute the unit tests by launching:
prove t/db_dependent/Contract.t
3) The command has to be a success :
t/db_dependent/Contract.t .. ok
All tests successful.
Files=1, Tests=43,  2 wallclock secs ( 0.04 usr  0.01 sys +  1.49 cusr  0.05 csys =  1.59 CPU)
Result: PASS

4) Log on with a superlibrarian permission
5) Go on the page acqui/supplier.pl (Acquisitions > Button "New vendor")
6) Record a vendor with a nonzero "name"
7) Go on the page admin/aqcontract.pl (click on the "Contracts" item in the menu)
8) Click on the button "New" > "Contract" and record a new one
9) Verify the displayed data are correct about the contract
10) "Edit" the contract with different values and verify the data are updated
11) Click on "Delete" in order to delete the contract, verify the displayed data are correct but cancel the operation
12) Click on "New" > "Basket" and verify there is the created contract in field "Contract", then record a basket by selectioning the created contract
13) Verify the contract name displayed is correct
14) Record an active budget and a fund linked to this budget
15) Go on the new basket (Home > Acquisitions > Search the created vendor)
16) Click on "Add to basket" then "From a new (empty) record" and verify the displayed contract name is correct, then cancel
17) Click on "Delete this basket"
18) Click on "Contracts" (in the left menu) in order to go on aqcontract.pl, then "Delete" the created contract
19) The contract is not displayed anymore in the vendor page

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Work as described following test plan.
Tested on top of Bug 12493
Tests pass
No koha-qa errors

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Comment 6 Kyle M Hall 2014-07-18 13:28:00 UTC
Created attachment 29835 [details] [review]
[PASSED QA] Bug 12487 [QA Followup]  - GetContract must return undef with no params

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Comment 7 Tomás Cohen Arazi 2014-07-30 13:54:30 UTC
Patches pushed to master.

Thanks Yohann for all this effort on the unit tests front!