Skip to content

Commit dd2a971

Browse files
committed
os2forms_fordelingskomponent
# Conflicts: # README.md
1 parent fcfcf3e commit dd2a971

23 files changed

Lines changed: 1612 additions & 0 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
vendor
2+
composer.lock

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,10 @@
11
# Fordelingskomponent for Drupal
2+
3+
## Example keys
4+
5+
| Key | Type | Provider |
6+
|-------------------------|----------------|----------|
7+
| SF2900 Certificate | Certificate | File |
8+
| SF2900 SFTP private key | Authentication | File |
9+
10+
Note: The "SFTP private key" key must be passwordless.

Taskfile.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# https://taskfile.dev
2+
3+
version: '3'
4+
5+
tasks:
6+
compose:
7+
cmds:
8+
- docker compose {{.TASK_ARGS}} {{.CLI_ARGS}}
9+
internal: true
10+
11+
composer:
12+
desc: Run composer inside docker compose setup, e.g. `task {{.TASK}} -- install`
13+
cmds:
14+
- task: compose
15+
vars:
16+
TASK_ARGS: run --rm php composer {{.TASK_ARGS}}
17+
18+
coding-standards:coding-standards:check:
19+
desc: Apply and check coding-standards
20+
cmds:
21+
- task: composer
22+
vars:
23+
TASK_ARGS: coding-standards-apply
24+
- task: composer
25+
vars:
26+
TASK_ARGS: coding-standards-check
27+
28+
default:
29+
cmds:
30+
- task --list
31+
silent: true

compose.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
services:
2+
php:
3+
image: itkdev/php8.3-fpm:latest
4+
volumes:
5+
- .:/app

