n°524 - password policy

- translations added
 - fields are now visible in the detail view
 - minor translation modification for the User object
This commit is contained in:
bruno DA SILVA
2019-11-27 16:36:04 +01:00
parent 9fa510d2a8
commit fe0bd1a4b8
5 changed files with 30 additions and 4 deletions

View File

@@ -41,5 +41,16 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:UserLocal/Attribute:password' => 'Password', 'Class:UserLocal/Attribute:password' => 'Password',
'Class:UserLocal/Attribute:password+' => 'user authentication string', 'Class:UserLocal/Attribute:password+' => 'user authentication string',
'Class:UserLocal/Attribute:expiration' => 'Password expiration',
'Class:UserLocal/Attribute:expiration+' => 'Password expiration status (require an extension to have an effect)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'Can expire',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'Never expire',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'Expired',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '',
'Class:UserLocal/Attribute:password_renewed_date' => 'Password renewal',
'Class:UserLocal/Attribute:password_renewed_date+' => 'When the password was last changed',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex/validation_failed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.', 'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex/validation_failed' => 'Password must be at least 8 characters and include uppercase, lowercase, numeric and special characters.',
)); ));

View File

@@ -25,5 +25,16 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:UserLocal/Attribute:password' => 'Mot de passe', 'Class:UserLocal/Attribute:password' => 'Mot de passe',
'Class:UserLocal/Attribute:password+' => '', 'Class:UserLocal/Attribute:password+' => '',
'Class:UserLocal/Attribute:expiration' => 'Validité du mot de passe',
'Class:UserLocal/Attribute:expiration+' => 'Statut du mot de passe (nécessite une extension pour avoir un effet)',
'Class:UserLocal/Attribute:expiration/Value:can_expire' => 'à durée limitée',
'Class:UserLocal/Attribute:expiration/Value:can_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:never_expire' => 'à validité permanente',
'Class:UserLocal/Attribute:expiration/Value:never_expire+' => '',
'Class:UserLocal/Attribute:expiration/Value:force_expire' => 'à changer',
'Class:UserLocal/Attribute:expiration/Value:force_expire+' => '',
'Class:UserLocal/Attribute:password_renewed_date' => 'Mot de passe changé le',
'Class:UserLocal/Attribute:password_renewed_date+' => 'Dernière date à laquelle le mot de passe a été changé',
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex/validation_failed' => 'Le mot de passe doit contenir au moins 8 caractères, avec minuscule, majuscule, nombre et caractère spécial.', 'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex/validation_failed' => 'Le mot de passe doit contenir au moins 8 caractères, avec minuscule, majuscule, nombre et caractère spécial.',
)); ));

View File

@@ -96,7 +96,7 @@ class UserLocal extends UserInternal
MetaModel::Init_AddAttribute(new AttributeDate("password_renewed_date", array("allowed_values"=>null, "sql"=>"password_renewed_date", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array()))); MetaModel::Init_AddAttribute(new AttributeDate("password_renewed_date", array("allowed_values"=>null, "sql"=>"password_renewed_date", "default_value"=>"", "is_null_allowed"=>true, "depends_on"=>array())));
// Display lists // Display lists
MetaModel::Init_SetZListItems('details', array('contactid', 'org_id', 'email', 'login', 'password', 'language', 'status', 'profile_list', 'allowed_org_list')); // Attributes to be displayed for the complete details MetaModel::Init_SetZListItems('details', array('contactid', 'org_id', 'email', 'login', 'password', 'expiration', 'password_renewed_date', 'language', 'status', 'profile_list', 'allowed_org_list')); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', array('first_name', 'last_name', 'login', 'org_id')); // Attributes to be displayed for a list MetaModel::Init_SetZListItems('list', array('first_name', 'last_name', 'login', 'org_id')); // Attributes to be displayed for a list
// Search criteria // Search criteria
MetaModel::Init_SetZListItems('standard_search', array('login', 'contactid', 'status', 'org_id')); // Criteria of the std search form MetaModel::Init_SetZListItems('standard_search', array('login', 'contactid', 'status', 'org_id')); // Criteria of the std search form

View File

@@ -110,8 +110,10 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:User+' => 'User login', 'Class:User+' => 'User login',
'Class:User/Attribute:finalclass' => 'Type of account', 'Class:User/Attribute:finalclass' => 'Type of account',
'Class:User/Attribute:finalclass+' => 'Name of the final class', 'Class:User/Attribute:finalclass+' => 'Name of the final class',
'Class:User/Attribute:contactid' => 'Contact (person)', 'Class:User/Attribute:contactid' => 'Person',
'Class:User/Attribute:contactid+' => 'Personal details from the business data', 'Class:User/Attribute:contactid+' => 'Personal details from the business data',
'Class:User/Attribute:org_id' => 'Organization',
'Class:User/Attribute:org_id+' => 'Organization of the associated person',
'Class:User/Attribute:last_name' => 'Last name', 'Class:User/Attribute:last_name' => 'Last name',
'Class:User/Attribute:last_name+' => 'Name of the corresponding contact', 'Class:User/Attribute:last_name+' => 'Name of the corresponding contact',
'Class:User/Attribute:first_name' => 'First name', 'Class:User/Attribute:first_name' => 'First name',
@@ -121,7 +123,7 @@ Dict::Add('EN US', 'English', 'English', array(
'Class:User/Attribute:login' => 'Login', 'Class:User/Attribute:login' => 'Login',
'Class:User/Attribute:login+' => 'user identification string', 'Class:User/Attribute:login+' => 'user identification string',
'Class:User/Attribute:language' => 'Language', 'Class:User/Attribute:language' => 'Language',
'Class:User/Attribute:language+' => 'user language', 'Class:User/Attribute:language+' => 'User language',
'Class:User/Attribute:language/Value:EN US' => 'English', 'Class:User/Attribute:language/Value:EN US' => 'English',
'Class:User/Attribute:language/Value:EN US+' => 'English (U.S.)', 'Class:User/Attribute:language/Value:EN US+' => 'English (U.S.)',
'Class:User/Attribute:language/Value:FR FR' => 'French', 'Class:User/Attribute:language/Value:FR FR' => 'French',

View File

@@ -93,8 +93,10 @@ Dict::Add('FR FR', 'French', 'Français', array(
'Class:User+' => 'Compte utilisateur', 'Class:User+' => 'Compte utilisateur',
'Class:User/Attribute:finalclass' => 'Type de compte', 'Class:User/Attribute:finalclass' => 'Type de compte',
'Class:User/Attribute:finalclass+' => 'Nom de la classe instanciable', 'Class:User/Attribute:finalclass+' => 'Nom de la classe instanciable',
'Class:User/Attribute:contactid' => 'Contact (personne)', 'Class:User/Attribute:contactid' => 'Personne',
'Class:User/Attribute:contactid+' => '', 'Class:User/Attribute:contactid+' => '',
'Class:User/Attribute:org_id' => 'Organisation',
'Class:User/Attribute:org_id+' => 'Organisation de la personne associée',
'Class:User/Attribute:last_name' => 'Nom', 'Class:User/Attribute:last_name' => 'Nom',
'Class:User/Attribute:last_name+' => '', 'Class:User/Attribute:last_name+' => '',
'Class:User/Attribute:first_name' => 'Prénom', 'Class:User/Attribute:first_name' => 'Prénom',