Commit graph

475 commits

Author SHA1 Message Date
6ca9b8f037 Bug 8590 - checked out from missing on patron detail
Adding back the line in the script which pulls the name
of the branch where the item was checked out.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-29 18:37:54 +02:00
e31b55de31 Bug 7839 [ENH] : Add tab in patron record to show patron's routing lists
dcook: fixed SQL error and removed blank targets

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

Thanks. Works as described. Valuable addition on patron information
page.

Ideas of enhancement:

- For some library, and some patron, the routing lists table could be
  very long, and a paged table would be a plus.
- In the table, a new Vendor column.
- The possibility to sort the table entries by Title and Vendor column.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-02 11:26:43 +02:00
Paul Poulain
8648c21ddf Merge remote-tracking branch 'origin/new/bug_7955' 2012-08-01 16:07:08 +02:00
Jonathan Druart
934a8a1156 Bug 7955: Followup : Check the syspref value (avoid sql injection)
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Works as expected. Fields with disallowed characters do not show up.
Added 'if $debug' to an pseudo-unconditional warn.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-01 16:06:38 +02:00
b84c772e1b Bug 8392: Avoid having an untranslatable age range
Currently, error message reports an age range in English. For example '0 to
17'. With this patch, the 'to' is not in the .pl file anymore.

Ruth could you sign-off this fix?

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-24 17:20:46 +02:00
D Ruth Bavousett
e6c9b20bdb Bug 8392: Category age ranges not being enforced
This patch works around the redefinition of an array that was causing the
enforcement of age ranges to not-happen.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

I can confirm the bug and the solution.
2012-07-24 17:20:42 +02:00
Paul Poulain
37328c709e Merge remote-tracking branch 'origin/new/bug_8130' 2012-07-23 18:06:50 +02:00
Jonathan Druart
43ad3c3367 Bug 8130: Followup: errors must be a hashref
http://bugs.koha-community.org/show_bug.cgi?id=8130
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-07-23 18:06:31 +02:00
d5c51417b5 Bug 8130: [SIGNED-OFF] Followup - Empty file upload error never displays.
http://bugs.koha-community.org/show_bug.cgi?id=8130
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
2012-07-23 18:06:02 +02:00
Paul Poulain
612b12f41b Merge remote-tracking branch 'origin/new/bug_8251' 2012-07-16 13:46:31 +02:00
9d4e241ada Bug 8251 - Follow up, use 'day' instead of 'days' for Datetime::truncate
As noted in comment #4 by Jonathan Druart, this should be fixed in every call
to DateTie::truncate function. This patch does exactly that.

julian_m tested that truncate( to => 'days' ) didn't actually do anything, so
it is understandable that this 'fix' might introduce new bugs as we might have
'fixed' at a higher libs level this issue.

'minutes' is used in truncate function too, so fixing.

Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-16 13:45:45 +02:00
Marc Veron
45f6b755fa Bug 7563 - Silent print slips using Firefox PlugIn jsPrintSetup and new staff client preference
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-06 18:23:39 +02:00
Mark Tompsett
79b6e864ad Bug 7630 - Warning on moremember.pl about param without key Move "$error => 1," to its own conditional $template->param()
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-03 18:18:35 +02:00
76b80ac33c Bug 8130 - attach PDF files to a patron record
Adds the ability to attach unlimited arbitrary files to
a borrower record.

Test Plan:
1) Enable system preference EnableBorrowerFiles
2) Look up borrower record, click 'Files' tab on left
3) Upload a file, download the file, delete the file.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
rebased for current master.

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
rebased again; some indentation issues in include menus.
2012-06-28 10:55:51 +02:00
Jonathan Druart
3069f1e6d9 Bug 8154: The export today's checked in barcodes generated file is always empty
Comparation of date and datetime is always false

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

Exported file contains the list of checked in items.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-20 23:19:34 +02:00
Jonathan Druart
5e2001a6f8 Bug 7955: Statistics tab for Patron checkouts
This patch adds a new 'statistics' tab in the Patron module.
For a borrower, this tab contains a table with:
- number of checkout for today
- number of checkin for today
- "precedent state", the number of checkouts the patron had yesterday on
  its library card
