Koha should have the ability to place requests for copies of particular parts of items. This is commonly referred to as a document delivery or an article request.
This sounds interesting! Who should be able to place the requests? Local patrons or other libraries? Is this something you will be working on, or is it more of an idea?
(In reply to Magnus Enger from comment #1) > This sounds interesting! Who should be able to place the requests? Local > patrons or other libraries? Is this something you will be working on, or is > it more of an idea? I'm actively developing this. This is for local patrons ( though libraries could have accounts ). In essence it is somewhat similar to how holds work, but instead of a hold for a item, it's a request for a photocopy ( or digital copy ) of part of an item.
(In reply to Kyle M Hall from comment #2) > I'm actively developing this. This is for local patrons ( though libraries > could have accounts ). Yeah, in Norway we have a whole infrastructure for letting libraries log on to the OPACs of other libraries, in order to place ILL requests. > In essence it is somewhat similar to how holds work, > but instead of a hold for a item, it's a request for a photocopy ( or > digital copy ) of part of an item. So from a Norwegian perspective, this sounds like it would take care of the copy part of ILL. Now Alex from PTFS Europe is already working on ILL over on bug 7317. Maybe it could be worthwhile to have a look at his work and see if your efforts can be combined?
Created attachment 42822 [details] [review] Bug 14610 - Add ability to place document delivery / article requests in Koha
Created attachment 42823 [details] [review] Bug 14610 - Add new db table
Created attachment 42824 [details] [review] Bug 14610 - Update DBIC
Created attachment 42825 [details] [review] Bug 14610 - Add base Koha Objects
Created attachment 42826 [details] [review] Bug 14610 - Update circ rules
Created attachment 42827 [details] [review] Bug 14610 - Update bootstrap/css/opac.css ( compiled via less )
Created attachment 42828 [details] [review] Bug 14610 - Add ability to place document delivery / article requests in Koha
Created attachment 42829 [details] [review] Bug 14610 - Unit Tests
Kyle, is there a description of the feature available somewhere?
Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script.
Thx Kyle!
Created attachment 43198 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron
Created attachment 43199 [details] [review] Bug 14610 - Update Schema files
Created attachment 43200 [details] [review] Bug 14610 - Add and update modules
Created attachment 43201 [details] [review] Bug 14610 - Add and update scripts
Created attachment 43202 [details] [review] Bug 14610 - Add unit tests
This looks like it needs a rebase on current master.
Created attachment 43264 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron
Created attachment 43265 [details] [review] Bug 14610 - Update Schema files
Created attachment 43266 [details] [review] Bug 14610 - Add and update modules
Created attachment 43267 [details] [review] Bug 14610 - Add and update scripts
Created attachment 43268 [details] [review] Bug 14610 - Add unit tests
Created attachment 43270 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database
Created attachment 43271 [details] [review] Bug 14610 - Update Schema files
Created attachment 43272 [details] [review] Bug 14610 - Add and update modules
Created attachment 43273 [details] [review] Bug 14610 - Add and update scripts
Created attachment 43274 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 43278 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database
Created attachment 43279 [details] [review] Bug 14610 - Update Schema files
Created attachment 43280 [details] [review] Bug 14610 - Add and update modules
Created attachment 43281 [details] [review] Bug 14610 - Add and update scripts
Created attachment 43282 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 43654 [details] [review] [SIGNED-OFF] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 43655 [details] [review] [SIGNED-OFF] Bug 14610 - Update Schema files Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 43656 [details] [review] [SIGNED-OFF] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 43657 [details] [review] [SIGNED-OFF] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 43658 [details] [review] [SIGNED-OFF] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Kyle, this currently doesn't apply. I read through the code and noted some things to fix and have some suggestions: 0) AR_PRINT I'd like to rename the letter code to AR_SLIP or ARSLIP to be consistent with the other slips we have. +('circulation', 'AR_PRINT', '', 'Article Request - Print Slip', 0, 'Test' Test? 1) circ/request-article.pl Copyright statements are a bit odd for a new file :) @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +# Copyright 2015 ByWater Solutions +# Copyright 2000-2002 Katipo Communications +# Copyright 2011 Catalyst IT 2) installer/data/mysql/atomicupdate/bug_14610.sql Please amend to use AFTER... to make sure the column always ends up in the same spot. +ALTER TABLE `issuingrules` ADD `article_requests` ENUM( 'no', 'yes', 'bib_only', 'item_only' ) NOT NULL DEFAULT 'no'; 3) kohastructure.sql Can you please add database documentation comments for the new table? 4) Please include the new notices in all translated sample_notices.sql as well. xt/sample_notice.t is your friend :) Small typo in one of the subjects: Article Request _Recieved_ 5) circ/article-requests.tt - notes = prompt("Reason for cancelation:"); is not translatable - [% ar.borrower.surname %], [% ar.borrower.firstname %] please fix display for the case, that a firstname is not given (organisations for example). 6) request-article.tt - var c = confirm("Are you sure you want to change the pickup library from " + previo... is not translatable - Additionally there is this new 'format' syntax that you can use to fill in the placeholders nicely and that allows for good translation. If you don't know what I am talking about I can probably dig up an example :) 7) opac/opac-article-request-cancel.pl + authnotrequired => 0, Please account for the OpacPublic system preference! Same for the other 2 opac/ .pl files. 8) Terminology - instead of 'open' maybe 'pending' would be better? This is what we use for suggestions and I think holds. Sometimes you are using 'open' and other times 'pending' (intranet-main.tt)
Created attachment 44219 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44220 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44221 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44222 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44223 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 44224 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 44225 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 44226 [details] [review] Bug 14610 [QA Followup] - Add notices for all translations
Created attachment 44227 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 44228 [details] [review] Bug 14610 [QA Followup] - Change 'Opan' to 'Pending'
Created attachment 44229 [details] [review] Bug 14610 - Update Schema files
Created attachment 44230 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 44231 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44232 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44233 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44234 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44235 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 44236 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 44237 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 44238 [details] [review] Bug 14610 [QA Followup] - Add notices for all translations
Created attachment 44239 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 44240 [details] [review] Bug 14610 [QA Followup] - Change 'Open' to 'Pending'
Created attachment 44241 [details] [review] Bug 14610 - Update Schema files
Created attachment 44242 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 44916 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44917 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44918 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44919 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 44920 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 44921 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 44922 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 44923 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 44924 [details] [review] Bug 14610 [QA Followup] - Change 'Open' to 'Pending'
Created attachment 44925 [details] [review] Bug 14610 - Update Schema files
Created attachment 44926 [details] [review] Bug 14610 - Update opac.css via less
Kyle, I don't see the point to have 1 file / action. I really would prefer to stick to the same structure as usual (if $op == 'add' elsif...). Why did you change that? Do you have a particular reason?
(In reply to Jonathan Druart from comment #77) > Kyle, > I don't see the point to have 1 file / action. > I really would prefer to stick to the same structure as usual (if $op == > 'add' elsif...). > Why did you change that? Do you have a particular reason? It makes for simpler scripts and templates. Simplicity = less prone to have bugs.
(In reply to Kyle M Hall from comment #78) > (In reply to Jonathan Druart from comment #77) > > Kyle, > > I don't see the point to have 1 file / action. > > I really would prefer to stick to the same structure as usual (if $op == > > 'add' elsif...). > > Why did you change that? Do you have a particular reason? > > It makes for simpler scripts and templates. Simplicity = less prone to have > bugs. But it means duplication of code and a change in the current practice. IMO, this should not be done without a discussion during a dev meeting.
Hm, I tend to agree with Jonathan on first glance. I think the new object code tends to be quite short and readable - so having it all in one file seems easier to comprehend. Some of the newly introduced files by this patch are really very short and the copyright/license is almost the biggest part of them. A 1:1-relation between template and .pl file also often makes it easier to navigate the code for me.
Created attachment 45946 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 45947 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 45948 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 45949 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 45950 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 45951 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 45952 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 45953 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 45954 [details] [review] Bug 14610 [QA Followup] - Change 'Open' to 'Pending'
Created attachment 45955 [details] [review] Bug 14610 - Update Schema files
Created attachment 45956 [details] [review] Bug 14610 - Update opac.css via less
CONFLICT (content): Merge conflict in Koha/Item.pm CONFLICT (content): Merge conflict in Koha/Borrower.pm CONFLICT (content): Merge conflict in Koha/Biblio.pm Did you make the changes asked in comments 79 and 80?
Created attachment 46518 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46519 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46520 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46521 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46522 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 46523 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 46524 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 46525 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 46526 [details] [review] Bug 14610 [QA Followup] - Change 'Open' to 'Pending'
Created attachment 46527 [details] [review] Bug 14610 - Update Schema files
Created attachment 46528 [details] [review] Bug 14610 - Update opac.css via less
(In reply to Katrin Fischer from comment #80) > Hm, I tend to agree with Jonathan on first glance. I think the new object > code tends to be quite short and readable - so having it all in one file > seems easier to comprehend. Some of the newly introduced files by this patch > are really very short and the copyright/license is almost the biggest part > of them. A 1:1-relation between template and .pl file also often makes it > easier to navigate the code for me. I must respectfully disagree. I think assertion that this is without precedent is also incorrect. Please see modrequest.pl, placerequest.pl, and modrequest_suspendall.pl, add_message.pl, deletemem.pl, mod_debarment.pl, setstatus.pl for examples of similar behavior. At this point those scripts are simple enough that it may seem silly, but I'm sure memberentry.pl was quite simple when it was first written as well. Now it has if statments like: if ( ($op eq 'modify' || $op eq 'insert' || $op eq 'save'|| $op eq 'duplicate') and ($step == 0 or $step == 3 )){ I also believe the assertion that this duplicates code is incorrect. There is actually very little code shared between the two scripts if you don't count the boilerplate that all Koha cgi scripts have. Basically the duplicated code is the get_template_and_user call.
(In reply to Kyle M Hall from comment #104) In fact, circ/request-article-do.pl shouldn't even be calling get_template_and_user! That's my bad, I'll get that fixed up and then the code will be totally DRY!
Created attachment 46529 [details] [review] Bug 14610 [QA Followup] - Don't call get_template_and_user for request-article-do.pl
Created attachment 46530 [details] [review] Bug 14610 [QA Followup] - Don't call get_template_and_user for request-article-do.pl or opac-request-article-do.pl
Two issues I saw: 1 - 'New request' messages are not being queued, I didn't see them when placing requests via opac or staff side 2 - Search from the article request tab only works with cardnumber. Enter patron name and press enter and the screen reloads. Works when you choose from the search options that appear as you type. Current search only checks at 3+ characters but should allow for 2 letter last names Everything else is request: * - There should be a 'Place request' button on detail.pl * - On article-requests.pl the count in the tab doesn't reload when you change the number (2 requests, mark one completed, the table updates but tab still says 2) * - Similarly, take action 'process request' and it disappears from the pending tab but does not show on the processing tab until you click update button or refresh page * - It would be nice to see article requests on circulation.pl and moremember.pl * - It would be nice to have an 'All libraries' option in the dropdown on article-requests.pl * - Article-requests.pl doesn't show owning library for a specific item request. I can follow the logic that all requests go to the pickup library, but they shold be able to see where the item is from. It might be nice to have the patrons library visible as well * - For consistency it would be nice to have the count of article requests show as holds do on detail.pl
Created attachment 46595 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46596 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46597 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46598 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 46599 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 46600 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 46601 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 46602 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 46603 [details] [review] Bug 14610 [QA Followup] - Change 'Open' to 'Pending'
Created attachment 46604 [details] [review] Bug 14610 - Update Schema files
Created attachment 46605 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 46606 [details] [review] Bug 14610 [QA Followup] - Don't call get_template_and_user for request-article-do.pl or opac-request-article-do.pl
Created attachment 46607 [details] [review] Bug 14610 [QA Followup] - Add non-ajax patron search
Created attachment 46608 [details] [review] Bug 14610 [QA Followup] - Add request article button to cat toolbar
Created attachment 46609 [details] [review] Bug 14610 [QA Followup] - Update article request counts in tabs
Created attachment 46610 [details] [review] Bug 14610 [QA Followup] - Add article requests count to tab like it is for holds
Created attachment 46611 [details] [review] Bug 14610 [QA Followup] - Add "All libraries" option to article-requests.pl
Created attachment 46612 [details] [review] Bug 14610 [QA Followup] - Add article requets count on detail.pl like it is for holds
First I've seen this bug, I like the feature as a whole.. From a QA perspective I think I agree with Katrin and Jonathan. As much as I'm not as totally against splitting up some of the code into smaller more manageable files I think having a standard approach to coding this stuff is important for developers to adopts and adhere to, and I feel there isn't sufficient reasoning here to split the script into multiple smaller scripts. A clearly written $op eq '' set is pretty darn clear and it makes the relation between tt -> pl and pm clearer too. I'd prefer the single script approach here.
(In reply to Martin Renvoize from comment #127) > First I've seen this bug, I like the feature as a whole.. > > From a QA perspective I think I agree with Katrin and Jonathan. As much as > I'm not as totally against splitting up some of the code into smaller more > manageable files I think having a standard approach to coding this stuff is > important for developers to adopts and adhere to, and I feel there isn't > sufficient reasoning here to split the script into multiple smaller scripts. > A clearly written $op eq '' set is pretty darn clear and it makes the > relation between tt -> pl and pm clearer too. > > I'd prefer the single script approach here. After doing some searching through the code, I don't see what Kyle is proposing, as a new model (there are some examples where this is the case). Also, stated above the individual .pl files don't have an association with the tt. Since this isn't a new model, should we reject it based on that? I just am not crazy about seeing a developer spend time on a development (that has followed other models), and have to rewrite the code. Also to be clear, I see validity in both approaches (not one over the other). My worry is just the amount of time it would take to consolidate something that isn't a "new" way of development. Perhaps that time spent could be used towards other areas of Koha?
I think we need to talk together when a developer wants to introduce a new practice. On comment 79, I have suggested to have this discussion during the next (?) dev meeting.
(In reply to Jonathan Druart from comment #129) > I think we need to talk together when a developer wants to introduce a new > practice. > On comment 79, I have suggested to have this discussion during the next (?) > dev meeting. Jonathan, again, this is *not* a new practice! As I wrote previously, the following scripts use this same methodology: modrequest.pl placerequest.pl modrequest_suspendall.pl add_message.pl deletemem.pl mod_debarment.pl setstatus.pl
Created attachment 47905 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 47906 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 47907 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 47908 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 47909 [details] [review] Bug 14610 [QA Followup] - Rename AR_PRINT to AR_SLIP
Created attachment 47910 [details] [review] Bug 14610 [QA Followup] - Remove bad copyright lines
Created attachment 47911 [details] [review] Bug 14610 [QA Followup] - Fix issuingrules database update
Created attachment 47912 [details] [review] Bug 14610 [QA Followup] - Make prompt tranlatable, only show comma if firstname is set
Created attachment 47913 [details] [review] Bug 14610 [QA Followup] - Change 'Open' to 'Pending'
Created attachment 47914 [details] [review] Bug 14610 - Update Schema files
Created attachment 47915 [details] [review] Bug 14610 [QA Followup] - Don't call get_template_and_user for request-article-do.pl or opac-request-article-do.pl
Created attachment 47916 [details] [review] Bug 14610 [QA Followup] - Add non-ajax patron search
Created attachment 47917 [details] [review] Bug 14610 [QA Followup] - Add request article button to cat toolbar
Created attachment 47918 [details] [review] Bug 14610 [QA Followup] - Update article request counts in tabs
Created attachment 47919 [details] [review] Bug 14610 [QA Followup] - Add article requests count to tab like it is for holds
Created attachment 47920 [details] [review] Bug 14610 [QA Followup] - Add "All libraries" option to article-requests.pl
Created attachment 47921 [details] [review] Bug 14610 [QA Followup] - Add article requets count on detail.pl like it is for holds
Created attachment 47922 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 48177 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database
Created attachment 48178 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48179 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48180 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48181 [details] [review] Bug 14610 - Update Schema files
Created attachment 48182 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 48212 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48213 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48214 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48215 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 48216 [details] [review] Bug 14610 - Update Schema files
Created attachment 48217 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 48218 [details] [review] Bug 14610 [QA Followup] - Get rid of separate scripts just for creating new requests
The patches do not apply and there is a merge marker in the first patch.
Created attachment 50348 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 50349 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 50350 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 50351 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 50352 [details] [review] Bug 14610 - Update Schema files
Created attachment 50353 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 50354 [details] [review] Bug 14610 [QA Followup] - Get rid of separate scripts just for creating new requests
Created attachment 51527 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51528 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51529 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51530 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51531 [details] [review] Bug 14610 [QA Followup] - Get rid of separate scripts just for creating new requests
Created attachment 51532 [details] [review] Bug 14610 [QA Followup] - Switch from Koha::Borrower to Koha::Patron
Created attachment 51533 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 51534 [details] [review] Bug 14610 - Update Schema files
Created attachment 51778 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51779 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51780 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51781 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 51782 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 51783 [details] [review] Bug 14610 - Update Schema files
Created attachment 52688 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 52689 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 52690 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 52691 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 52692 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 52693 [details] [review] Bug 14610 - Update Schema files
Hi, Looks like this is not applying (however, it looks like an easy conflict to fix) Falling back to patching base and 3-way merge... Auto-merging Koha/Patron.pm CONFLICT (content): Merge conflict in Koha/Patron.pm Liz
Conflicts aside (which I sorted out just enough to test it - the only one I didn't touch was the CSS one because that will sort itself out I think with a new patch set) - I like this and think it's pretty awesome. I'll be happy to test a rebased version of this. Cheers, Liz
Notably missing here is a view of a borrower's pending and in-process requests from the borrower detail or circulation screens in the staff interface. That's probably desirable, since there is a view of them in the OPAC. It could be a subset of the Holds tab, or it's own tab. An option to display branch wide (filtered, if necessary) completed requests, and for individual borrowers would be a nice-to-have. Custom reports will get the job done in the mean time, albeit a little inconveniently. It might also be good to show requests as some kind of statistic for the borrowers in the "Statistics" tab in the members area. "Articles requested" maybe?
*** Bug 17254 has been marked as a duplicate of this bug. ***
This feature may also be referred to as Scan and Deliver.
Created attachment 55556 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 55557 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 55558 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 55559 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 55560 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 55561 [details] [review] Bug 14610 - Update Schema files
Created attachment 55568 [details] [review] Bug 14610 [QA Followup] - Implement staff patron tab Also fixes a few other minor issues
Created attachment 55569 [details] [review] Bug 14610 [QA Followup] - Implement staff patron tab Also fixes a few other minor issues
Testing this now.
Nice addition ! (We are locally interested in such a feature too, but it would need some extensions. ) Some comments from testing (no full QA). The first ones need immediate attention. Some others are more future directed. After updatedatabase feature is already enabled? Distinction between record level and item level may not be clear for everybody. Biblio level ? Item level: if a biblio has no items, it is not useful to show Request Article on results and detail. Checking status: If an item has been checked out, I can still process and complete an item based article request? You do not check statuses. Should we? Or at least warn in the process to prevent mistakes? OPAC Detail menu: no icon for Request Article. opac-request-article.tt: bodyid='opac-holds' ? copy-pasted (did not look further) The new request message does NOT contain the pages that I entered in the OPAC (though saved in the database). AR_PENDING Typo in that notice: Article Request Recieved Note that AR_PROCESSING did contain the entered page range in the second notice. At first sight I do not see any difference between these notices for pages. (The field name pages might be problematic in the TT environment just like size?) circ/circulation.pl: Just from a code glance: + $patron = Koha::Patrons->find( $borrowernumber ); $borrower = GetMemberDetails( $borrowernumber, 0 ); I understand that you will not be refactoring the script here, but seeing those two calls here together does not look good. (Just mentioning) General In the new request, I am missing a field for the type of service: Do you want a photocopy, a scan or still some other service ? These service types should be controlled somewhere. For instance, one library only copies and the other scans. The message "You may pick your article up at RMA." only refers to photocopies? A scan should be included in the mail (at least a URL where to download the scanned portion of the biblio). This might be a local upload, but could well be some external transfer service too. Future extensions? I think we need some threshhold on the number of requests per patron. I saw libraries offering one or two scans per day, additional requests being queued. A maximum number of requests and a number to process per day might be a good start. The second number could be used in reporting the pending requests to pick next.
Thx for working on this Marcel! From reading your comments I feel like the 'scan' feature might be dealt with better later on, as it sounds like an enhancement to the initial patch. Would you agree with that? Some libraries might not want the user to be able to pick, only offer one thing etc.. it might complicate things here and this is already quite big.
(In reply to Katrin Fischer from comment #205) > Thx for working on this Marcel! > From reading your comments I feel like the 'scan' feature might be dealt > with better later on, as it sounds like an enhancement to the initial patch. > Would you agree with that? Some libraries might not want the user to be able > to pick, only offer one thing etc.. it might complicate things here and this > is already quite big. Yes, this could be put under the "future directed" comments.
Created attachment 56084 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56085 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56086 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56087 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56088 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 56089 [details] [review] Bug 14610 - Update Schema files
Created attachment 56090 [details] [review] Bug 14610 [QA Followup] - Implement staff patron tab Also fixes a few other minor issues
Please fix: - As not all of libraries are offering article requests, please turn the feature off by default when updating. Leaving it on for new installations should be alright. - In the OPAC patron account, the td-cells already have a class on the article request table, can you add thoes to the th-cells as well please? This will make it possible to hide columns that the library doesn't want to use easily. - Change cancelation to cancellation. Would be nice to see fixed: - maybe show 'Only' or some other indication in staff to differentiate item and record level article requests a bit more clearly from each other in the tabbed display (similar to how holds display) Wish list for the future, to be turned into separate bugs: - On the article request summary page the table could be styled a bit better. The columns are very small to begin with, especially for the title and the article information this can be a bit irritating. - After cancelling a request there is no way to see those any longer. It would be nice to have a separate tab showing 'cancelled today' or 'cancelled within x days' - Similar for completed requests a 'completed today' or 'completed within x days' tab could prove useful. - When you don't use scans but provide copies for the patron to be picked up, it would be nice to have a visual clue about those waiting copies on the check out and check in pages. One way to achieve this could be an additional optional status "ready for pick-up" that would trigger a note to display. Once you hand out the copies you should be able to click a link or something and then the status would switch to completed. - It could be nice to be able to switch back from 'processing' to 'pending' to undo a possible mistake made by the staff or if it turns out that the requested resource is not available at the branch (book is missing, serial issue is not complete etc.) - Include a 'cancel' option in the patron form that leads back to the record. This could also apply to the holds page. - Include the 'title of the record' as part of the breadcrumbs, so you can go back as on other pages. This could also apply to the holds page.
Checked the source code and got some questions: To discuss: 1) Why did you put the new routines like can_article_request in Biblio.pm? I think Circulation.pm seems like a more obvious choice to me, as it already has CanBookBeIssued, CanBookBeReturned etc. 2) There is another routine with the same name 'can_article_request' in Items.pm - I know one is for record and one is for item level, but is that intentional? To fix: 3) In Patrons.pm there seems to have some extra code slipped in that shouldn't be part of this patch set: guarantor 4) Please add the new notices and slip to the other non-english installer directories as well! 5) Can you please put classes on the th elements in patron-article-requests.inc as well? The td are already all classed up :) 6) This little piece of code gives me trouble, publishercode is filled in the database, but it's not showing up. Same for pages in the same part of the code. It looks like the values from biblioitems specifically are not showing up. Also: if you catalog MARC21 there already is a ',', so there is no need to add another in the template. The comma can be removed. + <div class="ar-pubdata"> + [% ar.biblio.biblioitem.publishercode %] + + [% IF ar.biblio.biblioitem.publicationyear %] + , [% ar.biblio.biblioitem.publicationyear %] 6) Patch uniminifies opac.css! 7) Test fails... perl t/db_dependent/ArticleRequests.t 1..49 Bareword "C4::Context::only_my_library" not allowed while "strict subs" in use at Koha/Libraries.pm line 52.
Created attachment 56318 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56319 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56320 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56321 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56322 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 56323 [details] [review] Bug 14610 - Update Schema files
Created attachment 56324 [details] [review] Bug 14610 [QA Followup] - Implement staff patron tab Also fixes a few other minor issues
Created attachment 56325 [details] [review] Bug 14610 [QA Followup] - Remove Koha::Patron::guarantor addition
Created attachment 56326 [details] [review] Bug 14610 [QA Followup] - Add notices to all language files
Created attachment 56327 [details] [review] Bug 14610 [QA Followup] - Add classes to table headers
Created attachment 56328 [details] [review] Bug 14610 [QA Followup] - Fix publishercode issue
Still applies, next on my list!
Created attachment 56775 [details] [review] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56776 [details] [review] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56777 [details] [review] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56778 [details] [review] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Created attachment 56779 [details] [review] Bug 14610 - Update opac.css via less
Created attachment 56780 [details] [review] Bug 14610 [QA Followup] - Implement staff patron tab Also fixes a few other minor issues
Created attachment 56781 [details] [review] Bug 14610 [QA Followup] - Remove Koha::Patron::guarantor addition
Created attachment 56782 [details] [review] Bug 14610 [QA Followup] - Add notices to all language files
Created attachment 56783 [details] [review] Bug 14610 [QA Followup] - Add classes to table headers
Created attachment 56784 [details] [review] Bug 14610 [QA Followup] - Fix publishercode issue
Created attachment 56785 [details] [review] Bug 14610 - Update Schema files Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 56816 [details] [review] Bug 14610 - Follow-up Patch fixes some smaller problems: - Adds new notices to the it-IT installer (xt/sample_notices.t) - Renames one of the classes used in the table to avoid double up - Fixes POD of Bilbio.pm by removing a doubled up line
Hi Kyle, I wrote a follow-up fixing some smaller issues. Can you please take a look? The bigger issue here is that the patches currently break the member page: http://localhost:8081/cgi-bin/koha/members/moremember.pl?borrowernumber=1 Software error: The method guarantor is not covered by tests! Patches now add and remove a guarantor method, while I am not sure why it's there at all. - I don't see what's going wrong there. Please check.
(In reply to Katrin Fischer from comment #240) > Hi Kyle, I wrote a follow-up fixing some smaller issues. Can you please take > a look? > > The bigger issue here is that the patches currently break the member page: > http://localhost:8081/cgi-bin/koha/members/moremember.pl?borrowernumber=1 > Software error: > > The method guarantor is not covered by tests! > > Patches now add and remove a guarantor method, while I am not sure why it's > there at all. - I don't see what's going wrong there. Please check. That was an accidental inclusion. I'll get that fixed asap!
The guarantor method was accidentally added by this patch set initially, but between the time the follow removed it and now, the guarantor method was added by a different bug patch set that actually uses it! I've obsoleted the patch that removed the guarantor method and now everything is working!
Thx! Back to testing...
Created attachment 56854 [details] [review] [PASSED QA] Bug 14610 - Add ability to place article requests in Koha - Update database Article Requests are somewhat similar to holds, but are not requests for an item to check out. Instead, article requests are requests for a photocopy of a particular section of a book ( most often ). This is very common in academic libraries where researchers may request a copy of a single article found in a journal. This patch set adds the ability to place article requests in Koha. It allows the control of what can be requested via the circulation rules. Since article requests of electronic resources are not outside the realm of possibility, the feature will check not only the items for requstability, but the record itself as well ( i.e. both items.itype and biblio.itemtype ). Article requests can be placed for patrons from the opac and staff intranet and can be viewed in most areas where holds are viewed ( e.g. patron details, record details, etc ). There is a script to view article requests in progress within the circulation module. Article requests can be Open ( i.e. new ), In Processing, Completed, or Canceled. The status of a given request can be updated from this script. Test Plan: 1) Apply the patch set 2) Run updatedatabase.pl 3) Enable the system preference ArticleRequests 4) Set up some required fields in: ArticleRequestsMandatoryFields ArticleRequestsMandatoryFieldsItemsOnly ArticleRequestsMandatoryFieldsRecordOnly 5) Edit your circ rules, set article requests to 'yes' for something 6) Test the ability to add an article request from the opac ( required fields enforced ) 7) Test the ability to add an article request from the staff interface ( required fields no enforced ) 8) Note you can choose item level or record level requests 9) Change the rule to "record only" 10) Repeat 6 and 7 11) Note you cannot choose items 12) Change the rule to "item only" 13) Repeat 6 and 7 14) Note you must choose an item 15) Note that the 'new request' message is queued for each new request 16) Browse to /cgi-bin/koha/circ/article-requests.pl 17) Note requests are split by pickup branch 18) Test slip printing via the "Print slip" action 19) Process request vai "Process request" action 20) Note an email notice is queued for patron 21) Refresh /cgi-bin/koha/circ/article-requests.pl 22) Note request has moved to "processing" tab. 23) Complete request with "Complete request" action 24) Note message is queued for patron 25) Cancel a request, add cancelation note. 26) Note message is queued for patron Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56855 [details] [review] [PASSED QA] Bug 14610 - Add and update modules Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56856 [details] [review] [PASSED QA] Bug 14610 - Add and update scripts Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56857 [details] [review] [PASSED QA] Bug 14610 - Add unit tests Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56858 [details] [review] [PASSED QA] Bug 14610 - Update opac.css via less Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56859 [details] [review] [PASSED QA] Bug 14610 [QA Followup] - Implement staff patron tab Also fixes a few other minor issues Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56860 [details] [review] [PASSED QA] Bug 14610 [QA Followup] - Add notices to all language files Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56861 [details] [review] [PASSED QA] Bug 14610 [QA Followup] - Add classes to table headers Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56862 [details] [review] [PASSED QA] Bug 14610 [QA Followup] - Fix publishercode issue Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56863 [details] [review] [PASSED QA] Bug 14610 - Update Schema files Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Created attachment 56864 [details] [review] Bug 14610 - Follow-up Patch fixes some smaller problems: - Adds new notices to the it-IT installer (xt/sample_notices.t) - Renames one of the classes used in the table to avoid double up - Fixes POD of Bilbio.pm by removing a doubled up line
Created attachment 56865 [details] [review] Bug 14610: Follow-up 2 - Fixes typo "Recieve" in the sample notices - Adds new notices to it-IT installer - Turns off feature for existing installations, leaves it on for new installations - Fixes typo "cancelation" - Fixes ids in <body> of new pages - Adds/fixes classes in th elements of tables
Hi Kyle, I have added another follow-up - please check the 2 last patches! Because I forgot to mention in the second commit message: the one class was renamed because otherwise there was a double up between article title and record title class names! :)
Pushed to master for 16.11, thanks for the followups Katrin!
This patch set (in particular bf1563e60b31244f4ea977eb84954fb8501ed59a Bug 14610 - Add and update modules) breaks several tests. See bug 17591
The methods Koha::Biblio->article_request_type_for_items and Koha::Biblio->article_request_type_for_bib are not covered by tests!
These patches have introduced bug 17522.
(In reply to Kyle M Hall from comment #257) > Pushed to master for 16.11, thanks for the followups Katrin! new feature, passing for 16.05
Follow-up 6b0562eee87e80532d6abb423177c76062be84cc has been pushed to 16.11.x and will be in 16.11.2. Please don't reuse bug numbers like this - it will make release notes be wrong.
I'm curious why the "date" field has a "text" type. I haven't seen an example of "date" in this patch, so I'm curious as to how it gets used...
(In reply to David Cook from comment #263) > I'm curious why the "date" field has a "text" type. I haven't seen an > example of "date" in this patch, so I'm curious as to how it gets used... Can be a year or the date an issue was published, doesn't have to be a formatted date. (iirc)
There is something very wrong with the new subroutines, they have been added to both Koha::Patron and Koha::Patrons: % git grep 'sub article_request' Koha/Patron*.pm Koha/Patron.pm:sub article_requests { Koha/Patron.pm:sub article_requests_current { Koha/Patron.pm:sub article_requests_finished { Koha/Patrons.pm:sub article_requests { Koha/Patrons.pm:sub article_requests_current { Koha/Patrons.pm:sub article_requests_finished { See bug 18395.
Be careful, just created release notes for 17.05 for a test and this is listed as new features (follow up pushed after release of 16.11 with this bug number...)
It actually got (after 16.11) again into the release notes for Koha 17.05 ( https://koha-community.org/koha-17-05-released/ ) even if it is not a new feature.
Hello everyone, after using this feature I noticed that e-mails are not being sent for patrons upon status update for the article requests. I checked the database and the to_address field is NULL in the message_queue table. Could it be that we need to define to_address => $borrower{'email'}, from_address => C4::Context->preference('KohaAdminEmailAddress'), in the EnqueueLetter call in https://github.com/Koha-Community/Koha/blob/master/Koha/ArticleRequest.pm#L124 Or am I missing something else?
Pedro, the email is picked when the emails are going to be sent, see C4::Letters::_send_message_by_email: 1258 my $patron = Koha::Patrons->find( $message->{borrowernumber} ); 1259 my $to_address = $message->{'to_address'}; 1260 unless ($to_address) { Are you sure the user has a valid email address? If yes, please open a new bug report.
Jonathan thank you for your reply, it got me on the right track: Turns out the problem has nothing to do with this (what threw me off was the null in the database, because I always saw it defined for the password recovery e-mail for example). The problem I'm having is actually related to the cronjob itself, more precisely https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=17717 it seems. Sorry for posting here as it turns out it's not related.