If we really wanted to delete all items linked to a subscription when we delete a subscription
we should change the database structure as such :
ALTER TABLE serialitems ADD FOREIGN KEY ( itemnumber ) REFERENCES items (itemnumber) ON DELETE CASCADE ;
ALTER TABLE serial CHANGE subscriptionid subscriptionid INT( 11 ) NOT NULL
ALTER TABLE serial ADD INDEX subscription ( subscriptionid )
ALTER TABLE serial ADD FOREIGN KEY ( subscriptionid ) REFERENCES subscription (subscriptionid) ON DELETE CASCADE ;
The default sort order for items attached to a title in staff mode is
items.dateaccessioned desc. This means that a particular library's holdings
will be scattered through the list -- a special problem when it comes to serial
issues. I've done a change to Items.pm that makes the sort order branch
description followed by dateaccessioned. Thus, a library's holdings will be
grouped together in the display.
- the XSLTParse4Display sub now has a new parameter : the interface (intranet or opac)
- the XSLTdisplay sysprefs is common to staff & opac (Auth.pm)
- added UNIMARC xslt in intranet templates (modified to deal with staff/opac differences)
NOW() returns minuts and seconds. date_due is just YYYY-MM-DD
Thus date_due < now() is wrong if date_due is today, and the patron is considered as late.
With curdate(), the patron is late only the day after the overdue limit
Librarian are now able to select a different delivery place for each basketgroup. They can choose one from the branch list or manualy using a textarea.
Database schema and PDF generation have been modified to reflect these changes.
- reindenting Suggestions.pm
- removing useless code in acqui-home.pl & fixing # of pending suggestion display
- add suggestion to order : displaying for selection suggestions accepted by the librarian (and reindenting)
- XHTMLing acqui-home (& removed useless parts)
NOTE ABOUT XHTML (could be useful) : <tfoot> must be BEFORE <tbody> in a <table>, even if, of course, it is displayed after.
Two issues here:
1. No radio box was selected by default in the format section of the layout editor. This actually needs some additional attention to allow the user
to establish a default method of entering the format string. As noted in comments in the code, this would probably be best implimented by adding yet
another syspref. However, I don't have time atm.
2. On saving a new template, if no profile was assigned to the new template, the script threw an error and died.
Both issues are addressed in this patch.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This may not present a problem inside of Koha, but would if scanned with
software expecting mod10 or mod43.
Current code uses the 'visa' method of the Algorithm::CheckDigits module which
produces mod9 checksums.
The patch changes to using 'code_39' for mod43 and 'siret' for mod10.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
default_ind_to_space made the assumption that indicator string by default was a string containing 2 characters.
This was not true, causing an Internal server error.
This patch Fixes that.
This patch is a "rebased" one for 3.0.x.
This change how to calculate the item's summary, and fix the issue when you have repeated fields.
Now every line is repeated, still it have values in repeated fields(see bug report).
This add the support of keyword => MARC field mapping, ton abstract the relation between human readable fields like subtitle, title, authors, location, ... and MARC fields in each framework.
This will allow to koha developper to be more flexible with each framework and don't care about the MARC flavour, just require some "keywords" to the user.
Conflicts solved :
C4/Biblio.pm
installer/data/mysql/kohastructure.sql
installer/data/mysql/updatedatabase30.pl
kohaversion.pl
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
More concise and more readable
removing do local $"= using join instead
Adding Caching of queries
Adding Some tests
API between function reorganizing for more consistency
Adding support for string, hash and arrayref in SearchIntable
SearchInTable now add
limits and
sortby
filter on fields to returns (enter an arrayref here)
filter on fields to limit the search on
searchtype which can be exact or wide
GetPrimaryKey now returns an array of all the fields which are primary keys
Adding Internal functions
_Process_Operands
_filter_hash
_filter_string
_filter_fields
Adding Search Function on Members which is a search on all the fields in Members
Adding search.tmpl which adds a filter possiblity on Member page
Adding the management and the use of Search function in C4::Members
- basket.pl: updating display, formatting dates,
- neworderempty: updating display, removing useless code, using ACQ framework if it exist. The ACQ framework will be used for creating items record during acquisitions. If it does not exist, default is used instead (which has many more informations, lot of them being irrelevant during acquisition, like the barcode)
- new order from imported batch: rewrite of the workflow. Now uses neworderempty and changing status of import_record to 'imported'
- s/copyrightdate/publicationyear/ as it's what libraries uses when ordering
- fixing some warnings
-
- removing useless fields from aqbooksellers table: specialty, deliverydays,followupdays,followupscancel,nocalc, invoicedisc They were in the DB schema, but unused for years
- reworked bookseller and contract gui
- no warning thrown
NOTE : updatedatabase not done for field removal in aqbooksellers table. Should have:
ALTER TABLE `aqbooksellers`
DROP `deliverydays`,
DROP `followupdays`,
DROP `followupscancel`,
DROP `specialty`,
DROP `nocalc`;
This big patch, fix xhtml code, and user interface.
It Delete the term of budget period and use it as "Root Budget".
It add improvment on UI, adding tooltip, and table tree.
* fix a bug for new orders budget : the Asort1 was displayed by default. Now, it's the sortN_authcat of the 1st budget (the one selected by default)
* change in GetBudgetAuthCats : returns all auth values used by at least one budget (not Asort* categories, as previously)
* code cleaning in GetAuthvalueDropbox (and select aqbudgets.* instead of *, to avoid data corruption due to duplicate column name)
* there can be more than 1 active period. This has been added to deal with temporary budgets (like "10000€ to spent in the next 3 months")
* all active budgets are retrieved
* budget available for everyone now displayed correctly
also :
* fixing some hardcoded values
* removing a warn
Tag cloud fixes :
* ordering cloud by tag name, not by weight
* improve behaviour : either display everyone cloud or my cloud only. When clicquing on "Tag cloud" on the top, will display by default everyone cloud. when clicquing on "My tag" (left tab when logged in), the page will display only my tags and my tags only
This patch, is the first use of GetRecordValue, that use the Field mapping.
It retrieve the subtitle in Intranet using it, instead of the use an old function that doesn't work anymore.
This is a way to made koha more generic with each framework.
When using search via commandline scripts, branch facets are sometimes
failing badly.
Not a HASH reference at
C4/Search.pm line 557,
This patch prevents this
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Stemming is now available for more languages
Adding also getDistinctValues which gets distinct values for a zebra index or for a Mysql field
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
required for language stemming management
Adding also some filters for NSB NSE characters
Now, get_template can be used even when query->cookie not set
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enhancing C4::SearchSuggestion
And changing its API
Changing C4::Suggestions API taking a hashref for NewSuggestion and ModSuggestion
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This update the way Member is added and editing so that import and Edition
could be best automatized
GetMember evolves and allow ppl to serach on a hash of data
Adding SQLHelper A new package to deal with INSERT UPDATE and SELECT
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enables ppl to store their search history and delete the whole history
Adding Storable required by Opac-Search-History
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Adding some new options to bulkmarcimport :
-k idtagsubfield in order to store the id of the file record into another field
-match tagsubfield,index
-a to import authorities
-l logfilename to store logs
Bug Fixing : C4/Charset.pm
Charset was incorrect for UNIMARC Authorities
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Members.pm :
Adding IsMemberBlocked
Circulation.pm :
Using IsMemberBlocked in order to implement finedays
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Adding finedays and reservesallowed and renewalsallowed management in smart rules
Adding Clone Rules
Adding CanBookBeReserved and CanItemBeReserved in C4::Reserves
Manage Reservesallowed in opac and staff interface
Manage renewalsallowed in C4/Circulation.pm
Update Database follow
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The patch I sent earlier repeated a line having to do with the count of items, which mean the count was now doubling (2 items instead of 1, 4 instead of 2, etc.). This patch removes the first, now superflous line of $xmlrecord =~ s/\<\/record\>/$itemsxml\<\/record\>/;
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This system is indended to replace the old opacnotes
and borrowernotes fields in the borrowers table.
This system allows an unlimited number of Libraran and OPAC notes to be
attached to a borrower. Each note has a message, a message type,
the data it was created, and which library created it.
Each message can only be deleted by the library that created it unless the syspref
AllowAllMessageDeletion has been set.
This system may be used simultaneously with the old notes system and does not affect it in any way.
A new database table (messages) was added for this feature.
The System also allows for pre-defined notes for Borrower records
To use these, just create authorised values with the category BOR_NOTES
where the Authorized Value is the short description shown in the pulldown,
and the description is the text that should be in the note.
Original Author: PTFS Contractor <dbavousett@ptfs.com>
This work co-sponsered by Middletown Township Public Library, Middletown, NJ, USA
and East Brunswick Public Library, East Brunswick, NJ, USA
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
The MARC21slim2OPACDetail.xsl and MARC21slim2OPACResults.xsl XSLT
stylesheets do not obey any of the OPAC sysprefs, OPACURLOpenInNewWindow,
URLLinkText, or a new one added for Bug 3545, DisplayOPACiconsXSLT.
Modified C4/XSLT.pm based on code written by Fréric Demians (thanks!) to
pass the values of the sysprefs to the .xsl files. Modified the .xsl
files to implement them. If the respective sysprefs are set, the OPAC
results and display pages will/will not display the format/material
type/audience icons, will/will not open URLs in new browser windows,
and will/will not use the text entered in URLLinkText as generic link
text when there is no value in the 856 subfield y, 3, or z. (Note that
if subfields y, 3, or z do contain text, the first match is what will be displayed.)
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
remove unnecessary calls to finish
let DBI return an array instead of looping to create one
make some SQL oneliners more succinct
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch does two things to improve the call number splitting algorithms:
1. It makes changes to ensure that cutter numbers are split correctly in ddcns
2. It moves custom/fiction/biography call number splitting to a separate algorithm.
Before they were incorrectly placed in ddcns.
This patch also modifies the call number splitting tests to accept call numbers from the
command line to allow quick testing of any give call number against a particular algorithm.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
* renamed default_ind_to_space to _default_ind_to_space
as it is an internal function
* added calls to _default_ind_to_space in other places
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Pull the code into its own subr so that the dangers of
inaccurate copy & paste are avoided in future
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Before the grace period was not included in the number of days overdue when
calculating the fine. My librarians seem to think the number of days overdue
should include the grace period.
Fine is not assessed before the grace period is up though.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Auth, after verifying the session/logging in the user, calls to the database
to get the users borrowernumber. This call is probably unnecessary because
borrowernumber is part of userenv. Check userenv before going to the database.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
When rebuild_zebra.pl is run from cron, there is an occasional error
of the form:
Use of uninitialized value $str in substitution (s///) at /home/ebpl/kohaclone/C4/Charset.pm line 304.
This error is occuring when the string that is fed to Charset::StripNonXmlChars
is null or undefined, for some reason.
This fix will handle the null-or-empty condition, and thus suppress the error.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This preference allows library staff to decide whether to show
the fines tab in the OPAC for logged in patrons.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>