- "actual state", the number of checkouts on the borrower card at the current date

A new syspref (StatisticsFields) contains a list of fields (separated by
pipe (|) on which the table results is based. The default value is
location|itype|ccode

Signed-off-by: Mathilde Formery <mathilde.formery@ville-nimes.fr>
2012-06-20 21:16:50 +02:00
Ian Walls
d29efac4f3 Talking Tech Support - Phase I
Implements support for Talking Tech I-tiva phone notification for OVERDUE, PREDUE and HOLD notifications.
Overdues respect triggers as configured for the patron's branch.
Predue and Holds notifications respect patron's messaging preference choices.
A new column for phone notification is added if the TalkingTechItivaPhoneNotification system preference is turned on

Record of phone messages being sent to patrons is added to the patron's Notices
tab; notice of success or failure can be retrieved from I-tiva.

See the TalkingTech.README for installation and set-up instructions.

Aside from the control system preference, and the necessary changes to Messaging Preferences
forms to make use of phone notifications, the bulk of the code resides in external
cronjobs.

TalkingTech_itiva_outbound.pl generates the Spec C file to send to I-tiva.  Actual transmission
of the file must be handled by the system administrator.

TalkingTech_itiva_inbound.pl processes the received Results file from I-tiva.  Getting the
file from I-tiva to Koha is the job of the system administrator, as well.

Both scripts have a --help option with full documentation.

The only necessary change to core Koha behavior is in C4::Letters::EnqueueLetter.  The return
value was changed from 0 or 1 (successful addition of letter to message_queue or not), to the actual
insert ID of the letter.  This was required by the outbound script to present a unique Transaction ID
for the notice added to the patron's record (so a 'sent' or 'failed' status could be updated).  Since
the dbh and sth are not shared, and the last_insert_id() command is table-specific, this should be thread-safe.
No changes are necessary to any parts of Koha, as all usage of EnqueueLetter currently ignores the return value.

To Test:

1. Turn on TalkingTechItivaPhoneNotification system preference
2. Verify that 'phone' is now a valid notification option for patrons on both staff and OPAC side
3. Attempt to set a 'phone' preference for PREDUE or HOLD messaging; attempt should succeed
4. Set up the patron for notices to triggers:
   a. include checked out items due in a range of days, including the value set up in their messaging preferences.
   b. place several holds, some in position, others waiting for pickup, others in transit.
   c. set the patron up to have overdues, overdue by a range of days that includes the delay values for
the patrons branch and categorycode
5. Run TalkingTech_itiva_outbound.pl --type=RESERVE --type=PREOVERDUE --type=OVERDUE --outfile=/tmp/talkingtechtest.csv

The resulting talkingtechtest.csv file should include all the items due on X days (where X is the patrons' preference),
and none of the ones due in other increments.  Similarly, overdues messages should be added for each item due by a delay
value as configured; overdues of other numbers of days should be ignore.  Holds that are waiting pick up or in transit should
have messages, those still pending should not.

Messages should be added to the patron's notices tab for each issue sent.  Verify these messages exist, and all Notices
tokens are replaced with appropriate information.

Repeat, this time with 4c making use of the default branch overdue triggers, instead of branch-specific triggers.

To test the inbound script, create a CSV with rows in the format "<<Message_id>>","<<SUCCESS or FAIL>>"
Message ID should correspond to the final column of the talkingtechtest.csv file (the transaction id) for the message.

Primary Authorship: Ian Walls
Additional modifications: Kyle M Hall

http://bugs.koha-community.org/show_bug.cgi?id=4246
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested and in use in production by two public libraries : Middletown
and Washoe. Both have given their sign off, but don't have git to
actually sign off.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-10 17:46:52 +02:00
5e43e2f93d Bug 7951 - Suspending holds needs a system preference
Adds system preferences SuspendHoldsIntranet and SuspendHoldsOpac.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-06-09 18:45:57 +02:00
55b1c06b17 Bug 8057 - Error when adding a patron with email address
Caused by code assuming a the variable $err is a hashref
when it is only a hashref if there is an error.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-22 12:17:49 +02:00
Chris Cormack
7f2ab970da Bug 6679 :[SIGNED-OFF] members dir now passes perlcritic tests
signed-off-by Jonathan Druart <jonathan.druart@biblibre.com>
2012-04-10 13:44:53 +02:00
d1dc3c0c2e Bug 7641 - Add ability to suspend reserves - Followup
* Switch from C4::Dates to $KohaDates
  * Fix 'Resume All Suspended All Requests'
  * Change button text to follow capitalization rules
  * Change 'requests' to 'holds'

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-06 17:23:10 +02:00
Dobrica Pavlinusic
4fe0af468b Bug 7859 - members/pay.pl plack scoping
Variable "$borrowernumber" is not available at /srv/koha/members/pay.pl line 112.
Variable "$borrower" is not available at /srv/koha/members/pay.pl line 129.
Variable "$input" is not available at /srv/koha/members/pay.pl line 142.
Variable "$borrowernumber" is not available at /srv/koha/members/pay.pl line 157.
Variable "$user" is not available at /srv/koha/members/pay.pl line 171.
Variable "$input" is not available at /srv/koha/members/pay.pl line 172.
Variable "$input" is not available at /srv/koha/members/pay.pl line 181.
Variable "$borrowernumber" is not available at /srv/koha/members/pay.pl line 187.
Variable "$branch" is not available at /srv/koha/members/pay.pl line 187.
Variable "$borrowernumber" is not available at /srv/koha/members/pay.pl line 222.
Variable "$input" is not available at /srv/koha/members/pay.pl line 239.
Variable "$borrowernumber" is not available at /srv/koha/members/pay.pl line 246.

Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-04-03 18:13:12 +02:00
f446b3d03d Bug 7641: Suspend Reserves
Adds the ability to suspend reserves. The new system preference
AutoResumeSuspendedHolds enables the ability to set a date for
a suspended hold to automatically be resumed.

When a hold is suspended, it will continue to increase in priority
as the holds above it are fulfilled. If the first holds in line
to be filled are suspended, the first non-suspened hold in line
will be used when an item can fulfill a hold that has been placed.

http://bugs.koha-community.org/show_bug.cgi?id=7641
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested with the preference on and off:
1. placed several holds in the staff client
2. suspended some with a date
3. suspended some without a date
4. triggered hold message by checking in for hold with suspensions
5. the suspended hold was skipped as it should be
6. tested suspending holds in the OPAC w and w/out dates
7. ran the cron to clear suspensions with dates

All the above tests worked as expected. Signing off.
2012-03-29 14:37:49 +02:00
Paul Poulain
d5542514d2 Merge remote-tracking branch 'catalyst/merged_5549' into new/bug_5549
Conflicts:
	installer/data/mysql/updatedatabase.pl
	members/moremember.pl
2012-03-22 17:34:26 +01:00
Dobrica Pavlinusic
4eeb14c52b Bug 7769 - members/pay.pl: $template scoping for plack
Signed-off-by: Matthias Meusburger <matthias.meusburger@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-22 16:28:09 +01:00
Jonathan Druart
bb35b60828 Bug 7154: Modification in borrower attributes
* group some attributes for a more friendly display

* allow a link between a borrower category and an attribute to display
  it only for the specified category

* Attr classes filled with AV 'PA_CLASS' category (you have to create AV
  with a new category 'PA_CLASS' to fill class list)

this patch add 2 fields in borrower_attribute_types :
    category_code
    class

Signed-off-by: Julien Sicot <julien.sicot@gmail.com>

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-22 16:08:28 +01:00
Chris Cormack
0c40ff9f98 Merge remote-tracking branch 'kc/master' into merged_5549
Fixed conflicts

Conflicts:
	catalogue/moredetail.pl
	installer/data/mysql/updatedatabase.pl
	koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt
2012-03-22 09:36:55 +13:00
c5abb58f7c Bug 7597 - Part 4 - Change C4::Acounts::WriteOff to WriteOffFee
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
2012-03-21 17:13:41 +01:00
360e2f82e7 Bug 7597 - Part 3 - fines not recording the right info in the stats table
This commit fixes writeoff_all to write off only the amount outstanding
for each fine being written off, rather than the original amount owed.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested all three patches together and was able to write off single
and multiple fines and the data was correct in the stats table.
2012-03-21 17:13:37 +01:00
db946ffd58 Bug 7597 - Part 2 - move sub writeoff to C4::Accounts
Currently, the subroutine writeoff lives in pay.pl, which
is a violation of the Koha coding guidelines, as it writes
to the database. This commit restructures and moves writeoff
to C4::Accounts::WriteOff(), and modifies pay.pl to use it.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested all three patches together and was able to write off single
and multiple fines and the data was correct in the stats table.
2012-03-21 17:13:33 +01:00
870006e50f Bug 7597 - Part 1 - fines not recording the right info in the stats table
Koha was writing off the value of accountlines.amount rather
than the value of accountlines.ammountoutstanding.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested all three patches together and was able to write off single
and multiple fines and the data was correct in the stats table.
2012-03-21 17:13:31 +01:00
2dc8a260c5 Bug 7310: Improving list permissions: Deleting patron
Implements following points from the wiki page List permissions:
5) Delete or move list information when deleting a patron.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
2012-03-21 16:47:03 +01:00
Elliott Davis
49c35ba38e Bug 5549 : fixed datetime issue so time is shown in output for circulation.pl and moremember.pl 2012-03-20 13:41:25 +13:00
Elliott Davis
5c2662901d Bug 5549 : fixed clone issue in moremember 2012-03-20 13:31:17 +13:00
Colin Campbell
5f8923acbf Bug 5549 : Add Returned, checkout out time to Patron Circ History 2012-03-20 13:22:37 +13:00
Colin Campbell
f74da1e834 Bug 5549 : GetPendingIssues now returns DateTime objects
Show due times in addition to dates in using screens
2012-03-20 12:33:37 +13:00
Colin Campbell
995fa23c3b Bug 5549 : GetPendingIssues now returns duedate as a DateTime object
Change the handling/formatting of duedate in those
scripts calling it
2012-03-20 12:13:43 +13:00
Robin Sheat
4cbeeedbe8 Bug 6296: allow users to be authenticated by SSL client certs
This adds a new syspref: AllowPKIAuth. It can have one of three states:
* None
* Common Name
* emailAddress

If a) this is set to something that's not "None", and b) the webserver
is passing SSL client cert details on to Koha, then the relevant field
in the user's certificate will be matched up against the field in the
database and they will be automatically logged in. This is used as a
secure form of single sign-on in some organisations.