composer.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"name": "os2forms/os2forms_fordelingskomponent",
3+
"description": "Fordelingskomponent integration for OS2Forms",
4+
"type": "drupal-module",
5+
"authors": [
6+
{
7+
"name": "Mikkel Ricky",
8+
"email": "rimi@aarhus.dk"
9+
}
10+
],
11+
"require": {
12+
"drush/drush": "^12 || ^13",
13+
"itk-dev/serviceplatformen": "dev-feature/SF2900-Fordelingskomponenten",
14+
"os2web/os2web_audit": "^1.1",
15+
"os2web/os2web_key": "^1.0"
16+
},
17+
"require-dev": {
18+
"ergebnis/composer-normalize": "^2.49@dev",
19+
"drupal/coder": "9.x-dev",
20+
"mglaman/phpstan-drupal": "dev-main",
21+
"phpstan/extension-installer": "1.4.x-dev"
22+
},
23+
"repositories": [
24+
{
25+
"type": "composer",
26+
"url": "https://packages.drupal.org/8"
27+
}
28+
],
29+
"minimum-stability": "dev",
30+
"config": {
31+
"allow-plugins": {
32+
"cweagans/composer-patches": true,
33+
"ergebnis/composer-normalize": true,
34+
"dealerdirect/phpcodesniffer-composer-installer": true,
35+
"phpstan/extension-installer": true
36+
}
37+
}
38+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# OS2Forms Fordelingskomponent examples
2+
3+
Example forms for OS2Forms Fordelingskomponent
4+
5+
## Installation
6+
7+
```sh
8+
drush pm:enable os2forms_fordelingskomponent_examples
9+
```
10+
11+
Go to `/admin/structure/webform?category=Example` to see the example forms.
Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
langcode: da
2+
status: open
3+
dependencies:
4+
module:
5+
- os2forms_fordelingskomponent
6+
- webform_encrypt
7+
- webform_revisions
8+
enforced:
9+
module:
10+
- os2forms_fordelingskomponent_examples
11+
third_party_settings:
12+
webform_encrypt:
13+
element:
14+
message:
15+
encrypt: true
16+
encrypt_profile: webform
17+
recipient_cpr:
18+
encrypt: true
19+
encrypt_profile: webform
20+
digital_post_content_pdf:
21+
encrypt: true
22+
encrypt_profile: webform
23+
weight: 0
24+
open: null
25+
close: null
26+
uid: 1
27+
template: false
28+
archive: false
29+
id: os2forms_fdk_example
30+
title: 'OS2Forms Fordelingskomponent example'
31+
description: 'Simple example form with a Fordelingskomponent handler'
32+
category: Example
33+
elements: |-
34+
message:
35+
'#type': textarea
36+
'#title': Message
37+
'#required': true
38+
'#default_value': |-
39+
[current-date:long]
40+
41+
[random:hash:sha512]
42+
recipient_cpr:
43+
'#type': textfield
44+
'#title': 'Recipient cpr'
45+
'#required': true
46+
'#default_value': '1705880000'
47+
digital_post_content_pdf:
48+
'#type': 'webform_entity_print_attachment:pdf'
49+
'#title': 'Fordelingskomponent (PDF)'
50+
'#display_on': view
51+
'#filename': hat-og-briller.pdf
52+
css: ''
53+
javascript: ''
54+
settings:
55+
ajax: false
56+
ajax_scroll_top: form
57+
ajax_progress_type: ''
58+
ajax_effect: ''
59+
ajax_speed: null
60+
page: true
61+
page_submit_path: ''
62+
page_confirm_path: ''
63+
page_theme_name: ''
64+
form_title: both
65+
form_submit_once: false
66+
form_open_message: ''
67+
form_close_message: ''
68+
form_exception_message: ''
69+
form_previous_submissions: true
70+
form_confidential: false
71+
form_confidential_message: ''
72+
form_disable_remote_addr: false
73+
form_convert_anonymous: false
74+
form_prepopulate: false
75+
form_prepopulate_source_entity: false
76+
form_prepopulate_source_entity_required: false
77+
form_prepopulate_source_entity_type: ''
78+
form_unsaved: false
79+
form_disable_back: false
80+
form_submit_back: false
81+
form_disable_autocomplete: false
82+
form_novalidate: false
83+
form_disable_inline_errors: false
84+
form_required: false
85+
form_autofocus: false
86+
form_details_toggle: false
87+
form_reset: false
88+
form_access_denied: default
89+
form_access_denied_title: ''
90+
form_access_denied_message: ''
91+
form_access_denied_attributes: { }
92+
form_file_limit: ''
93+
form_attributes: { }
94+
form_method: ''
95+
form_action: ''
96+
share: false
97+
share_node: false
98+
share_theme_name: ''
99+
share_title: true
100+
share_page_body_attributes: { }
101+
submission_label: ''
102+
submission_exception_message: ''
103+
submission_locked_message: ''
104+
submission_log: false
105+
submission_excluded_elements: { }
106+
submission_exclude_empty: false
107+
submission_exclude_empty_checkbox: false
108+
submission_views: { }
109+
submission_views_replace: { }
110+
submission_user_columns: { }
111+
submission_user_duplicate: false
112+
submission_access_denied: default
113+
submission_access_denied_title: ''
114+
submission_access_denied_message: ''
115+
submission_access_denied_attributes: { }
116+
previous_submission_message: ''
117+
previous_submissions_message: ''
118+
autofill: false
119+
autofill_message: ''
120+
autofill_excluded_elements: { }
121+
wizard_progress_bar: true
122+
wizard_progress_pages: false
123+
wizard_progress_percentage: false
124+
wizard_progress_link: false
125+
wizard_progress_states: false
126+
wizard_start_label: ''
127+
wizard_preview_link: false
128+
wizard_confirmation: true
129+
wizard_confirmation_label: ''
130+
wizard_auto_forward: true
131+
wizard_auto_forward_hide_next_button: false
132+
wizard_keyboard: true
133+
wizard_track: ''
134+
wizard_prev_button_label: ''
135+
wizard_next_button_label: ''
136+
wizard_toggle: false
137+
wizard_toggle_show_label: ''
138+
wizard_toggle_hide_label: ''
139+
wizard_page_type: container
140+
wizard_page_title_tag: h2
141+
preview: 0
142+
preview_label: ''
143+
preview_title: ''
144+
preview_message: ''
145+
preview_attributes: { }
146+
preview_excluded_elements: { }
147+
preview_exclude_empty: true
148+
preview_exclude_empty_checkbox: false
149+
draft: none
150+
draft_multiple: false
151+
draft_auto_save: false
152+
draft_saved_message: ''
153+
draft_loaded_message: ''
154+
draft_pending_single_message: ''
155+
draft_pending_multiple_message: ''
156+
confirmation_type: message
157+
confirmation_url: ''
158+
confirmation_title: ''
159+
confirmation_message: ''
160+
confirmation_attributes: { }
161+
confirmation_back: true
162+
confirmation_back_label: ''
163+
confirmation_back_attributes: { }
164+
confirmation_exclude_query: false
165+
confirmation_exclude_token: false
166+
confirmation_update: false
167+
limit_total: null
168+
limit_total_interval: null
169+
limit_total_message: ''
170+
limit_total_unique: false
171+
limit_user: null
172+
limit_user_interval: null
173+
limit_user_message: ''
174+
limit_user_unique: false
175+
entity_limit_total: null
176+
entity_limit_total_interval: null
177+
entity_limit_user: null
178+
entity_limit_user_interval: null
179+
purge: all
180+
purge_days: 30
181+
results_disabled: false
182+
results_disabled_ignore: false
183+
results_customize: false
184+
token_view: false
185+
token_update: false
186+
token_delete: false
187+
serial_disabled: false
188+
access:
189+
create:
190+
roles:
191+
- anonymous
192+
- authenticated
193+
users: { }
194+
permissions: { }
195+
view_any:
196+
roles: { }
197+
users: { }
198+
permissions: { }
199+
update_any:
200+
roles: { }
201+
users: { }
202+
permissions: { }
203+
delete_any:
204+
roles: { }
205+
users: { }
206+
permissions: { }
207+
purge_any:
208+
roles: { }
209+
users: { }
210+
permissions: { }
211+
view_own:
212+
roles: { }
213+
users: { }
214+
permissions: { }
215+
update_own:
216+
roles: { }
217+
users: { }
218+
permissions: { }
219+
delete_own:
220+
roles: { }
221+
users: { }
222+
permissions: { }
223+
administer:
224+
roles: { }
225+
users: { }
226+
permissions: { }
227+
test:
228+
roles: { }
229+
users: { }
230+
permissions: { }
231+
configuration:
232+
roles: { }
233+
users: { }
234+
permissions: { }
235+
handlers:
236+
os2forms_fordelingskomponent_sf2900:
237+
id: os2forms_fordelingskomponent_sf2900
238+
handler_id: os2forms_fordelingskomponent_sf2900
239+
label: 'Fordelingskomponent (sf2900)'
240+
notes: ''
241+
status: true
242+
conditions: { }
243+
weight: 0
244+
settings: { }
245+
variants: { }
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
name: 'OS2Forms Fordelingskomponent examples'
2+
type: module
3+
description: 'Example forms for OS2Forms Fordelingskomponent.'
4+
package: 'OS2Forms'
5+
6+
core_version_requirement: ^9 || ^10
7+
dependencies:
8+
- 'os2forms_fordelingskomponent:os2forms_fordelingskomponent'
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: 'Fordelingskomponent'
2+
type: module
3+
description: 'Fordelingsskomponent integration for OS2Forms'
4+
package: OS2Forms
5+
core_version_requirement: ^10 || ^11
6+
dependencies:
7+
- advancedqueue:advancedqueue
8+
- 'os2web_key:os2web_key'
9+
- 'os2web_audit:os2web_audit'
10+
# Why don't we get this dependency implicitly from os2web_key?
11+
- 'key:key'
12+
13+
configure: os2forms_fordelingskomponent.admin.settings
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
os2forms_fordelingskomponent.settings:
2+
title: OS2Forms Fordelingskomponent
3+
description: Configure the OS2Forms Fordelingskomponent module
4+
parent: system.admin_config_system
5+
route_name: os2forms_fordelingskomponent.settings

0 commit comments

Comments
 (0)