Koha/etc/SIPconfig.xml
Matthias Meusburger 8691809111 Bug 26591: SIP option prevcheckout_block_checkout to block checkout of previously checked-out documents
This patchs adds a new SIP option to block checkout of previously
checked-out documents: prevcheckout_block_checkout

See the CheckPrevCheckout system preference to enable previously
checked-out verification in Koha.

Test plan:
  1) Apply this patch
  2) Enable the CheckPrevCheckout syspref (on "Do" for instance)
  3) Enable prevcheckout_block_checkout in the SIP server config file
  4) Checkout and checkin an item for a user
  5) Checkout the item again with the SIP CLI tool
  6) Check that the SIP message is "This item was previously checked out by you"
     and that the item was not checked out
  7) Disable prevcheckout_block_checkout in the SIP server config file
  8) Checkout the item again with the SIP CLI tool
  9) Check that the SIP message is "This item was previously checked out by you"
     and that the item was checked out.
 10) Prove t/db_dependent/SIP/Message.t

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-03-01 15:14:22 +01:00

124 lines
4.9 KiB
XML

<acsconfig xmlns="http://openncip.org/acs-config/1.0/">
<!-- above address gets nothing, it's just a namespace -->
<error-detect enabled="true" />
<!--
Set Net::Server::PreFork runtime parameters
syslog_ident will identify SIP2 Koha server entries in syslog
For OpenSolaris, add: syslog_logsock=stream
-->
<server-params
min_servers='1'
min_spare_servers='0'
log_file='Sys::Syslog'
syslog_ident='koha_sip'
syslog_facility='local6'
/>
<listeners>
<!-- vestigial HTTP, never implemented: just use the OPAC!
<service
port="0:8080/tcp"
transport="http"
protocol="NCIP/1.0" />
-->
<service
port="8023/tcp"
transport="telnet"
protocol="SIP/2.00"
timeout="60" />
<service
port="127.0.0.1:6001/tcp"
transport="RAW"
protocol="SIP/2.00"
client_timeout="600"
timeout="60" />
<!--- client_timeout times out active connections which have not received
input from the client. Many persistent connections will send a status request
every 5-7 mins so setting this to less than that will add instability to the connection
if explicitly set to zero, no timeout is applied to the connection.
NB the parameter timeout applies to the login process only and should be set to a lower value
to time out failed connections
-->
</listeners>
<accounts>
<login id="staff" password="staff" delimiter="|" error-detect="enabled" institution="CPL" encoding="ascii" checked_in_ok="1" payment_type_writeoff="06" disallow_overpayment="1" />
<login id="koha" password="koha" delimiter="|" error-detect="enabled" institution="kohalibrary" encoding="utf8" />
<login id="koha2" password="koha" institution="kohalibrary2" terminator="CR" />
<login id="lpl-sc" password="1234" institution="LPL" />
<login id="lpl-sc-beacock" password="xyzzy"
delimiter="|" error-detect="enabled" institution="LPL"
send_patron_home_library_in_af="1"
cv_send_00_on_success="1"
ct_always_send="1"
cv_triggers_alert="1"
allow_empty_passwords="1"
cr_item_field="shelving_location"
ae_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]"
da_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]"
av_field_template="[% accountline.description %] [% accountline.amountoutstanding | format('%.2f') %]"
hide_fields="BD,BE,BF,PB"
register_id=''
holds_block_checkin="0"
prevcheckout_block_checkout="0"
overdues_block_checkout="1">
<screen_msg_regex find="Greetings from Koha." replace="Welcome to your library!" />
<screen_msg_regex find="Invalid patron barcode." replace="Barcode not found, are you sure this is your library card?" />
<patron_attribute field="XY" code="CODE" />
<item_field field="ZY" code="permanent_location" />
<syspref_overrides>
<AllFinesNeedOverride>0</AllFinesNeedOverride>
</syspref_overrides>
<custom_patron_field field="DE" template="[% patron.dateexpiry %]" />
</login>
</accounts>
<!--
Institution tags are for enabled branches. There needs to be one
institution stanza for each institution named in the accounts above.
The implementation attribute is actually used to find the code to run,
in our case "ILS".
-->
<institutions>
<institution id="MAIN" implementation="ILS" parms="">
<policy checkin="true" renewal="true" checkout="true"
status_update="false" offline="false"
timeout="100"
retries="5" />
</institution>
<institution id="CPL" implementation="ILS" parms="">
<policy checkin="true" renewal="true" checkout="true"
status_update="false" offline="false"
timeout="25"
retries="5" />
</institution>
<institution id="kohalibrary" implementation="ILS" parms="">
<policy checkin="true" renewal="false" checkout="true"
status_update="false" offline="false"
timeout="100"
retries="5" />
</institution>
<institution id="kohalibrary2" implementation="ILS" parms="">
<policy checkin="true" renewal="false" checkout="true"
timeout="100"
retries="3" />
</institution>
<institution id="LPL" implementation="ILS">
<policy checkin="true" renewal="false" checkout="true"
timeout="100"
retries="5" />
</institution>
</institutions>
<!-- This section allows system preferences to be overridden on a global basis.
If the same system preference is overridden at the login level, the login
version will take precedence.
-->
<syspref_overrides>
<AllFinesNeedOverride>0</AllFinesNeedOverride>
</syspref_overrides>
</acsconfig>