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.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.0.zip (94.7 kB view details)

Uploaded Source

File details

Details for the file pd.prenotazioni-1.3.0.zip.

File metadata

File hashes

Hashes for pd.prenotazioni-1.3.0.zip
Algorithm Hash digest
SHA256 2ec0a18a0354e1352f85c28aea073f35514a2627b429d2e73358481ec5059516
MD5 8d30dbf25148711cc64b55bfce8a5a50
BLAKE2b-256 45b65ac68f6a1de3fa4bb5a4128a45992f6dafbbbb5929f392d191fb04609134

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