The "Common Name" field is matched up against the userid, while
"emailAddress" is matched against the primary email.

This is an example of what might go in the Apache configuration for the
virtual host:

    #SSLVerifyClient require # only allow PKI authentication
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLCACertificateFile /etc/apache2/ssl/test/ca.crt
    SSLOptions +StdEnvVars

The last line ensures that the required details are
passed to Koha.

To test the PKI authentication, use the following curl command:
    curl -k --cert client.crt --key client.key  https://URL/
(look through the output to find the "Welcome," line to indicate that a user
has been authenticated or the "Log in to Your Account" to indicate that a
user has not been authenticated)

To create the certificates needed for the above command, the following series
of commands will work:
    # Create the CA Key and Certificate for signing Client Certs
    openssl genrsa -des3 -out ca.key 4096
    openssl req -new -x509 -days 365 -key ca.key -out ca.crt
    # This is the ca.crt file that the Apache config needs to know about,
    # so put the file at /etc/apache2/ssl/test/ca.crt

    # Create the Server Key, CSR, and Certificate
    openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key -out server.csr

    # We're self signing our own server cert here.  This is a no-no in
    # production.
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
        -set_serial 01 -out server.crt

    # Create the Client Key and CSR
    openssl genrsa -des3 -out client.key 1024
    openssl req -new -key client.key -out client.csr

    # Sign the client certificate with our CA cert. Unlike signing our own
    # server cert, this is what we want to do.
    openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
        -set_serial 02 -out client.crt
    openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
    # In theory we can install this client.p12 file in Firefox or Chrome, but
    # the exact steps for doing so are unclear, and outside the scope of this
    # patch

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested with Common Name and E-mail authentication, as well as with PKI
authentication disabled. Regular logins continue to work in all cases when
SSL authentication is set to optional on the server.

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA comment: synchronized updatedatabase.pl version of syspref with sysprefs.sql
version, to avoid divergent databases between new and upgrading users.
2012-03-19 17:02:44 +01:00
Jonathan Druart
b1102502aa Bug 6751: Adds a link "Export checkin barcodes" in readingrec
to export a file containing a list of checkin barcode for the current day.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-13 14:49:48 +01:00
Jonathan Druart
9a4873bc4c Bug 7167: Followup: FIX conflicts with Bug 5347
- Fix sql syntax error
- Fix Encoding
- SendAlerts must return an error if no email is defined
- Get error if no email in memberentry

