Skip to main content

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:

  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.

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

Credits

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

Comune di Padova's logo

Authors

This product was developed by RedTurtle Technology team.

RedTurtle Technology Site :target: http://www.redturtle.it/

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


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.6.1.tar.gz (72.4 kB view hashes)

Uploaded Source

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