Commit Graph

463 Commits

Author SHA1 Message Date
Jonathan Druart 2430d35926 Bug 16229: Add the unsafe flag to set_in_cache
Could be useful later.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>

Signed-off-by: Brendan Gallagher <bredan@bywatersolutions.com>
(cherry picked from commit 22c907230a)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-23 09:25:38 +02:00
Jonathan Druart a54774cbf2 Bug 16229: Deep copy on setting in cache
Koha::Cache->set_in_cache should deep copy (if needed) to avoid the
value which has been set in cache to be unintentionally modified later.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>

Signed-off-by: Brendan Gallagher <bredan@bywatersolutions.com>
(cherry picked from commit 33ad907a82)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-23 09:23:55 +02:00
Jonathan Druart 6599ae3ddc Bug 16229: Deep copy on first L2 fetch
When a value exists in L2 cache but not in L1 cache, it should be deep
copied if needed (i.e. not a scalar). Otherwise the calling code is able
to modify the value in cache.
Note that is theoretical, it's possible that no code does that.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>

Signed-off-by: Brendan Gallagher <bredan@bywatersolutions.com>
(cherry picked from commit 956dc953b5)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-23 09:22:34 +02:00
Jonathan Druart 620023209f Bug 16088: Introduce Koha::Cache::Memory::Lite to cache the language
The goal of this patch is to avoid unecessary flush of the L1 cache on
creating a new CGI object each time C4::Languages::getlanguage is called
without a CGI object.

The new class Koha::Cache::Memory::Lite must be flushed by the CGI
constructor overide done in the psgi file. This new class will ease
caching of specific stuffs used by running script.

Test plan:
At the OPAC and the intranet interfaces:
Open 2 different browser session to simulate several users
- Clear the cookies of the browsers
- User 1 (U1) an User 2 (U2) should be set to the default language
  (depending on the browser settings)
- U1 chooses another language
- U2 refreshes and the language used must be the default one
- U2 chooses a third language
- U1 refreshes and must be still using the one he has choosen.

Try to use a language which is not defined:
Add &language=es-ES (if es-ES is not translated) to the url, you should
not see the Spanish interface.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit f01a07a25e)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-16 13:46:28 +02:00
Jonathan Druart 6c360763e8 Bug 16044: Populate the L1 cache when L2 is fetched
The whole patch set is not very pertinent if the L1 cache is not
populated when L2 is fetched!
This patch fixes this inconsistency.

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit c75271a741)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-16 13:44:45 +02:00
Jonathan Druart bc2a946f7c Bug 16044: Add an unsafe flag to Koha::Cache->get_from_cache
If the caller/developer knows what he is doing, he can decide not to
deep copy the structure. It will be faster but unsafe!
If the structure is modified, the cache will also be updated.
This option must be used with care and is not the default behavior.

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit b0bbace4dd)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-16 13:44:43 +02:00
Jonathan Druart acb6f4ba41 Bug 16044: Add deep cloning
To avoid the cache to be modified unfortunately, the default behavior of
get_from_cache will be to deep copy if we are getting a structure.
If the item is a scalar, it's simply returned.

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 2e0af6e6df)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-16 13:44:41 +02:00
Jonathan Druart af168f1706 Bug 16044: Use the L1 cache for any objects set in cache
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit dda7a0a25f)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-16 13:44:30 +02:00
Marcel de Rooy 8480d4d260 Bug 15333: [QA Follow-up] Add few tests
This report had no test plan and no unit tests.
Adding some lines to Holidays.t.
Added a trivial line move in Calendar.pm.

Test plan:
Run t/db_dependent/Holidays.t with and without cache.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested with memcached, Cache::Memory and no cache (edit Cache.pm).

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 73aa490029)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-09 09:32:52 +02:00
Jonathan Druart 0c61cb5214 Bug 15333: Use Koha::Cache to cache exception_holidays instead of a package variable
On the same way as bug 14522, we should use Koha::Cache to cache
exception_holidays.
It's not safe to use a package variable if running under Plack.

There is not test plan, just make sure the changes make sense.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit cbd375fab7)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-06-09 09:32:46 +02:00
Nick Clemens 4684d3072e Bug 16539 - Koha::Cache is incorrectly caching single holidays
This makes the loop add holidays for each bracnh instead of the calling
branch