http://bugs.koha-community.org/show_bug.cgi?id=7001
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-13 12:27:13 +01:00
Srdjan Jankovic
a9ded4fa00 bug_7001: Issue and Reserve slips are notices.
Branches can have their own version of notices - added branchcode to
letter table.
Support html notices - added is_html to letter table.
Support for borrower attributes in templates.
GetPreparedletter() is the interface for compiling letters (notices).
Sysprefs for notice and slips stylesheets
Added TRANSFERSLIP to the letters

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-03-09 10:11:20 +01:00
a958d0a685 Bug 7544 - Add ability search borrowers only on email / phone
This commit adds a new pulldown field to the patron quick search.
This pulldown "Search Fields" can have any number of field combinations
to search on. The combinations added in this commit are:

Standard: Default, searches on original fields
Email: Searches on email, emailpro, and B_email
Borrower Number: Searches on borrowernumber
Phone Number: Searches on phone, phonepro, B_phone, altcontactphone, and mobile

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested by running searches on all the new fields, and the old fields
with limits on branch and category. The seach on phone number could be
a bit more inclusive, but it works with and without symbols so I
give my sign off on this patch.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Documentation should note that phone numbers should be searched only on the
numbers of a phone number, and separate the area code and exchange with spaces,
regardless of how the number is entered in the database.

