Skip to main content

pd.prenotazioni: a Plone product for booking

Project description

.. contents::

Introduction
============

A **booking product for Plone** to reserve time slots throughout the week.


Customizations
==============

This product is an extension that customizes `rg.prenotazioni`__

__ https://pypi.python.org/pypi/rg.prenotazioni


Booking folder content type
---------------------------

This package provides an extender to add the fields:

1. required_booking_fields
2. 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:

1. Yes
2. No
3. No, just for today

If 1. is selected the default behavior of
`rg.prenotazioni`__
is maintained: users cannot reserve a booking today.

__ https://pypi.python.org/pypi/rg.prenotazioni

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.

__ https://github.com/PloneGov-IT/rg.prenotazioni/blob/master/rg/prenotazioni/browser/prenotazioni_context_state.py#L59

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]

__ https://github.com/PloneGov-IT/rg.prenotazioni/blob/master/rg/prenotazioni/browser/prenotazioni_context_state.py#L59


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}`

__ https://pypi.python.org/pypi/collective.contentrules.mailfromfield


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 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`__

__ http://iamceege.github.io/tooltipster/


Credits
=======

Developed with the support of `Comune di Padova`__;
Comune di Padova supports the `PloneGov initiative`__.

.. image:: https://raw.githubusercontent.com/PloneGov-IT/pd.prenotazioni/master/docs/logo-comune-pd-150x200.jpg
:alt: Comune di Padova's logo

__ http://www.padovanet.it/
__ http://www.plonegov.it/


Authors
=======

This product was developed by RedTurtle Technology team.

.. image:: http://www.redturtle.it/redturtle_banner.png
:alt: RedTurtle Technology Site
:target: http://www.redturtle.it/



Change history
**************



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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pd.prenotazioni-1.3.1.tar.gz (63.3 kB view details)

Uploaded Source

File details

Details for the file pd.prenotazioni-1.3.1.tar.gz.

File metadata

File hashes

Hashes for pd.prenotazioni-1.3.1.tar.gz
Algorithm Hash digest
SHA256 926b04133054928d3952a4ef7322eb87698ce78530cb6e3ff504b650d7742074
MD5 e357af39a9e8ee6f24163388b76dde2b
BLAKE2b-256 54c19c03d5fd7a628cce2421f7cc33dc33240a3d56342e6c8772d3b03dac770f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page