Skip to content

Commit a4b5387

Browse files
author
Mike van den Hoek
committed
(feat): disable prefilled form fields when using 'Openzaak' or 'PinkRoccade' as configured supplier
1 parent 137afa2 commit a4b5387

File tree

10 files changed

+140
-10
lines changed

10 files changed

+140
-10
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Changelog
22

3-
- tested: WordPress 6.2.2
3+
- Tested up to: WordPress 6.3.2
4+
5+
## v1.0.17
6+
7+
### Feat
8+
9+
- Disable prefilled form fields when using 'Openzaak' or 'PinkRoccade' as configured supplier.
410

511
## v1.0.16
612

TODO.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# To-do
2+
3+
## Suppliers
4+
Remove 'Openzaak' as supplier, wrong name was given. Should be PinkRoccade.
5+
Should me removed when it's safe to do so. Some applications could still use 'OpenZaak' as configured supplier.
6+

TODO.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

config/suppliers.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
return [
4+
'enable-u' => 'EnableU',
45
'openzaak' => 'OpenZaak',
5-
'decos-join' => 'DecosJoin',
6-
'enable-u' => 'EnableU'
6+
'pink-roccade' => 'PinkRoccade',
77
];

prefill-gravity-forms.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* Plugin Name: Yard | BRP Prefill GravityForms
55
* Plugin URI: https://www.openwebconcept.nl/
66
* Description: Prefill GravityForms fields, based on the dutch BSN number. Retrieve personal information and place these values in the corrensponding fields.
7-
* Version: 1.0.16
7+
* Version: 1.0.17
88
* Author: Yard | Digital Agency
99
* Author URI: https://www.yard.nl/
1010
* License: GPL-3.0
@@ -20,7 +20,7 @@
2020
die;
2121
}
2222

23-
define('PG_VERSION', '1.0.16');
23+
define('PG_VERSION', '1.0.17');
2424
define('PG_DIR', basename(__DIR__));
2525
define('PG_ROOT_PATH', __DIR__);
2626
define('PG_PLUGIN_SLUG', 'prefill-gravity-forms');
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
/**
3+
* Select element for custom field
4+
*/
5+
?>
6+
<li class="label_setting field_setting">
7+
<label for="linkedField" class="section_label">
8+
<?php _e('Automatisch invullen', 'prefill-gravity-forms'); ?>
9+
</label>
10+
<select id="linkedField" onchange="SetFieldProperty('linkedFieldValue', this.value);">
11+
<option value=""><?php _e('Kies veldnaam', 'prefill-gravity-forms'); ?></option>
12+
<option value="burgerservicenummer"><?php _e('Burgerservicenummer', 'prefill-gravity-forms'); ?></option>
13+
<option value="aNummer"><?php _e('aNummer', 'prefill-gravity-forms'); ?></option>
14+
<option value="geslachtsaanduiding"><?php _e('Geslachtsaanduiding', 'prefill-gravity-forms'); ?></option>
15+
<option value="leeftijd"><?php _e('Leeftijd', 'prefill-gravity-forms'); ?></option>
16+
<optgroup label="Naam">
17+
<option value="naam.geslachtsnaam"><?php _e('Geslachtsnaam', 'prefill-gravity-forms'); ?></option>
18+
<option value="naam.voorletters"><?php _e('Voorletters', 'prefill-gravity-forms'); ?></option>
19+
<option value="naam.voornamen"><?php _e('Voornamen', 'prefill-gravity-forms'); ?></option>
20+
<option value="naam.voorvoegsel"><?php _e('Voorvoegsel', 'prefill-gravity-forms'); ?></option>
21+
<option value="naam.aanschrijfwijze"><?php _e('Aanschrijfwijze', 'prefill-gravity-forms'); ?></option>
22+
<option value="naam.aanduidingNaamgebruik"><?php _e('AanduidingNaamgebruik', 'prefill-gravity-forms'); ?></option>
23+
</optgroup>
24+
<optgroup label="Nationaliteiten">
25+
<option value="nationaliteiten.datumIngangGeldigheid.datum"><?php _e('Datum', 'prefill-gravity-forms'); ?></option>
26+
<option value="nationaliteiten.datumIngangGeldigheid.jaar"><?php _e('Jaar', 'prefill-gravity-forms'); ?></option>
27+
<option value="nationaliteiten.datumIngangGeldigheid.maand"><?php _e('Maand', 'prefill-gravity-forms'); ?></option>
28+
<option value="nationaliteiten.datumIngangGeldigheid.dag"><?php _e('Dag', 'prefill-gravity-forms'); ?></option>
29+
<option value="nationaliteiten.nationaliteit.omschrijving"><?php _e('Omschrijving', 'prefill-gravity-forms'); ?></option>
30+
<option value="nationaliteiten.nationaliteit.code"><?php _e('Code', 'prefill-gravity-forms'); ?></option>
31+
</optgroup>
32+
<optgroup label="Geboorte">
33+
<option value="geboorte.datum.datum"><?php _e('Geboortedatum', 'prefill-gravity-forms'); ?></option>
34+
<option value="geboorte.land.omschrijving"><?php _e('Geboorteland', 'prefill-gravity-forms'); ?></option>
35+
<option value="geboorte.plaats.omschrijving"><?php _e('Geboorteplaats', 'prefill-gravity-forms'); ?></option>
36+
</optgroup>
37+
<optgroup label="Verblijftplaats">
38+
<option value="verblijfplaats.straat"><?php _e('Straat', 'prefill-gravity-forms'); ?></option>
39+
<option value="verblijfplaats.huisnummer"><?php _e('Huisnummer', 'prefill-gravity-forms'); ?></option>
40+
<option value="verblijfplaats.huisletter"><?php _e('Huisletter', 'prefill-gravity-forms'); ?></option>
41+
<option value="verblijfplaats.postcode"><?php _e('Postcode', 'prefill-gravity-forms'); ?></option>
42+
<option value="verblijfplaats.woonplaats"><?php _e('Woonplaats', 'prefill-gravity-forms'); ?></option>
43+
<option value="verblijfplaats.adresregel1"><?php _e('Adres', 'prefill-gravity-forms'); ?></option>
44+
<option value="verblijfplaats.adresregel2"><?php _e('Postcode + plaats', 'prefill-gravity-forms'); ?></option>
45+
</optgroup>
46+
<optgroup label="Huwelijk/Partnerschap-gegevens">
47+
<option value="_embedded.partners.soortVerbintenis"><?php _e('Soort verbintenis', 'prefill-gravity-forms'); ?></option>
48+
<option value="_embedded.partners.naam.geslachtsnaam"><?php _e('Geslachtsnaam', 'prefill-gravity-forms'); ?></option>
49+
<option value="_embedded.partners.naam.voornamen"><?php _e('Voornamen', 'prefill-gravity-forms'); ?></option>
50+
</optgroup>
51+
</select>
52+
</li>

