Skip to content

Commit 17c4274

Browse files
committed
Merge branch 'release/3.18.0'
2 parents a79a9b9 + f4f574f commit 17c4274

22 files changed

+1579
-1
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ before starting to add changes. Use example [placed in the end of the page](#exa
1111

1212
## [Unreleased]
1313

14+
## [3.18.0] 2024-12-05
15+
16+
- Added `os2forms_fasit` module.
17+
1418
## [3.17.0] 2024-11-21
1519

1620
- Updated `os2web/os2web_audit` version
@@ -297,7 +301,8 @@ before starting to add changes. Use example [placed in the end of the page](#exa
297301
- Security in case of vulnerabilities.
298302
```
299303

300-
[Unreleased]: https://github.com/OS2Forms/os2forms/compare/3.17.0...HEAD
304+
[Unreleased]: https://github.com/OS2Forms/os2forms/compare/3.18.0...HEAD
305+
[3.18.0]: https://github.com/OS2Forms/os2forms/compare/3.17.0...3.18.0
301306
[3.17.0]: https://github.com/OS2Forms/os2forms/compare/3.16.2...3.17.0
302307
[3.16.2]: https://github.com/OS2Forms/os2forms/compare/3.16.1...3.16.2
303308
[3.16.1]: https://github.com/OS2Forms/os2forms/compare/3.16.0-beta1...3.16.1

modules/os2forms_fasit/README.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# OS2Forms Fasit
2+
3+
Adds [Fasit Schultz](https://schultz.dk/loesninger/schultz-fasit/)
4+
handler for archiving purposes.
5+
6+
For usage in danish, see [BENYTTELSE](docs/BENYTTELSE.md).
7+
8+
## Installation
9+
10+
```sh
11+
drush pm:enable os2forms_fasit
12+
```
13+
14+
## Settings
15+
16+
Configure Fasit API `base url` and a way of getting
17+
certificate on `/admin/os2forms_fasit/settings`.
18+
19+
### Certificate
20+
21+
The certificate must be in `pem` or `cer` format and
22+
must be whitelisted by Fasit Schultz.
23+
For this the certificate thumbprint,
24+
in lowercase and without colons, is needed.
25+
To get the thumbprint in the correct format from the command line run
26+
27+
```sh
28+
openssl x509 -in SOME_CERTIFICATE.pem -noout -fingerprint | cut -d= -f2 | sed 's/://g' | tr '[:upper:]' '[:lower:]'
29+
```
30+
31+
Example output
32+
33+
```sh
34+
6acb261f393172d87fa3997cec86569759a8528a
35+
```
36+
37+
## Queue
38+
39+
Archiving is done via an
40+
[Advanced Queue](https://www.drupal.org/project/advancedqueue)
41+
called `fasit_queue`.
42+
43+
The queue should be processed with `drush`:
44+
45+
```sh
46+
drush advancedqueue:queue:process fasit_queue
47+
```
48+
49+
List the queue (and all other queues) with
50+
51+
```sh
52+
drush advancedqueue:queue:list
53+
```
54+
55+
or go to `/admin/config/system/queues/jobs/fasit_queue`
56+
for a graphical overview of jobs in the queue.
57+
58+
### Cronjob
59+
60+
Consider running the queue via a cronjob.
61+
62+
```cron
63+
*/5 * * * * /path/to/drush advancedqueue:queue:process fasit_queue
64+
```
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
langcode: da
2+
status: true
3+
dependencies: { }
4+
id: fasit_queue
5+
label: 'Fasit Queue'
6+
backend: database
7+
backend_configuration:
8+
lease_time: 300
9+
processor: daemon
10+
processing_time: 280
11+
locked: false
12+
threshold:
13+
type: 0
14+
limit: 0
15+
state: all
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# OS2Forms Fasit
2+
3+
Modulet OS2Forms Fasit giver muligheden for at videresende et genereret
4+
indsendelsesbilag til en borger i fagsystemet Fasit Schultz.
5+
6+
## Krav
7+
8+
For at kunne snakke sammen med Fasit skal kommunen og Fasit først indbyrdes
9+
aftale hvilke certifikater der anvendes. Disse certifikater skal være OCES-3,
10+
f.eks. FOCES-3, og skal bruges i pem- eller cer-format.
11+
12+
Dernæst oplyses det anvendte certifikats thumbprint eller public-key til Fasit,
13+
som derefter aktiverer snitfladen. Se evt.
14+
[README#certificate](../README.md#certificate)
15+
for hvordan et certifikats thumbprint kan findes gennem kommandolinjen.
16+
17+
## Konfiguration
18+
19+
Integrationen konfigureres under
20+
**Indstillinger** > **OS2Forms Fasit** (/admin/os2forms_fasit/settings).
21+
Her skal følgende sættes op:
22+
23+
* Fasit API base url
24+
* Basis url’en til Fasit. Denne specificeres af Fasit.
25+
* Eksempel: https://webservices.fasit.dk/
26+
* Fasit API tenant
27+
* Fasit tenant. Denne specificeres af Fasit.
28+
* Eksempel: aarhus
29+
* Fasit API version
30+
* Hvilken version af af API’et der skal bruges. Her er mulighederne ’v1’ eller ’v2’. Der bør altid bruges ’v2’.
31+
* Eksempel: v2
32+
* Certificate
33+
* Her kan angives detaljer til et azure key vault hvori certifikatet ligges (Azure key vault) eller en sti direkte til certifikatet (Filsystem)
34+
* Passphrase
35+
* Passphrase til certifikatet, hvis sådan et eksisterer.
36+
37+
38+
Se evt. Fasit Scultz dokumentationen for flere detaljer på opbygningen af endpoint url’er.
39+
40+
Det er desuden muligt at teste om os2forms kan få fat i certifikatet på samme konfigurations-side.
41+
42+
## Handler
43+
44+
For at videresende noget til Fasit skal der på formular niveau opsættes en ’Fasit’-handler.
45+
Dette gøres på en formular under Indstillinger > Emails/Handlers > Add handler.
46+
På denne konfigureres følgende:
47+
48+
* Document title
49+
* Dokumentets titel i Fasit
50+
* Document description
51+
* Dokumentets beskrivelse i Fasit
52+
* CPR element
53+
* Elementet der indeholdender det CPR-nummer der skal videresendes til i Fasit.
54+
* Her kan benyttes enten ’textfield’, ’os2forms_nemid_cpr’ eller ’os2forms_person_lookup’.
55+
* Attachment element
56+
* Elementet der står for at oprette et OS2Forms attachment, altså et ’os2forms_attachment’-element.
57+
58+
Alle felter er obligatoriske.
59+
60+
Når der indsendes en formular bliver et ‘job’ sat i en kø.
61+
Videresendelsen til Fasit sker først når dette job køres.
62+
Se [README#queue](../README.md#queue) for flere detaljer.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: 'OS2Forms Fasit'
2+
type: module
3+
description: 'Fasit integration'
4+
package: OS2Forms
5+
core_version_requirement: ^9 || ^10
6+
dependencies:
7+
- drupal:webform
8+
- drupal:advancedqueue
9+
- os2forms:os2forms_attachment
10+
configure: os2forms_fasit.admin.settings
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
os2forms_fasit.admin.settings:
2+
title: OS2Forms Fasit
3+
description: Configure the OS2Forms Fasit module
4+
parent: system.admin_config_system
5+
route_name: os2forms_fasit.admin.settings
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
os2forms_fasit.admin.settings:
2+
path: '/admin/os2forms_fasit/settings'
3+
defaults:
4+
_form: '\Drupal\os2forms_fasit\Form\SettingsForm'
5+
_title: 'Fasit settings'
6+
requirements:
7+
_permission: 'administer site configuration'
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
services:
2+
Drupal\os2forms_fasit\Helper\Settings:
3+
arguments:
4+
- "@keyvalue"
5+
6+
Drupal\os2forms_fasit\Helper\CertificateLocatorHelper:
7+
arguments:
8+
- "@Drupal\\os2forms_fasit\\Helper\\Settings"
9+
10+
Drupal\os2forms_fasit\Helper\FasitHelper:
11+
arguments:
12+
- '@http_client'
13+
- '@entity_type.manager'
14+
- "@Drupal\\os2forms_fasit\\Helper\\Settings"
15+
- "@Drupal\\os2forms_fasit\\Helper\\CertificateLocatorHelper"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace Drupal\os2forms_fasit\Exception;
4+
5+
/**
6+
* Certificate locator exception.
7+
*/
8+
class CertificateLocatorException extends Exception {
9+
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace Drupal\os2forms_fasit\Exception;
4+
5+
/**
6+
* Certificate locator exception.
7+
*/
8+
class Exception extends \Exception {
9+
10+
}

0 commit comments

Comments
 (0)