To test:
I used memcached-tools to view the cache, clear the cache, and wait for
holidays to regnerate

Have a branches with different holidays
Clear the cache
Do a checkout
View the cache - one libraries holidays are repeated for all branches
Apply patch
Clear the cache
Do a checkout
Library holidays are correctly cached

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit d6c37a0994)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-05-25 10:22:00 +02:00
Kyle M Hall 3d223d4ffe Bug 15086: Update DB rev (3.22.06.005)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-05-17 07:56:02 +02:00
Jonathan Druart bf924a0fad Bug 16476: Do not call CGI->param in list context, some more
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 70498b1566)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-05-16 19:16:03 +02:00
Jonathan Druart 33a3f9df09 Bug 16105: Do not initialize the memory cache if not needed
Cache::Memory is loaded and Koha::Cache::_initialize_memory is called
even if a memcached cache has been correctly initialize, it does not
make sense.
It should only be initialize if needed.

Test plan:
Correctly configure a memcache server and confirm that the memory cache
is not initialize.
Do not configure correctly a memcache server and confirm that the cache
system default on Cache::Memory

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 2026be47fd)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-05-16 12:21:22 +02:00
Julian Maurice 124b14d8cd Bug 16170: Update schema
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-05-16 10:37:42 +02:00
Julian Maurice a5480957e1 Revert "Bug 16104: Remove warnings "used only once: possible typo""
This reverts commit dce531d3d6.
2016-05-02 12:10:06 +02:00
Jonathan Druart dce531d3d6 Bug 16104: Remove warnings "used only once: possible typo"
Since bug 11998, the following warnings are raised:
Name "Tie::Hash::FIELDS" used only once: possible typo at /usr/share/perl/5.22/fields.pm line 135.
Name "Cache::RemovalStrategy::LRU::FIELDS" used only once: possible typo at /usr/share/perl/5.22/fields.pm line 135.
Name "Cache::RemovalStrategy::FIELDS" used only once: possible typo at /usr/share/perl/5.22/fields.pm line 135.

It comes from the Koha::Cache

103     if ( can_load( modules => { 'Cache::Memory' => undef } ) ) {

Test plan:
  perl -wc C4/AuthoritiesMarc.pm
should return green

QA note: this may have an impact on performance but I have not found any other workarounds.

NOTE: I applied 15870 to master, got the error (-v 2 -c 5), applied 16104,
rebased it in front, error disappeared (still only -c 5), rebased it at the end,
and signed off 16104.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Brendan Gallagher <bredan@bywatersolutions.com>
(cherry picked from commit 6b319a2d48)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-04-22 12:03:42 +02:00
Jonathan Druart 65b1618e9c Bug 11998: Use C4::Context->preference in Koha/Schema/Result/Item.pm
Otherwise some tests won't pass

Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit a691e88a4e)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-03-23 07:53:27 +01:00
Jonathan Druart c65c69a4cb Bug 11998: Use Koha::Cache to cache sysprefs
At the moment, the sysprefs are only cache in the thread memory
executing the processus
When using Plack, that means we need to clear the syspref cache on each
page.
To avoid that, we can use Koha::Cache to cache the sysprefs correctly.

A big part of the authorship of this patch goes to Robin Sheat.

Test plan:
1/ Add/Update/Delete local use prefs
2/ Update pref values and confirm that the changes are correctly taken
into account

