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.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


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.4.0.tar.gz (63.4 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for pd.prenotazioni-1.4.0.tar.gz
Algorithm Hash digest
SHA256 f511738858b066a18eb38e8031e5791279423e75f1d24fc676bb710a14cc0797
MD5 79e1f32f644dd6083362b3818958fe93
BLAKE2b-256 d94b7d6343824c5f835333d4c31a0479a0eb0593fe04027acf44d80b82fd2c26

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