src/PrefillGravityForms/Controllers/OpenZaakController.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
namespace OWC\PrefillGravityForms\Controllers;
44

5+
/**
6+
* Depcrecated; should me removed when it's safe to do so.
7+
* Some applications could still use 'OpenZaak' as configured supplier.
8+
*/
59
class OpenZaakController extends BaseController
610
{
711
public function handle(array $form)
@@ -40,6 +44,8 @@ public function handle(array $form)
4044
return $form;
4145
}
4246

47+
echo $this->disableFormFields();
48+
4349
return $this->preFillFields($form, $response);
4450
}
4551

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?php
2+
3+
namespace OWC\PrefillGravityForms\Controllers;
4+
5+
class PinkRoccadeController extends BaseController
6+
{
7+
public function handle(array $form)
8+
{
9+
$bsn = $this->getBSN();
10+
11+
if (empty($bsn)) {
12+
return $form;
13+
}
14+
15+
$bsn = $this->supplementBSN($bsn);
16+
17+
if (strlen($bsn) !== 9) {
18+
$this->teams->addRecord('error', 'BSN', [
19+
'message' => 'BSN does not meet the required length of 9.'
20+
]);
21+
22+
return $form;
23+
}
24+
25+
$doelBinding = rgar($form, 'owc-iconnect-doelbinding', '');
26+
$expand = rgar($form, 'owc-iconnect-expand', '');
27+
28+
if (! is_string($doelBinding)) {
29+
$doelBinding = (string) $doelBinding;
30+
}
31+
32+
$response = $this->request($bsn, $doelBinding, $expand);
33+
34+
if (! empty($response['status'])) {
35+
$this->teams->addRecord('error', 'Prefill data', [
36+
'message' => 'Retrieving prefill data failed.',
37+
'status' => $response['status']
38+
]);
39+
40+
return $form;
41+
}
42+
43+
echo $this->disableFormFields();
44+
45+
return $this->preFillFields($form, $response);
46+
}
47+
48+
protected function request(string $bsn = '', string $doelBinding = '', string $expand = ''): array
49+
{
50+
$curlArgs = [
51+
CURLOPT_URL => $this->getRequestURL($bsn, $expand),
52+
CURLOPT_HTTPHEADER => $this->getCurlHeaders($doelBinding),
53+
CURLOPT_SSLCERT => $this->settings->getPublicCertificate(),
54+
CURLOPT_SSLKEY => $this->settings->getPrivateCertificate()
55+
];
56+
57+
return $this->handleCurl($curlArgs);
58+
}
59+
}

src/PrefillGravityForms/GravityForms/GravityForms.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class GravityForms
1111
public function preRender(array $form): array
1212
{
1313
$this->setSupplier($form);
14-
14+
1515
if (empty($this->supplier)) {
1616
return $form;
1717
}

src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ public function addFormSettings(array $fields): array
4848
'name' => "owc-form-setting-supplier-enable-u",
4949
'label' => __('EnableU', config('core.text_domain')),
5050
'value' => 'enable-u',
51+
],
52+
[
53+
'name' => "owc-form-setting-supplier-pink-roccade",
54+
'label' => __('PinkRoccade', config('core.text_domain')),
55+
'value' => 'pink-roccade',
5156
]
5257
],
5358
],

0 commit comments

Comments
 (0)