139e6c30d6
Add a rule based system for merging MARC records to for example prevent field data from being overwritten. To test: 1. Apply this patch. 2. Log in to staff client. 3. Enable new syspref MARCMergeRules. 4. Click the new link "MARC merge rules" in the "Catalog" section of the Koha administration page. 5. Create a new rule: Module: source, Filter: *, Tag: 245, Preset: Protect. 6. Clicking "Edit" should allow you to edit corresponding rule. 7. Clicking "Delete" should remove corresponding rule after confirmation. 8. Selecting one or more rules followed by clicking "Delete selected" should remove all selected rules after confirmation. 9. Try creating a rule with tag set to "**", the other options does not matter. Verify that saving this rule produces an error message complaining about invalid tag regular expression. 10. Try creating a rule with tag set to "008" (or other control field) and set Appended: Append and Removed: Skip, the other options does not matter. Verify that saving this rule produces an error message complaining about invalid combination of actions for control field. 11. With the 245 rule in step 5 in place, edit a bibliographic record, change 245a for example (which should be Title for MARC21) and save. 12. Verify that the changes has not been saved. 13. Create a new rule: Module: source, Filter: intranet, Tag: 245, Preset: Overwrite. 14. Repeat step 12, and verify that the changes has now been saved. 15. Run tests in t/db_dependent/Biblio/MarcMergeRules.t and very that all tests pass. Sponsored-by: Halland County Library Sponsored-by: Catalyst IT Sponsored-by: Gothenburg University Library Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
172 lines
9.5 KiB
HTML
172 lines
9.5 KiB
HTML
[% USE Koha %]
|
|
|
|
<div id="navmenu">
|
|
<div id="navmenulist">
|
|
|
|
[% IF ( CAN_user_parameters_manage_sysprefs ) %]
|
|
<h5>System preferences</h5>
|
|
<ul>
|
|
<li><a href="/cgi-bin/koha/admin/preferences.pl">System preferences</a></li>
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_parameters_manage_libraries || CAN_user_parameters_manage_itemtypes || CAN_user_parameters_manage_auth_values ) %]
|
|
<h5>Basic parameters</h5>
|
|
<ul>
|
|
[% IF ( CAN_user_parameters_manage_libraries ) %]
|
|
<li><a href="/cgi-bin/koha/admin/branches.pl">Libraries</a></li>
|
|
<li><a href="/cgi-bin/koha/admin/library_groups.pl">Library groups</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_itemtypes ) %]
|
|
<li><a href="/cgi-bin/koha/admin/itemtypes.pl">Item types</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_auth_values ) %]
|
|
<li><a href="/cgi-bin/koha/admin/authorised_values.pl">Authorized values</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_parameters_manage_patron_categories || CAN_user_parameters_manage_circ_rules || CAN_user_parameters_manage_patron_attributes || CAN_user_parameters_manage_transfers || CAN_user_parameters_manage_item_circ_alerts || CAN_user_parameters_manage_cities ) %]
|
|
<h5>Patrons and circulation</h5>
|
|
<ul>
|
|
[% IF ( CAN_user_parameters_manage_patron_categories ) %]
|
|
<li><a href="/cgi-bin/koha/admin/categories.pl">Patron categories</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_circ_rules ) %]
|
|
<li><a href="/cgi-bin/koha/admin/smart-rules.pl">Circulation and fines rules</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_patron_attributes ) %]
|
|
<li><a href="/cgi-bin/koha/admin/patron-attr-types.pl">Patron attribute types</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_transfers ) %]
|
|
<li><a href="/cgi-bin/koha/admin/branch_transfer_limits.pl">Library transfer limits</a></li>
|
|
<li><a href="/cgi-bin/koha/admin/transport-cost-matrix.pl">Transport cost matrix</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_item_circ_alerts ) %]
|
|
<li><a href="/cgi-bin/koha/admin/item_circulation_alerts.pl">Item circulation alerts</a></li>
|
|
[% END %]
|
|
[% IF ( Koha.Preference('UseCirculationDesks') && CAN_user_parameters_manage_libraries ) %]
|
|
<li><a href="/cgi-bin/koha/admin/desks.pl">Desks</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_cities ) %]
|
|
<li><a href="/cgi-bin/koha/admin/cities.pl">Cities and towns</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_parameters_manage_accounts || ( Koha.Preference('UseCashRegisters') && CAN_user_parameters_manage_cash_registers ) ) %]
|
|
<h5>Accounting</h5>
|
|
<ul>
|
|
[% IF ( CAN_user_parameters_manage_accounts ) %]
|
|
<li><a href="/cgi-bin/koha/admin/debit_types.pl">Debit types</a></li>
|
|
<li><a href="/cgi-bin/koha/admin/credit_types.pl">Credit types</a></li>
|
|
[% END %]
|
|
[% IF ( Koha.Preference('UseCashRegisters') && CAN_user_parameters_manage_cash_registers ) %]
|
|
<li><a href="/cgi-bin/koha/admin/cash_registers.pl">Cash registers</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF CAN_user_parameters_manage_background_jobs %]
|
|
<h5>Background jobs</h5>
|
|
<ul>
|
|
<li><a href="/cgi-bin/koha/admin/background_jobs.pl">Background jobs</a></li>
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_parameters_manage_marc_frameworks || CAN_user_parameters_manage_classifications || CAN_user_parameters_manage_matching_rules || CAN_user_parameters_manage_oai_sets || CAN_user_parameters_manage_item_search_fields || CAN_user_parameters_manage_search_engine_config ) %]
|
|
<h5>Catalog</h5>
|
|
<ul>
|
|
[% IF ( CAN_user_parameters_manage_marc_frameworks ) %]
|
|
<li><a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC bibliographic framework</a></li>
|
|
<li><a href="/cgi-bin/koha/admin/koha2marclinks.pl">Koha to MARC mapping</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_marc_frameworks ) %]
|
|
<li><a href="/cgi-bin/koha/admin/checkmarc.pl">MARC bibliographic framework test</a></li>
|
|
<li><a href="/cgi-bin/koha/admin/authtypes.pl">Authority types</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_classifications ) %]
|
|
<li><a href="/cgi-bin/koha/admin/classsources.pl">Classification sources</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_matching_rules ) %]
|
|
<li><a href="/cgi-bin/koha/admin/matching-rules.pl">Record matching rules</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_oai_sets ) %]
|
|
<li><a href="/cgi-bin/koha/admin/oai_sets.pl">OAI sets configuration</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_item_search_fields ) %]
|
|
<li><a href="/cgi-bin/koha/admin/items_search_fields.pl">Item search fields</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_search_engine_config ) %]
|
|
<li><a href="/cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl">Search engine configuration (Elasticsearch)</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_marc_merge_rules ) %]
|
|
<li><a href="/cgi-bin/koha/admin/marc-merge-rules.pl">MARC merge rules</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_acquisition_currencies_manage || CAN_user_acquisition_period_manage || CAN_user_acquisition_budget_manage || CAN_user_acquisition_edi_manage ) %]
|
|
<h5>Acquisition parameters</h5>
|
|
|
|
<ul>
|
|
[% IF ( CAN_user_acquisition_currencies_manage ) %]
|
|
<li><a href="/cgi-bin/koha/admin/currency.pl">Currencies and exchange rates</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_acquisition_period_manage ) %]
|
|
<li><a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_acquisition_budget_manage ) %]
|
|
<li><a href="/cgi-bin/koha/admin/aqbudgets.pl">Funds</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_acquisition_edi_manage ) %]
|
|
<li><a href="/cgi-bin/koha/admin/edi_accounts.pl">EDI accounts</a></li>
|
|
<li><a href="/cgi-bin/koha/admin/edi_ean_accounts.pl">Library EANs</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF CAN_user_plugins && plugins_enabled %]
|
|
<h5>Plugins</h5>
|
|
<ul>
|
|
<li><a href="/cgi-bin/koha/plugins/plugins-home.pl">Manage plugins</a></li>
|
|
</ul>
|
|
[% END %]
|
|
|
|
[% IF ( CAN_user_parameters_manage_smtp_servers || CAN_user_parameters_manage_search_targets || CAN_user_parameters_manage_didyoumean || CAN_user_parameters_manage_column_config || CAN_user_parameters_manage_audio_alerts || ( CAN_user_parameters_manage_sms_providers && Koha.Preference('SMSSendDriver') == 'Email' ) || CAN_user_parameters_manage_usage_stats || CAN_user_parameters_manage_additional_fields || ( Koha.Preference('EnableAdvancedCatalogingEditor') && CAN_user_parameters_manage_keyboard_shortcuts ) ) %]
|
|
<h5>Additional parameters</h5>
|
|
<ul>
|
|
[% IF ( CAN_user_parameters_manage_search_targets ) %]
|
|
<li><a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50/SRU servers</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_smtp_servers ) %]
|
|
<li><a href="/cgi-bin/koha/admin/smtp_servers.pl">SMTP servers</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_didyoumean ) %]
|
|
<li><a href="/cgi-bin/koha/admin/didyoumean.pl">Did you mean?</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_column_config ) %]
|
|
<li><a href="/cgi-bin/koha/admin/columns_settings.pl">Table settings</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_audio_alerts ) %]
|
|
<li><a href="/cgi-bin/koha/admin/audio_alerts.pl">Audio alerts</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_sms_providers && Koha.Preference('SMSSendDriver') == 'Email' ) %]
|
|
<li><a href="/cgi-bin/koha/admin/sms_providers.pl">SMS cellular providers</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_usage_stats ) %]
|
|
<li><a href="/cgi-bin/koha/admin/usage_statistics.pl">Share usage statistics</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_mana ) %]
|
|
<li><a href="/cgi-bin/koha/admin/share_content.pl">Share content with Mana KB</a></li>
|
|
[% END %]
|
|
[% IF ( CAN_user_parameters_manage_additional_fields ) %]
|
|
<li><a href="/cgi-bin/koha/admin/additional-fields.pl">Additional fields</a></li>
|
|
[% END %]
|
|
[% IF ( Koha.Preference('EnableAdvancedCatalogingEditor') && CAN_user_parameters_manage_keyboard_shortcuts ) %]
|
|
<li><a href="/cgi-bin/koha/admin/adveditorshortcuts.pl">Keyboard shortcuts</a></li>
|
|
[% END %]
|
|
</ul>
|
|
[% END %]
|
|
</div>
|
|
</div>
|