Signed-off-by: Chris <chrisc@catalyst.net.nz>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Tested with plack with syspref cache enabled, there is some time between setting the syspref and applying it, but it takes just one reload of page, it shouldn't be problem, should it?
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Tested with CGI and CGI + memcache; some small issues still remain,
but it would be better to deal with them in separate bug reports
if necessary

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 9820f9dfbd)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-03-23 07:41:27 +01:00
Jonathan Druart 7847081c52 Bug 15446: Rename Koha::Object[s]->type with _type
In a few case (at least systempreferences and export_format (csv profiles),
the type method of Koha::Object and Koha::Objects can be in conflict with the
column names.
Indeed systempreferences.type exists and so the method will return
'Systempreference' (the name of the module) instead of the value of the row in
DB.

I have found at least 1 place where it can cause issue:
In C4::Context->set_preference:
 601     my $syspref = Koha::Config::SysPrefs->find( $var );
 602     my $type = $syspref ? $syspref->type() : undef;
 603
 604     $value = 0 if ( $type && $type eq 'YesNo' && $value eq '' );

type will always be 'Systempreference' and the YesNo pref will be set to an
empty string '' instead of 0.

I am not sure about the consequences of this, but it is preferable to
fix it ASAP.

To reproduce:
0/ Do not apply this patch
1/ Edit a YesNo prefs, AutoEmailOpacUser for instance
2/ Set it to "Don't sent"
3/ Check the value in DB, it should be set to an empty string, instead
of 0
4/ Apply this patch and try again. Now the value should be 0

Followed test plan, value is now 0 as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
(cherry picked from commit de3289506d)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Conflicts:
	Koha/Branch.pm
	Koha/Branches.pm
2016-03-14 11:10:25 +01:00
Mark Tompsett b828a40a7a Bug 15777 - Refactor and fix the RecordProcessor class
TEST PLAN
---------
1) Apply all three patches
2) prove -v t/RecordProcessor.t
   -- all should be successful
3) run koha qa test tools

Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 0195a2af99)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-26 16:30:46 +01:00
Mark Tompsett 2d19153fc4 Bug 15777 - Fix base class to prove refactor and fix required
TEST PLAN
---------
1) Apply the testing patch and this patch
2) prove -v t/RecordProcess.t
   -- will complain about string use with "use strict".
      This is because it is using the module name, instead
      of the object instantiated with new().
3) run koha qa test tools.

Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 84ca3db6c7)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-26 16:30:45 +01:00
Julian Maurice 5f96cbd933 Bug 15743: Allow plugins to embed Perl modules
This patch allows plugins to embed Perl modules by ignoring Perl modules
in plugins directory that don't inherit from Koha::Plugins::Base

TEST PLAN
---------
1) Edit koha-conf.xml to have enable_plugins set to 1, and
   the pluginsdir set to a particular path.
2) Create a dummy plugin file. (e.g. {that path}/Koha/Plugin/Kaboom.pm)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 2a43195322)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-26 16:26:39 +01:00
Brendan Gallagher e06c67044e Bug 15517: Update DB rev (3.22.03.003)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-26 15:19:33 +01:00
Julian Maurice 90acad11d5 Bug 13534: Update DBIx::Class schema 2016-02-26 14:39:33 +01:00
Jonathan Druart 8931489565 Bug 15578: Make sure all params will be taken into account when instantiating
The tests in t/db_dependent/Koha_Authority.t expects at least 1
authority record in the DB to run them, otherwise they are skipped.
On our integration server, the DB does not contain any records, and the
tests are skipped.
Unfortunately these tests were testing the authid method of
Koha::MetadataRecord::Authority.

Test plan:
Apply the first patch, launch tests
=> Fail
Apply the second patch, launch tests
=> \o/

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-17 19:50:46 +01:00
Jonathan Druart dc227112c8 Bug 15760: Fix order by direction for shelves
The order_by parameters should not be "$direction $order_by" with
quote_names enabled. The correct syntax is { -$direction => $order_by }

Test plan for Opac + Staff interfces:
Sort list by title or whatever and change the direction

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 71d4942c30)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-12 09:35:40 +01:00
Jonathan Druart ba754a4395 Bug 15760: Avoid SQL injections
Asking on #dbix-class, ribasushi told me to set quote_names to the
connection options.

Indeed it does the fix, globally :)

Test plan:
1/ Add the following snippet to the a script (mainpage.pl is a good candidate)
 use Koha::Virtualshelves;
 my $s = Koha::Virtualshelves->search({}, { order_by => '1,(select case when (3*2*1=6 AND 000227=000227) then 1 else 1*(select table_name from information_schema.tables)end)=1' });
 $s->next;
2/ Execute the script
=> Without the patch, you should not get any error. If you have the mysql logs
enable, you will see the query
=> With the patch applied, you will get a "unknown column" error

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 16e55c1f32)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-12 09:35:32 +01:00
Marcel de Rooy 3ed86a52ea Bug 14893: Separate temporary storage per instance in Upload.pm
To make life easier when multiple instances are uploading temporary
files to Koha, this patch adds the database name to the upload subfolder
in your /tmp folder.

