Booking product for Plone
Project description
A booking product for Plone which allows to reserve time slots throughout the week.
Installation
Add rg.prenotazioni to the egg section of your instance:
[instance] eggs= ... rg.prenotazioni
Introduction
This product introduces two new content types to your Plone site:
Booking
Booking Folder
Booking content
Booking is a content type used to store information about reservation.
The product interface provides a way to add new booking elements, by clicking on one of the plus signs available in the slots calendar as shown below:
Each booking element once created is storerd into its own Booking Folder.
Booking Folder content
Booking Folder is a folderish content type which store your Booking objects.
Using rg.prenotazioni
Creating a new Booking Folder
If the product is correctly installed the Booking Folder entry is available on the add new action menu. Click on it to add a new booking folder content.
Saving the form a new booking folder will be created.
Here below the edit page:
Since version 2.1 new functionalities has been added to the folder configuration:
more then one gate can be handled
booking vacations supports also bookings with no gate assigned
Since version 3.0 the agenda has: - a new user interface - allows custom duration for booking types
Creating a new booking content
Anonymous and authenticated users are allowed to add new booking content by clicking on the plus signs on the default booking folder view.
After its creation the slot will be displayed as “busy” for anonymous user and the slot won’t be available anymore.
Back-end users can see and manage the reservation according to the assigned Plone roles.
Here below a screenshot of the edit page:
Since version 2.1: - captcha has been added for anonymous users. - booking content can be added only from the view folder links. - booking can’t be added in the past anymore.
Backend view
The backend view is quite different from the anonimous user view.
Workflow
The product comes with its own workflow “prenotazioni_workflow”.
Since versione 2.1 a new states has been added. Here below a list of all the states available:
Private: booking object initial state:
submit (Automatic transition to pending)
Pending
Transaction available:
publish (to published)
refuse (to refused)
Published
Transaction available:
refuse (to refused)
Refused
Transaction available:
restore (to pending)
Managers can confirm a Booking using workflow transitions. The workflow transition triggers an email to be sent to the booker (see below).
Content Rules (mail notifications)
There are additional content rules that can be used to notify booking owner when his booking has been accepted or re-scheduled.
Rules are not automatically as of version 3.x. They are imported by a separate generic setup profile.
There’s also a rule that can warn the Booking Folder responsible when new booking are created, but you need to manually enable it on folders.
Vacations
You can specify days when the Booking Folder will not accept bookings. Those days are called “Vacation days”. Vacation days can be specified compiling the “Vacation days” field in the Booking Folder edit form. Values are allowed in the format DD/MM/YYYY. Instead of the year you can put an asterisk, in this case every here the day DD of month MM will be considered a vacation day.
It is also possible to specify a vacation period for a single gate using the vacation booking form.
Searching
Using the prenotazioni_search view it is possible to search bookings within a given time interval. You can also filter the results specifying a searchable text, a gate or a review state.
Notes
rg.prenotazioni 3.x has been tested with Plone 4.2 and Plone 4.3 and works with Python 2.7.
rg.prenotazioni 2.x has been tested with Plone 4.2 and works with Python 2.6 and 2.7.
rg.prenotazioni 1.x has been tested with Plone 3 and works with Python 2.4.
TODO
i18n support is uncomplete
Switch use of session to cookies (done)
Tests!
Credits
Developed with the support of:
All of them supports the PloneGov initiative.
Changelog
3.6.1 (2016-03-15)
Applying localization for jWuery.dateinput at document ready is too late [ale-rt]
3.6.0 (2016-03-15)
New:
Updated requirements:
Products.DataGridField >= 1.9.0
Support recent versions of collective.fontawesome
Fix:
Surround with quotes a jQuery selector to avoid errors [ale-rt]
3.5.3 (2014-09-29)
Fix encoding problem in prenotazione_print view [ale-rt]
3.5.2 (2014-09-12)
Fix prenotazione_move view broken after 3.5.1 release [ale-rt]
3.5.1 (2014-09-11)
Look for permission in context_state view [ale-rt]
3.5.0 (2014-09-10)
Added methods to prenotazioni_context_state, some of them moved from conflict manager.
Fix default not set in AT Prenotazione schema
Moved some properties from week view to the most accurate prenotazioni_context_state
Restored the capability to exclude Prenotazioni folder from navigation [ale-rt]
3.4.1 (2014-06-23)
Fix encoding problem. [ale-rt]
3.4.0 (2014-06-17)
jslinting
Fix unquoted parenthesis in searchable text searchs
Added staff_notes field in prenotazione
Prenotazione view also displays mobile number [ale-rt]
3.3.0 (2014-06-04)
Added view rg.prenotazioni.dateinput.conf.js
BUGFIX: slot comparison was not taking into account the context
Use calendar popup when booking vacations
Search bookings by review state and on gate
Use calendar popup from jquery tools for inputs with class rg-dateinput
Upgrade step to reindex Subject index
Added rg.prenotazioni.booking_review_states vocabulary
Booking Subject field is now filled with the gate
Added portal state view for prenotazioni
Added an attribute on the week view to control who can access prenotazioni_search view (by default the user who can edit the prenotazioni folder)
Use wildcars to identify holidays
Get_day_intervals returns also the break as a slot
Fix booking allowed during the lunch break
Add a title with an indication of the booking time for anonymous booking links [ale-rt]
3.2.1 (2014-05-12)
Don’t check for roles if user is anonymous [ale-rt]
3.2.0 (2014-05-12)
If a user can edit the Prenotazioni folder has the rights to manage the agenda
If a user has the “Reader” role has the rights to inspect Prenotazione objects [ale-rt]
3.1.1 (2014-05-12)
Method user_can_manage was called on view instead of week_view [ale-rt]
3.1.0 (2014-05-06)
Handle the reader role in prenotazioni_week_view. [ale-rt]
3.0.0 (2014-05-05)
Features:
Completely redesigned UI: now we have completely different experiences for backend and frontend users
Support booking types with different duration
Search view for Bookings inside a Booking Folder
Commits:
Fix unicode issue in upgrade_tipologia [alert]
Fix redirect after exception message in prenotazioni_move [nicolasenno]
Fix check conflicts on prenotazione_move [nicolasenno]
Added legend to prenotazione_folder [nicolasenno]
Fix redirect in prenotazioni_move [nicolasenno]
Fix some i18n translations [nicolasenno]
Added search pagination [nicolasenno]
Added upgrade step for “tipologia” field in prenotazioni_folder [nicolasenno]
Added upgrade step for “settimana_tipo” in prenotazioni_folder [nicolasenno]
Modified settimana_tipo colunms in prenotazioni_folder [nicolasenno]
Added expiration field to IPrenotazione content type and created the upgrade step for its value [nicolasenno]
Adding new portal types PrenotazioniWeek, PrenotazioniYear, PrenotazioniDay
Added the concept of slots
Adding a new week view for booking managers
Depends on plone.api, pyinter, [alert]
2.1 (2013-09-12)
Fix cancel action on new booking [nicolasenno]
Fix booking visualization issue on PM time [nicolasenno]
Fix check booking not available [nicolasenno]
Fix slot visualization for both anonymous and logged [nicolasenno]
View for booking vacations supports also gateless bookings [alert]
Implemented view for booking vacations [alert]
Slot calculation made in prenotazioni state view [alert]
Added parameter force_gate in booking creation [alert]
Added utility time2timedelta [alert]
Fix CSS table prenotazioni [nicolasenno]
Hide refused review_state slots for anonymous users [alert]
Fix review_state refused permissions [alert]
Correctly take into account futureDays parameter [alert]
Temporarily enabled actions menu [nicolasenno]
Don’t check overbooking in Prenotazione post_validate [alert]
Fix the review_state after copy [alert]
Added new workflow transition and its upgrade step [nicolasenno]
Added fields validation (email, phone) for prenotazioni form [nicolasenno]
Modified contentrules [nicolasenno]
Modified workflow to add refused state [nicolasenno]
We can add prenotazioni only through the calendar links [alert]
Anonymous users can book again [alert]
Autoinclude dependencies zcml [alert]
Use captchas for anonymous users [alert]
Upgrade step for installing quintagroup.formlib.captcha [alert]
Removed customized createObject view [alert]
We can now handle more than one gate [alert]
Overbooking validation handled through an adapter [alert]
Do not allow users to add stuff in the past [alert]
2.0 (2013-05-03)
Plone 4 support added [cekk]
Added Site Administrator role in rolemap and workflows [cekk]
Fixed translation for month in folder view [cekk]
Fixed mailhost send method (removed securesend) [cekk]
Created new event raised when a booking is rescheduled [cekk]
Added new contentrule that notify an user when his booking has re-scheduled [cekk]
Added locales support [cekk]
Fixed layout styles and accessibility [keul]
Do not show reservation object in navigation [keul]
Removed useless portal_skins elements [keul]
Removed bad ploneCustom.css css, moved to a dedicated CSS [keul]
Content types are now in english and translated [keul]
PrenotazioniFolder end date is not required anymore (folder can now never expire) [keul]
Can’t booking in past slots anymore [keul]
Addable types filtered [keul]
Removed use of the SESSION object for saving booking date [keul]
Removed workflow for PrenotazioniFolder; use default ones [keul]
removed hard-coded content rules, now we have a dependency on collective.contentrules.mailfromfield [keul]
Removed the need of an additional date index: now we use Date [keul]
Removed totally useless viewlets [keul]
On Plone 3, switched to LargePloneFolder. Warning: this change will totally brake old 1.x installation on Plone 3.
Added futureDays field and feature [keul]
Changes to prenotazioni_workflow: removed useless permissions [keul]
1.0.2 (2012/09/07)
Minor fixes for public release
1.0.1 (2012/01/24)
Fix overbooking (#127)
1.0 (2011-11-30)
Initial release
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.