plone-ve / design.plone.ioprenoto

This product is designed to integrate redturtle.prenotazioni package with design.plone.contenttypes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Latest Version Supported - Python Versions Number of PyPI downloads License Tests Coverage

Design Plone Io-Prenoto

This product is designed to integrate redturtle.prenotazioni package with design.plone.contenttypes

PrenotazioniFolder additional fields

There is a behavior that adds some additional fields:

  • Uffici correlati
  • Orario di apertura

Rest API

Servizio serializer

There is a customization of Servizio serializer that adds an additional field:

  • referenced_by_prenotazioni_folder which idicates if it has backreferences to PrenotazioniFolder (design.plone.ioprenoto) throught correlated UO (with "Uffici correlati" field)

PrenotazioniFolder serializer

There is a customization of PrenotazioniFolder serializer that redirects to '/prenotazione-appuntamento' if the user has not design.plone.ioprenoto.ManagePrenotazioni.

@bookable-uo-list

Endpoint that returns a list of UnitaOrganizzativa contents that have at least one PrenotazioniFolder that relates to it (with "Uffici correlati" field).

Parameters:

  • uid: The uid of a Servizio.

The endpoint can be called with a GET request:

curl -i http://localhost:8080/Plone/@bookable-uo-list -H 'Accept: application/json'

Response:

{
    "@id": "http://localhost:8080/Plone/@bookable-uo-list",
    "items": [
      {
        "@id": "...",
        "title": "...",
        "id": "...",
        "prenotazioni_folder": [
          {
            "@id": "http://localhost:8080/Plone/prenotazioni-folder",
            "address": {
              "@id": "http://localhost:8080/Plone/a-venue",
              "@type": "Venue",
              "city": "Ferrara",
              "geolocation": {
                "latitude": 1111,
                "longitude": 2222,
              },
              ...
            }
          }
        ],
      }
    ]
}

If uid parameter is passed, only UnitaOrganizzative related to that Servizio (with canale_fisico relation field) will be returned.

@bookable-list

Endpoint that returns a list of Bookable.

The endpoint can be called with a GET request:

curl -i http://localhost:8080/Plone/@bookable-list -H 'Accept: application/json'

Response:

{
    "@id": "http://localhost:8080/Plone/@bookable-list",
    "items": [
      {
        "@id": "...",
        "title": "...",
        "url": "...",
        "booking_types": [],
      }
    ]
}

Installation

Install design.plone.ioprenoto by adding it to your buildout:

[buildout]

...

eggs =
    design.plone.ioprenoto

and then running bin/buildout

Contribute

Notes

design.plone.ioprenoto has been tested with Plone 6 and works with Python 3.

Authors

This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

About

This product is designed to integrate redturtle.prenotazioni package with design.plone.contenttypes

License:GNU General Public License v2.0


Languages

Language:Python 94.7%Language:RobotFramework 4.3%Language:Shell 1.1%