Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 41
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
UserContactSettingsForm
0.00% covered (danger)
0.00%
0 / 41
0.00% covered (danger)
0.00%
0 / 4
20
0.00% covered (danger)
0.00%
0 / 1
 getFormId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getEditableConfigNames
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 buildForm
0.00% covered (danger)
0.00%
0 / 31
0.00% covered (danger)
0.00%
0 / 1
2
 submitForm
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Drupal\crm\Form;
4
5use Drupal\Core\Form\ConfigFormBase;
6use Drupal\Core\Form\FormStateInterface;
7
8/**
9 * CRM User Contact  settings form.
10 */
11class UserContactSettingsForm extends ConfigFormBase {
12
13  /**
14   * {@inheritdoc}
15   */
16  public function getFormId() {
17    return 'crm_user_contact_settings';
18  }
19
20  /**
21   * {@inheritdoc}
22   */
23  protected function getEditableConfigNames() {
24    return [
25      'crm.crm_user_contact.settings',
26    ];
27  }
28
29  /**
30   * {@inheritdoc}
31   */
32  public function buildForm(array $form, FormStateInterface $form_state) {
33    $form = parent::buildForm($form, $form_state);
34    $settings = $this->config('crm.crm_user_contact.settings');
35    $form['display_name'] = [
36      '#type' => 'checkbox',
37      '#title' => $this->t('Display name'),
38      '#default_value' => $settings->get('display_name'),
39      '#description' => $this->t('Override the User name with the CRM name.'),
40    ];
41
42    $form['create_event'] = [
43      '#type' => 'details',
44      '#title' => $this->t('Create event'),
45      '#open' => TRUE,
46    ];
47
48    $form['create_event']['auto_create_crm_user_contact'] = [
49      '#type' => 'checkbox',
50      '#title' => $this->t('Create CRM user contact automatically'),
51      '#default_value' => $settings->get('auto_create_crm_user_contact'),
52      '#description' => $this->t('Automatically create a contact when a user is created.'),
53    ];
54
55    $form['create_event']['auto_create_lookup_contact'] = [
56      '#type' => 'checkbox',
57      '#title' => $this->t('Lookup contact automatically'),
58      '#default_value' => $settings->get('auto_create_lookup_contact'),
59      '#description' => $this->t('Automatically create a lookup contact when a user is created.'),
60      '#states' => [
61        'enabled' => [
62          ':input[name="auto_create_crm_user_contact"]' => ['checked' => TRUE],
63        ],
64      ],
65    ];
66
67    return $form;
68  }
69
70  /**
71   * {@inheritdoc}
72   */
73  public function submitForm(array &$form, FormStateInterface $form_state) {
74
75    $this->config('crm.crm_user_contact.settings')
76      ->set('display_name', $form_state->getValue('display_name'))
77      ->set('auto_create_crm_user_contact', $form_state->getValue('auto_create_crm_user_contact'))
78      ->set('auto_create_lookup_contact', $form_state->getValue('auto_create_lookup_contact'))
79      ->save();
80
81    return parent::submitForm($form, $form_state);
82  }
83
84}