pd.prenotazioni: a Plone product for booking
Project description
Introduction
A booking product for Plone to reserve time slots throughout the week.
Customizations
This product is an extension that customizes rg.prenotazioni
Booking folder content type
This package provides an extender to add the fields:
required_booking_fields
same_day_booking_disallowed
The field “required_booking_fields” allows to specify which of the fields:
email
mobile
phone
subject
agency
should be mandatory for a booking request to be accepted. In any case at least one between email, mobile and phone should be given at booking time.
The field “same_day_booking_disallowed” has 3 possible states:
Yes
No
No, just for today
If 1. is selected the default behavior of rg.prenotazioni is maintained: users cannot reserve a booking today.
Options 2. and 3. instead allow the reservation.
prenotazioni_context_state
Extends the rg.prenotazioni homonymous view in order to override the minimum date since when it is possible to reserve a booking.
Extends the rg.prenotazioni homonymous view in order to override the attribute add_view. If a parameter called form.add_view is passed, it will be used as the add form for a booking object.
We use this in combination with an apache rewrite rule that injects in the request the parameter with the value prenotazioni_add_ro:
RewriteCond %{QUERY_STRING} !((.*)form_add_view=(.*)) RewriteRule ^/path_to_enable_custom_form/(.*) /notheme/$1?form.add_view=prenotazione_add_ro [QSA]
Custom mail action
The product overrides the mail action defined by collective.contentrules.mailfromfield, providing additional markers dedicate to the booking product:
${gate}
${date}
${time}
${type}
Booking PDF receipt
There is a view called prenotazione_print_pdf that uses reportlab to create a high quality PDF file with the details of the booking.
Since version 1.5.0, the logo is optional and configurable.
The logo can be customized adding to the instance part of your buildout this snippet:
zope-conf-additional += <product-config pd.prenotazioni> logo file://${buildout:directory}/resources/logo-print-pdf.png </product-config>
the value for the logo property should be a valid URL, e.g.:
Custom event log
The product registers, optionally, some events to an external logfile:
booking creation
booking workflow state modification
booking date/time modification
In order to track modification the product adds the booking content type to the reposository tool.
The custom event log has to be enabled setting a custom property logfile, adding to the instance part of your buildout this snippet:
zope-conf-additional += <product-config pd.prenotazioni> logfile ${buildout:directory}/var/log/prenotazioni.log </product-config>
Event log views
The logged events can also be viewed online using thew booking_stats form.
The form displays to the user the data of the agendas he can manage contained under the context path.
Calling this view on the root of the Plone site return data from all the manageable agendas.
The view displays data in a table and provides a link and an action for downloading the logged events in a csv file.
There is also a view, called booking_stats_delete, that will delete all the log entry inserted before the specified date.
Customized Searchable text
Searchable text for booking objects is customized in order to add the modification comments to the index.
The product removes from the booking searchable text those fields:
gate
subject
location
Popup with tooltipster
The product adds to the agenda some pop-ups using the library tooltipster
Credits
Developed with the support of Comune di Padova; Comune di Padova supports the PloneGov initiative.
Change history
1.6.1 (2022-07-08)
Fix typo. [cekk]
1.6.0 (2022-07-08)
Monkeypatch for __sub__ method in BaseSlot. [cekk]
1.5.0 (2016-03-16)
New:
The logo for the pdf is now configurable through zope.conf [ale-rt]
1.4.0 (2016-03-15)
Try to support all versions of collective.fontawesome [ale-rt, pnicolli]
Improved logo quality in pdf printout [ale-rt, pnicolli]
1.3.1 (2015-08-10)
Properly set encoding to utf8 when registering pdf view [ale-rt]
1.3.0 (2014-11-06)
user_can_search method moved to prenotazioni_context_state.
1.2.3 (2014-09-15)
Fix csv encoding.
Modified content_rules patch [ale-rt]
1.2.2 (2014-09-12)
When deciding the required fields in prenotazione_add form don’t touch some fields [ale-rt]
1.2.1 (2014-09-11)
Look for permission in context_state view [alert]
1.2.0 (2014-09-10)
Requires rg.prenotazioni >= 3.5.0
Adds with an extender the capability to make reservation for the same day
Adds with an extender the capability to specify the fields required at booking time
Handling statistics [alert]
1.1.1 (2014-06-23)
Fix encoding problem.
1.1.0 (unreleased)
Index also revision history
Added Tooltipster [alert]
1.0.1 (2014-06-04)
Patch per gestione di contentrules
Modified search results for prenotazioni
Small modifications on pdf
Added a confirmation page for anonymous users.
Readers can search bookings
Requires rg.prenotazioni > 3.3.0.dev0 [alert]
1.0.0 (2014-05-05)
Upgrade step for repositorytool profile [nicolasenno]
Added to logger detail about modification, old value new value [nicolasenno]·
Added logger for IPrenotazione objects modification [nicolasenno]
Patching Prenotazione schema to allow modification to prenotazione objects without email [alert]
Removed buttons from the folder_contents view of PrenotazioniFolder [alert]
Removed actions menu for Prenotazione [alert]
Aggiunto validatore campi email, telefono e cellulare in form richiesta prenotazioni [nicolasenno]
Added events logger for IPrenotazione [nicolasenno]
Rimosso campo email obbligatorio form richiesta prenotazioni [nicolasenno]
Added event handler logger
Package created using templer [RedTurtle Technology]
Download
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.