Note: Although multiple instances could share the same subfolder for
temporary storage (hashvalue is based on a timestamp too), it will be
better to separate them for efficient housekeeping (removing older or
partial files with a cronjob etc.)
Since multiple instances come with separate permissions, keeping them in
separate folders will be much simpler.

Permanent storage is not affected by this patch. The location of permanent
storage is ruled by the upload_path in each config file. Sharing that
space is not recommended too.

Although it may not be strictly necessary yet to remove files from the old
temp storage folder (before the 3.22 release), the accompanying db rev
performs that housekeeping task.

Test plan:
[1] Do not yet apply this patch. Upload a temporary file (use the
    tools/upload.pl script without selecting a category).
[2] Check /tmp/koha_upload.
[3] Apply this patch. Run the db rev with web installer.
[4] Upload another temporary file.
[5] Check /tmp for folder [your_database]_upload.
[6] Check that /tmp/koha_upload is gone and the associated records too.
[7] Run the adjusted t/db../Upload.t

Followed test plan. Could not do steps before applying patch [1]-[2]
(I suppose a local permission problem).
After applying patch and updating db file appears in /tmp/[database]
as expected.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 0c138700b2)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-02-01 17:25:31 +01:00
Marc Véron ff2fc4910d Bug 15135: Remove Warning Subroutine HasOverdues redefined
In staff client, while displying patron related pages (e.g. moremember.pl) you get a warning like:
moremember.pl: Subroutine HasOverdues redefined at /usr/share/kohaclone/Koha/Template/Plugin/Borrowers.pm line 52.
This occurs with all pages that have [% USE Borrowers %] in their templates (directly or via members-toolbar.inc)

To test:
- Go to Home > Patrons > Patron details for....
- Search for warning above in log
- Apply patch
- Verify that no more warnings appear
- Verify that patron pages behave as before

(Solution as of comment #18)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Verified that warning disappears with this patch.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 560bc790db)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-01-29 11:50:14 +01:00
Jonathan Druart e4175ee89d Bug 15473: Make Koha::Objects->find accepts 0 and '' as a key
This bug has been found after bug 15381 was pushed:
If you go on authorities/authorities.pl, you expect a form to create a
 authorities with a "Default" authority type.
Now, it explodes:
    Can't call method "authtypetext" on an undefined value at
    /home/koha/src/authorities/authorities.pl line 665.

Koha::Objects->find does not want to search if the key does not exist
(undef, '', 0). But actually it should only be a coward if it is not defined.

Moreover this is the default behavior of the DBIx::Class find method.

Test plan:
  prove t/db_dependent/Koha/Objects.t
should return green
and
  GET /cgi-bin/koha/authorities/authorities.pl
should not make everything explode.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Find this after signing 15470 :)
Test pass, new auth (Default) created, no errors.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
(cherry picked from commit 6cf157f993)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2016-01-15 09:02:36 +01:00
Frédéric Demians 524b4cb0ff Bug 15258: Fix Perl scripts declaring unused variables
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

All affected files tested with `perl -c`.
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>

(cherry picked from commit ff1579de6d)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
2015-12-31 14:32:53 +01:00
Marc Véron c4b9f379f3 Bug 12072: Add system preference for New dateformat dd.mm.yyyy (dmydot)
Note: This feature depends on Bug 14870 'Delete C4/Dates from system'

System preferences:
To test:
- apply the patch
- run updatedatabase.pl
- go to Admin > Sysprefs > I18N, change dateformat to dd.mm.yyyy, save
- verify that the value was saved

Date handling:
- go through the staff client and verify that dates behave as expected.
- go through Opac and verify that dates behave as expected.

  The Bugs where Bug 14870 depends on contain test plans that can be
  used for the overall testing.

Note: Make sure that you reset the dateformat to the former value after
      testing.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Works as expected

Amended to apply on top of Bug 15166 11.11.2015/mv

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-19 13:12:00 -03:00
Jonathan Druart 4b1818f0f2 Bug 15166: Carp if an invalid date is passed
Sign-off on second patch.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-13 11:24:07 -03:00
Jonathan Druart 320d2c586a Bug 15166: Make output_pref takes a string in parameter
To simplify the management of dates, it would be great that output_pref takes a string in parameter.

  my $date = $input->param('my_date');
  $date = eval { dt_from_string( $date ) } if $date;
  $date = output_pref({dt => $date}) if $date;

