function _webform_access_user_profile_form_submit in Webform 6.x
Same name and namespace in other branches
- 8.5 modules/webform_access/webform_access.module \_webform_access_user_profile_form_submit()
Submit callback for the user profile form to save the webform_access user setting.
1 string reference to '_webform_access_user_profile_form_submit'
- webform_access_form_user_form_alter in modules/
webform_access/ webform_access.module - Implements hook_form_FORM_ID_alter() for user form.
File
- modules/
webform_access/ webform_access.module, line 443 - Provides webform access controls for webform nodes.
Code
function _webform_access_user_profile_form_submit($form, FormStateInterface $form_state) {
$account = $form_state
->getFormObject()
->getEntity();
// Delete all existing records.
\Drupal::database()
->delete('webform_access_group_user')
->condition('uid', $account
->id())
->execute();
$record = [
'uid' => $account
->id(),
];
$value = $form_state
->getValue('webform_access_group');
foreach ($value as $group_id) {
$record['group_id'] = $group_id;
// Insert new record.
\Drupal::database()
->insert('webform_access_group_user')
->fields([
'group_id',
'uid',
])
->values($record)
->execute();
WebformAccessGroup::load($group_id)
->invalidateTags();
}
// Invalidate 'webform_submission_list' cache tag when user is updated.
// @see _webform_clear_webform_submission_list_cache_tag()
Cache::invalidateTags([
'webform_submission_list',
]);
}