vivutio / sourcing-module
Sourcing for vivutio: rooms requested from the accommodation partners an organization trades with, sent through the partner channel, and their replies recorded.
Package info
github.com/utafitilabs/vivutio-sourcing-module
Type:symfony-bundle
pkg:composer/vivutio/sourcing-module
Requires
- php: >=8.4
- doctrine/doctrine-bundle: ^3.0
- doctrine/orm: ^3.5
- psr/clock: ^1.0
- symfony/clock: ^8.0
- symfony/config: ^8.0
- symfony/dependency-injection: ^8.0
- symfony/framework-bundle: ^8.0
- symfony/http-foundation: ^8.0
- symfony/http-kernel: ^8.0
- symfony/routing: ^8.0
- symfony/security-bundle: ^8.0
- symfony/security-core: ^8.0
- symfony/security-csrf: ^8.0
- symfony/security-http: ^8.0
- symfony/twig-bundle: ^8.0
- symfony/uid: ^8.0
- twig/twig: ^3.21
- vivutio/vivutio: ^0.1.33
Requires (Dev)
- doctrine/doctrine-migrations-bundle: ^4.0
- friendsofphp/php-cs-fixer: ^3.95
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^13.2
- symfony/browser-kit: ^8.0
- symfony/css-selector: ^8.0
- symfony/dom-crawler: ^8.0
- symfony/filesystem: ^8.0
- symfony/yaml: ^8.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Sourcing for vivutio. Rooms requested from the camps and lodges an organization trades with: sent through the core's partner channel, the camp's reply recorded, every step kept on the request.
Contents
Install
In a vivutio installation:
composer require vivutio/sourcing-module php bin/console doctrine:migrations:migrate
Its recipe registers the bundle and mounts its pages with
config/routes/sourcing.yaml, a file the installation owns.
How it works
A request asks an accommodation partner (a partner kept in the core as accommodation, traded with now) to hold rooms: for whom, arriving when, for how many nights, and up to four lines of rooms ("2 × Double"). It is referred to as "RQ-0001".
It is sent as it is made, through the core's PartnerChannelInterface: by
the manual channel, an email to the partner's address with the reference in
the subject. The camp's reply is recorded by hand: confirmed, with the
camp's own reference, or declined, with a note. A request waiting or confirmed
is cancelled with a message to the camp saying so. Each step is kept on the
request, with who took it and when.
The module names no other module; it reads partners through the core's
PartnerDirectoryInterface and keeps only a partner's id.
On the organization's dashboard it puts one card through the core's
DashboardSourceInterface, for whoever may read room requests: "Waiting on a
reply", the requests sent and not yet answered, the longest waiting first, five
at most, each with how long it has waited (from three days on, in amber), and
a door to the register's requested ones.
Who may do what
| Pair | Who |
|---|---|
room_requests.read |
The register and a request's page |
room_requests.record |
Sending a new request |
room_requests.manage |
Recording replies and cancelling |
Each is a module pair, held where the person's department allows it too. The
suite extends the core's authority test base; tests/authority-table.md is
the reviewed table.
Development
composer update composer check
Licence
AGPL-3.0-or-later. See LICENSE.