Could be replace with:

  my $date = output_pref({ str => $input->param('my_date') });

Tested with t/DateUtils.t, passed OK.
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-13 11:24:06 -03:00
Julian Maurice 6143a2bf44 Bug 8064: Merge several biblios
This patch improves the existing merging tool by adding possibility to
merge more than 2 biblios.
There is no functional changes:
  - Add some biblios to a list
  - In the list check some biblios and click on 'Merge selected records'
  - Choose the biblio which will be kept, all others will be deleted
  - On the next page you have all biblios you chose in tabs (left side
    of the screen) and the preview of result (right side)
  - Pick some fields or subfields from records that will be deleted or
    delete some fields from reference record.
  - Click on 'Merge', if there is no errors you are redirected to the
    biblio view.

Added checks for non-repeatable subfields
Added checks for mandatory fields and subfields before submitting the
form.
Added a final report which display deleted records (see syspref
MergeReportFields)

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-09 15:08:57 -03:00
Jonathan Druart 3c120e7b92 Bug 14836: Move Koha::PatronCategor* to Koha::Patron::Categor*
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:57:41 -03:00
Jonathan Druart 2e85a7bb11 Bug 14836: Add Koha::PatronCategor[y|ies] classes
Note that some of the routines are retrieved from bug 10363 (branch
limitations).
They are not all used in these patch set, but they will permit to
replace the subroutines in C4::Form::MessagingPreferences, in the next
step.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:57:41 -03:00
Tomas Cohen Arazi 93ac5af0d8 Bug 8296: (RM followup) DBIx update
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:46:19 -03:00
Tomas Cohen Arazi f62b9cfe95 Bug 14544: (RM followup) DBIx update
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:40:57 -03:00
Tomas Cohen Arazi 84f081fdd9 Bug 15095: (RM followup) DBIx update
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:40:24 -03:00
Marcel de Rooy 56f0e392d1 Bug 14544: [QA Follow-up] DBIx::Class changes
One of the follow-ups added a belongs_to from Biblioitem to Item just
as biblioitemnumber was a foreign key to Item. The relation goes the
other way.

As a temporary measure, I added set_primary_key in the local section of
Virtualshelfcontent. Should be moved later with a real db rev.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:00:31 -03:00
Jonathan Druart 8cd4dc9bb7 Bug 14544: QA fixes - some minor bug fixes
See comment 171 and 172 for more details.

This patch mainly fixes typo or silly error in templates.

It also uses the relationships added by previous patch to join the
biblioitems and items tables (changes in opac-shelves.pl and
shelves.pl).

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:00:31 -03:00
Jonathan Druart 44cd6841fa Bug 14544: Add missing biblio <=> biblioitems <=> items relationships to the schema
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adjusted by a follow-up.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:00:31 -03:00
Alex Arnaud 73b88b9738 Bug 14544: Handle database error when creating a shelf with DB admin account
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
I don't think this is useful, it will be a mess if we have to check this
case everywhere. But it works!
I let the cut to the QAer or RM.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 10:00:22 -03:00
Jonathan Druart 6b62fb3970 Bug 14544: Get rid of GetSomeShelfNames
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 09:58:02 -03:00
Jonathan Druart f510627842 Bug 14544: Make the OPAC side independent of Page.pm
Bug 14544: Fix redirect on editing a list

If you edit a list from the list view, after saving the form, you are
not redirected to the list view (but on the edit form).

Bug 14544: Cosmetic: &rsaquo; should be a class divider

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 09:58:01 -03:00
Jonathan Druart b9f92a0125 Bug 14544: Get rid of GetShelves
This does not work for now, see later.

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 09:58:01 -03:00
Jonathan Druart 6f75aa11ff Bug 14544: Make the intranet side independent of Page.pm
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 09:58:01 -03:00
Jonathan Druart de69ee9a91 Bug 14544: Koha::Virtualshelfcontent[s]
Get rid of AddToShelf and DelFromShelf

Bug 14544: Allow a user to delete his own contents

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2015-11-05 09:58:01 -03:00