Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
45 / 45
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
MiscHooks
100.00% covered (success)
100.00%
45 / 45
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 viewsDataAlter
100.00% covered (success)
100.00%
45 / 45
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Drupal\crm\Hook;
4
5use Drupal\Core\Hook\Attribute\Hook;
6
7/**
8 * Hooks relating to contacts.
9 */
10class MiscHooks {
11
12  /**
13   * Implements hook_views_data_alter().
14   *
15   * @todo Remove once https://www.drupal.org/project/drupal/issues/2706431 is
16   * resolved.
17   */
18  #[Hook('views_data_alter')]
19  public function viewsDataAlter(array &$data) {
20    $title = t('CRM User Sync Relation');
21    $data['users_field_data']['crm_user_contact'] = [
22      'title' => $title,
23      'help' => t('Adds relation to CRM User Sync Relation that point to current user.'),
24      'relationship' => [
25        'base' => 'crm_user_contact',
26        'base field' => 'user',
27        'field' => 'uid',
28        'id' => 'standard',
29        'label' => $title,
30      ],
31    ];
32
33    $data['users_field_data']['crm_user_contact_sync_form'] = [
34      'title' => t('Contact relation'),
35      'help' => t("Provides a link to the user's contact relation form."),
36      'field' => [
37        'id' => 'crm_contact_user',
38      ],
39    ];
40    $data['users_field_data']['crm_core_user_sync_form'] = [
41      'title' => t('Contact relation'),
42      'help' => t("Provides a link to the user's contact relation form."),
43      'field' => [
44        'id' => 'crm_user_contact',
45      ],
46    ];
47
48    $data['crm_contact']['crm_user_contact'] = [
49      'title' => $title,
50      'help' => t('Adds relation to CRM User Sync Relation that point to current person.'),
51      'relationship' => [
52        'base' => 'crm_user_contact',
53        'base field' => 'crm_contact',
54        'field' => 'id',
55        'id' => 'standard',
56        'label' => $title,
57      ],
58    ];
59
60    $data['crm_contact']['crm_core_user_sync_form'] = [
61      'title' => t('User relation'),
62      'help' => t("Provides a link to the person's user relation form."),
63      'field' => [
64        'id' => 'crm_user_contact',
65        'field_name' => 'user',
66      ],
67    ];
68
69  }
70
71}