So no dashes or parentheses in the phone search, and the last 7 search works with spaces, i.e. xxx xxxx.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-27 18:25:26 +01:00
Maxime Pelletier
1d72628380 Bug 6718 No manager_id saved for writeoff fines.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested per test plan.
Passes prove xt t t/db_dependent

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-16 18:48:14 +01:00
4a6ec50c62 Fix for Bug 5280 - Fix password field so that the password is masked as it is entered
This patch changes the password field to a password type input on
member-password.pl and adds a confirmation field to both member-password.pl
and memberentry.pl requiring that the password be re-entered to
confirm.

Client-side and server-side validation for the two password fields has been added
to both pages. Multiple error messages can now be displayed together on
member-password.pl.

If the user wishes for Koha to suggest a random password on member-password.pl
they can click a link which will remove the password-type input fields, replace
them with text-type fields, and automatically fill them with the random
password suggestion.

Follow-up fix lets the members.js correctly handling errors when there are
no mandatory fields

LR followup: fixing slight error that corrects previously reported template error.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested password setting/changing utilities - all work as expected and described.
Passes prove t xt t/db_dependent tests congruent with current master failures (adds no new fails).

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-13 16:39:59 +01:00
Paul Poulain
de7867eead Merge remote-tracking branch 'origin/new/bug_6964' 2012-02-03 09:19:04 +01:00
20e8aab5b9 6964 Follow-up typo borrowenumber 2012-02-03 09:17:51 +01:00
Paul Poulain
8dc85214be Merge remote-tracking branch 'origin/new/bug_7190' 2012-02-02 18:17:42 +01:00
Paul Poulain
2e4cd0ada3 Bug 6964 follow-up
Seems everybody forgot to test paycollect, as there was a syntax error !
2012-02-02 16:22:24 +01:00
Srdjan Jankovic
6b092f0e27 bug_7190: Do not reverse writeoffs when item is returned
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-02 14:21:08 +01:00
Aleksa Vujicic
3982d97af3 Bug 6964 - 'Add child' function should be dependant on system preference 'borrowerRelationship'
The 'Add Child' button is not shown if 'borrowerRelationship' is empty.

System preference description changed.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-02-02 11:36:05 +01:00