installed password policy, retype password contraint instructions
This commit is contained in:
		| @@ -65,6 +65,7 @@ | ||||
|         "drupal/migrate_tools": "5.x-dev@dev", | ||||
|         "drupal/mimemail": "^1.x-dev", | ||||
|         "drupal/modules_weight": "^1.8", | ||||
|         "drupal/password_policy": "^3.0", | ||||
|         "drupal/payment": "^2.1", | ||||
|         "drupal/payment_commerce": "2.x-dev@dev", | ||||
|         "drupal/permissions_filter": "^1.1", | ||||
|   | ||||
							
								
								
									
										63
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										63
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | ||||
|         "This file is @generated automatically" | ||||
|     ], | ||||
|     "content-hash": "dc55edf4f15740641dc0903f68085726", | ||||
|     "content-hash": "9f0bf06238a3485d7d627092ce483e3d", | ||||
|     "packages": [ | ||||
|         { | ||||
|             "name": "alchemy/zippy", | ||||
| @@ -9921,6 +9921,67 @@ | ||||
|                 "source": "https://git.drupalcode.org/project/pagerer" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "name": "drupal/password_policy", | ||||
|             "version": "3.0.0", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "https://git.drupalcode.org/project/password_policy.git", | ||||
|                 "reference": "8.x-3.0" | ||||
|             }, | ||||
|             "dist": { | ||||
|                 "type": "zip", | ||||
|                 "url": "https://ftp.drupal.org/files/projects/password_policy-8.x-3.0.zip", | ||||
|                 "reference": "8.x-3.0", | ||||
|                 "shasum": "6fbc4fe40ab26ec19e5ca37aaaa676348dc7fddb" | ||||
|             }, | ||||
|             "require": { | ||||
|                 "drupal/core": "^8 || ^9", | ||||
|                 "drupal/ctools": "^3.1" | ||||
|             }, | ||||
|             "type": "drupal-module", | ||||
|             "extra": { | ||||
|                 "drupal": { | ||||
|                     "version": "8.x-3.0", | ||||
|                     "datestamp": "1625082607", | ||||
|                     "security-coverage": { | ||||
|                         "status": "covered", | ||||
|                         "message": "Covered by Drupal's security advisory policy" | ||||
|                     } | ||||
|                 } | ||||
|             }, | ||||
|             "notification-url": "https://packages.drupal.org/8/downloads", | ||||
|             "license": [ | ||||
|                 "GPL-2.0-or-later" | ||||
|             ], | ||||
|             "authors": [ | ||||
|                 { | ||||
|                     "name": "AohRveTPV", | ||||
|                     "homepage": "https://www.drupal.org/user/2760115" | ||||
|                 }, | ||||
|                 { | ||||
|                     "name": "deekayen", | ||||
|                     "homepage": "https://www.drupal.org/user/972" | ||||
|                 }, | ||||
|                 { | ||||
|                     "name": "miglius", | ||||
|                     "homepage": "https://www.drupal.org/user/18741" | ||||
|                 }, | ||||
|                 { | ||||
|                     "name": "nerdstein", | ||||
|                     "homepage": "https://www.drupal.org/user/1557710" | ||||
|                 }, | ||||
|                 { | ||||
|                     "name": "shrop", | ||||
|                     "homepage": "https://www.drupal.org/user/14767" | ||||
|                 } | ||||
|             ], | ||||
|             "description": "Sets up constraints and expiration of passwords.", | ||||
|             "homepage": "https://www.drupal.org/project/password_policy", | ||||
|             "support": { | ||||
|                 "source": "https://git.drupalcode.org/project/password_policy" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "name": "drupal/path_alias_xt", | ||||
|             "version": "dev-1.x", | ||||
|   | ||||
| @@ -5,10 +5,14 @@ dependencies: | ||||
|   config: | ||||
|     - field.field.user.user.commerce_remote_id | ||||
|     - field.field.user.user.field_company | ||||
|     - field.field.user.user.field_last_password_reset | ||||
|     - field.field.user.user.field_member_type | ||||
|     - field.field.user.user.field_memo | ||||
|     - field.field.user.user.field_password_expiration | ||||
|     - field.field.user.user.field_showroom | ||||
|   module: | ||||
|     - datetime | ||||
|     - path | ||||
|     - user | ||||
| id: user.user.default | ||||
| targetEntityType: user | ||||
| @@ -30,6 +34,12 @@ content: | ||||
|     third_party_settings: {  } | ||||
|     type: entity_reference_autocomplete | ||||
|     region: content | ||||
|   field_last_password_reset: | ||||
|     type: datetime_default | ||||
|     weight: 4 | ||||
|     settings: {  } | ||||
|     third_party_settings: {  } | ||||
|     region: content | ||||
|   field_member_type: | ||||
|     weight: 4 | ||||
|     settings: {  } | ||||
| @@ -44,6 +54,13 @@ content: | ||||
|     third_party_settings: {  } | ||||
|     type: string_textarea | ||||
|     region: content | ||||
|   field_password_expiration: | ||||
|     type: boolean_checkbox | ||||
|     weight: 3 | ||||
|     settings: | ||||
|       display_label: true | ||||
|     third_party_settings: {  } | ||||
|     region: content | ||||
|   field_showroom: | ||||
|     weight: 2 | ||||
|     settings: | ||||
|   | ||||
| @@ -6,10 +6,13 @@ dependencies: | ||||
|     - core.entity_form_mode.user.modal | ||||
|     - field.field.user.user.commerce_remote_id | ||||
|     - field.field.user.user.field_company | ||||
|     - field.field.user.user.field_last_password_reset | ||||
|     - field.field.user.user.field_member_type | ||||
|     - field.field.user.user.field_memo | ||||
|     - field.field.user.user.field_password_expiration | ||||
|     - field.field.user.user.field_showroom | ||||
|   module: | ||||
|     - path | ||||
|     - user | ||||
| id: user.user.modal | ||||
| targetEntityType: user | ||||
| @@ -33,8 +36,10 @@ hidden: | ||||
|   contact_company_profiles: true | ||||
|   customer_profiles: true | ||||
|   field_company: true | ||||
|   field_last_password_reset: true | ||||
|   field_member_type: true | ||||
|   field_memo: true | ||||
|   field_password_expiration: true | ||||
|   field_showroom: true | ||||
|   langcode: true | ||||
|   language: true | ||||
|   | ||||
| @@ -6,10 +6,13 @@ dependencies: | ||||
|     - core.entity_form_mode.user.register | ||||
|     - field.field.user.user.commerce_remote_id | ||||
|     - field.field.user.user.field_company | ||||
|     - field.field.user.user.field_last_password_reset | ||||
|     - field.field.user.user.field_member_type | ||||
|     - field.field.user.user.field_memo | ||||
|     - field.field.user.user.field_password_expiration | ||||
|     - field.field.user.user.field_showroom | ||||
|   module: | ||||
|     - path | ||||
|     - user | ||||
| id: user.user.register | ||||
| targetEntityType: user | ||||
| @@ -81,5 +84,7 @@ hidden: | ||||
|   contact: true | ||||
|   contact_company_profiles: true | ||||
|   customer_profiles: true | ||||
|   field_last_password_reset: true | ||||
|   field_password_expiration: true | ||||
|   langcode: true | ||||
|   member_profiles: true | ||||
|   | ||||
| @@ -5,8 +5,10 @@ dependencies: | ||||
|   config: | ||||
|     - field.field.user.user.commerce_remote_id | ||||
|     - field.field.user.user.field_company | ||||
|     - field.field.user.user.field_last_password_reset | ||||
|     - field.field.user.user.field_member_type | ||||
|     - field.field.user.user.field_memo | ||||
|     - field.field.user.user.field_password_expiration | ||||
|     - field.field.user.user.field_showroom | ||||
|   module: | ||||
|     - options | ||||
| @@ -51,10 +53,26 @@ content: | ||||
|     region: content | ||||
|     settings: {  } | ||||
|     third_party_settings: {  } | ||||
|   user_email_verification_verified: | ||||
|     weight: 100 | ||||
|     settings: {  } | ||||
|     third_party_settings: {  } | ||||
|     region: content | ||||
|   user_email_verification_verified_date: | ||||
|     weight: 100 | ||||
|     settings: {  } | ||||
|     third_party_settings: {  } | ||||
|     region: content | ||||
| hidden: | ||||
|   commerce_remote_id: true | ||||
|   contact_company_profiles: true | ||||
|   customer_profiles: true | ||||
|   field_last_password_reset: true | ||||
|   field_password_expiration: true | ||||
|   langcode: true | ||||
|   member_profiles: true | ||||
|   profile_contact_company: true | ||||
|   profile_customer: true | ||||
|   profile_member: true | ||||
|   search_api_excerpt: true | ||||
|   simplenews: true | ||||
|   | ||||
| @@ -140,6 +140,9 @@ module: | ||||
|   options: 0 | ||||
|   page_cache: 0 | ||||
|   pagerer: 0 | ||||
|   password_policy_character_types: 0 | ||||
|   password_policy_characters: 0 | ||||
|   password_policy_length: 0 | ||||
|   path: 0 | ||||
|   path_alias: 0 | ||||
|   path_alias_xt: 0 | ||||
| @@ -211,6 +214,7 @@ module: | ||||
|   menu_link_content: 1 | ||||
|   pathauto: 1 | ||||
|   content_translation: 10 | ||||
|   password_policy: 10 | ||||
|   views: 10 | ||||
|   materio_id: 11 | ||||
|   figli_starter_kit: 1000 | ||||
|   | ||||
| @@ -0,0 +1,29 @@ | ||||
| uuid: 73d3ed49-160c-40c8-a311-2871335f8f51 | ||||
| langcode: en | ||||
| status: true | ||||
| dependencies: | ||||
|   config: | ||||
|     - field.storage.user.field_last_password_reset | ||||
|   enforced: | ||||
|     module: | ||||
|       - password_policy | ||||
|   module: | ||||
|     - datetime | ||||
|     - user | ||||
| _core: | ||||
|   default_config_hash: 9KNibQftQSQkxINz3CmNcDC0f6rp2Krw6lkJ2en-G7g | ||||
| id: user.user.field_last_password_reset | ||||
| field_name: field_last_password_reset | ||||
| entity_type: user | ||||
| bundle: user | ||||
| label: 'Last Password Reset' | ||||
| description: '' | ||||
| required: false | ||||
| translatable: false | ||||
| default_value: | ||||
|   - | ||||
|     default_date_type: now | ||||
|     default_date: now | ||||
| default_value_callback: '' | ||||
| settings: {  } | ||||
| field_type: datetime | ||||
| @@ -0,0 +1,29 @@ | ||||
| uuid: 79063e66-e4d1-483a-b332-9456f7900381 | ||||
| langcode: en | ||||
| status: true | ||||
| dependencies: | ||||
|   config: | ||||
|     - field.storage.user.field_password_expiration | ||||
|   enforced: | ||||
|     module: | ||||
|       - password_policy | ||||
|   module: | ||||
|     - user | ||||
| _core: | ||||
|   default_config_hash: VmJSEF3eJIf_XB2mvMElbf3Z85-EXT87lFe_B7YdLKE | ||||
| id: user.user.field_password_expiration | ||||
| field_name: field_password_expiration | ||||
| entity_type: user | ||||
| bundle: user | ||||
| label: 'Password Expiration' | ||||
| description: 'The password will expire based on the number of days defined in the policy' | ||||
| required: false | ||||
| translatable: false | ||||
| default_value: | ||||
|   - | ||||
|     value: 0 | ||||
| default_value_callback: '' | ||||
| settings: | ||||
|   on_label: 'Expired Password' | ||||
|   off_label: 'Non-expired Password' | ||||
| field_type: boolean | ||||
							
								
								
									
										25
									
								
								config/sync/field.storage.user.field_last_password_reset.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								config/sync/field.storage.user.field_last_password_reset.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| uuid: 7330ac5f-fe00-4d25-999c-7a2d5d4f089a | ||||
| langcode: en | ||||
| status: true | ||||
| dependencies: | ||||
|   enforced: | ||||
|     module: | ||||
|       - password_policy | ||||
|   module: | ||||
|     - datetime | ||||
|     - user | ||||
| _core: | ||||
|   default_config_hash: fe_vhJzBU4DNfc97fsLUU54pydpOw-caxcFMckk-UA4 | ||||
| id: user.field_last_password_reset | ||||
| field_name: field_last_password_reset | ||||
| entity_type: user | ||||
| type: datetime | ||||
| settings: | ||||
|   datetime_type: datetime | ||||
| module: datetime | ||||
| locked: true | ||||
| cardinality: 1 | ||||
| translatable: true | ||||
| indexes: {  } | ||||
| persist_with_no_fields: false | ||||
| custom_storage: false | ||||
							
								
								
									
										23
									
								
								config/sync/field.storage.user.field_password_expiration.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								config/sync/field.storage.user.field_password_expiration.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| uuid: 44f6f9bc-d05a-439f-98f1-199867276f4b | ||||
| langcode: en | ||||
| status: true | ||||
| dependencies: | ||||
|   enforced: | ||||
|     module: | ||||
|       - password_policy | ||||
|   module: | ||||
|     - user | ||||
| _core: | ||||
|   default_config_hash: hZ92ctP_IPOvYwFWeh-8cu0xIcJJXuJ0nV-6IbQT3vM | ||||
| id: user.field_password_expiration | ||||
| field_name: field_password_expiration | ||||
| entity_type: user | ||||
| type: boolean | ||||
| settings: {  } | ||||
| module: core | ||||
| locked: true | ||||
| cardinality: 1 | ||||
| translatable: true | ||||
| indexes: {  } | ||||
| persist_with_no_fields: false | ||||
| custom_storage: false | ||||
							
								
								
									
										24
									
								
								config/sync/password_policy.password_policy.default.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								config/sync/password_policy.password_policy.default.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| uuid: 7935d18e-3e1a-4291-8c02-51b77205526d | ||||
| langcode: fr | ||||
| status: true | ||||
| dependencies: {  } | ||||
| id: default | ||||
| label: default | ||||
| password_reset: 0 | ||||
| policy_constraints: | ||||
|   - | ||||
|     id: character_types | ||||
|     character_types: 4 | ||||
|   - | ||||
|     id: password_length | ||||
|     character_length: 8 | ||||
|     character_operation: minimum | ||||
| roles: | ||||
|   unverified: unverified | ||||
|   free_user: free_user | ||||
|   contact_company: contact_company | ||||
|   alpha_testeur: alpha_testeur | ||||
|   student: student | ||||
|   adherent: adherent | ||||
|   translator: translator | ||||
|   admin_showroom: admin_showroom | ||||
							
								
								
									
										3
									
								
								config/sync/password_policy.settings.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								config/sync/password_policy.settings.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| cron_threshold: 250 | ||||
| _core: | ||||
|   default_config_hash: ylS3vsh8Ssk63Wrb_g1Np12zqe2qfK0NX4AOV1OYgLQ | ||||
							
								
								
									
										17
									
								
								config/sync/ultimate_cron.job.password_policy_cron.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								config/sync/ultimate_cron.job.password_policy_cron.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| uuid: bc909506-6bc6-43f7-986e-990df8efa78f | ||||
| langcode: en | ||||
| status: true | ||||
| dependencies: | ||||
|   module: | ||||
|     - password_policy | ||||
| title: 'Default cron handler' | ||||
| id: password_policy_cron | ||||
| weight: 0 | ||||
| module: password_policy | ||||
| callback: password_policy_cron | ||||
| scheduler: | ||||
|   id: simple | ||||
| launcher: | ||||
|   id: serial | ||||
| logger: | ||||
|   id: database | ||||
| @@ -82,7 +82,7 @@ function materio_user_form_user_modal_form_alter(&$form, FormStateInterface $for | ||||
| 
 | ||||
| function _materio_user_process_password_confirm($element){ | ||||
|   // ksm($element); | ||||
|   $element['pass1']['#description'] = t('Password must contains Lowercase and Uppercase Letters, numbers, and punctuation.'); | ||||
|   $element['pass1']['#description'] = t('Password must contains lowercase, uppercase, digits and special characters.'); | ||||
|   $element['pass1']['#attributes'] += array( | ||||
|     "v-model" => "pass1", | ||||
|     "placeholder" => $element['pass1']['#title'], | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
|   <head> | ||||
|     <meta charset="UTF-8"/> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1"/> | ||||
|     <title>materio.com [12 Jul 2021 at 10:49]</title> | ||||
|     <title>materio.com [14 Jul 2021 at 08:23]</title> | ||||
|     <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" /> | ||||
| 
 | ||||
|     <script> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user