From 911d08d015a369011b6eef1ae55f55ff048bbd8f Mon Sep 17 00:00:00 2001 From: Nazariy Velychenko Date: Thu, 18 Jun 2020 15:04:55 +0300 Subject: [PATCH] OI-64: #comment Changed "default" view display form mode for the user. Added additional logic to check show remind notification about filling the profile. --- ....entity_form_display.user.user.default.yml | 46 ++++++++++++++++--- modules/openideal_user/openideal_user.module | 10 ++-- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/config/install/core.entity_form_display.user.user.default.yml b/config/install/core.entity_form_display.user.user.default.yml index d59597b76..092afcf02 100644 --- a/config/install/core.entity_form_display.user.user.default.yml +++ b/config/install/core.entity_form_display.user.user.default.yml @@ -2,12 +2,14 @@ langcode: en status: true dependencies: config: + - entity_browser.browser.openideal_image_browser - field.field.user.user.field_age_group - field.field.user.user.field_first_name - field.field.user.user.field_gender - field.field.user.user.field_last_name - field.field.user.user.user_picture module: + - entity_browser - user id: user.user.default targetEntityType: user @@ -15,21 +17,53 @@ bundle: user mode: default content: account: - weight: 0 + weight: 5 region: content settings: { } third_party_settings: { } field_age_group: - weight: 1 + weight: 2 settings: { } third_party_settings: { } type: options_select region: content + field_first_name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_gender: + type: options_select + weight: 3 + region: content + settings: { } + third_party_settings: { } + field_last_name: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + user_picture: + type: entity_browser_file + weight: 4 + region: content + settings: + entity_browser: openideal_image_browser + field_widget_remove: true + selection_mode: selection_append + preview_image_style: thumbnail + field_widget_edit: true + field_widget_replace: false + open: false + view_mode: default + third_party_settings: { } hidden: contact: true - field_first_name: true - field_gender: true - field_last_name: true language: true timezone: true - user_picture: true diff --git a/modules/openideal_user/openideal_user.module b/modules/openideal_user/openideal_user.module index 8eb1e1750..640b64c26 100644 --- a/modules/openideal_user/openideal_user.module +++ b/modules/openideal_user/openideal_user.module @@ -56,11 +56,15 @@ function openideal_user_entity_type_alter(array &$entity_types) { */ function openideal_user_preprocess_page(&$variables) { if (\Drupal::currentUser()->isAuthenticated()) { - $user = \Drupal::entityTypeManager()->getStorage('user')->load(\Drupal::currentUser()->id()); + $user_id = \Drupal::currentUser()->id(); + $user = \Drupal::entityTypeManager()->getStorage('user')->load($user_id); + $current_route = \Drupal::service('current_route_match')->getRouteName(); // Check if any of user field empty, if so set a remind message. - if ($user->get('field_age_group')->isEmpty() || $user->get('field_gender')->isEmpty()) { + if (($user->get('field_age_group')->isEmpty() || $user->get('field_gender')->isEmpty()) + && ($current_route !== 'entity.user.edit_form' && $current_route !== 'openideal_user.register.user.more_about_you') + && !$user->hasRole('administrator')) { \Drupal::messenger()->addMessage(t('Please fill your profile', - ['@link' => Url::fromRoute('openideal_user.register.user.more_about_you')->toString()] + ['@link' => Url::fromRoute('entity.user.edit_form', ['user' => $user_id])->toString()] )); } }