New: Ask password when creating a user from a contact
This commit is contained in:
parent
ca90ebabe0
commit
d3981aec14
@ -3,7 +3,10 @@ English Dolibarr ChangeLog
|
|||||||
***** ChangeLog for 3.1 compared to 3.0 *****
|
***** ChangeLog for 3.1 compared to 3.0 *****
|
||||||
For users:
|
For users:
|
||||||
- New: Can add information on current user on odt generation
|
- New: Can add information on current user on odt generation
|
||||||
|
- New: Prefix on third party is not used by default. Hidden option
|
||||||
|
SOCIETE_USEPREFIX can restore old feature.
|
||||||
- New: Standing orders module use bank account from banks module
|
- New: Standing orders module use bank account from banks module
|
||||||
|
- New: Ask password when creating a user from a contact
|
||||||
|
|
||||||
For developers:
|
For developers:
|
||||||
- New: External modules can add their menu manager
|
- New: External modules can add their menu manager
|
||||||
|
|||||||
@ -94,13 +94,29 @@ else
|
|||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
// Creation user
|
// Creation user
|
||||||
$nuser = new User($db);
|
$nuser = new User($db);
|
||||||
$result=$nuser->create_from_contact($object,$_POST["login"]);
|
$result=$nuser->create_from_contact($object,$_POST["login"]);
|
||||||
|
|
||||||
if ($result < 0)
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
$result2=$nuser->setPassword($user,$_POST["password"],0,1,1);
|
||||||
|
if ($result2)
|
||||||
|
{
|
||||||
|
$db->commit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$db->rollback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$msg=$nuser->error;
|
$msg=$nuser->error;
|
||||||
|
|
||||||
|
$db->rollback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -772,10 +788,27 @@ else
|
|||||||
include_once(DOL_DOCUMENT_ROOT.'/lib/functions2.lib.php');
|
include_once(DOL_DOCUMENT_ROOT.'/lib/functions2.lib.php');
|
||||||
$login=dol_buildlogin($object->nom,$object->prenom);
|
$login=dol_buildlogin($object->nom,$object->prenom);
|
||||||
|
|
||||||
// Create a form array
|
$generated_password='';
|
||||||
$formquestion=array(array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login));
|
if (!$ldap_sid)
|
||||||
|
{
|
||||||
|
if ($conf->global->USER_PASSWORD_GENERATED)
|
||||||
|
{
|
||||||
|
$nomclass="modGeneratePass".ucfirst($conf->global->USER_PASSWORD_GENERATED);
|
||||||
|
$nomfichier=$nomclass.".class.php";
|
||||||
|
//print DOL_DOCUMENT_ROOT."/includes/modules/security/generate/".$nomclass;
|
||||||
|
require_once(DOL_DOCUMENT_ROOT."/includes/modules/security/generate/".$nomfichier);
|
||||||
|
$genhandler=new $nomclass($db,$conf,$langs,$user);
|
||||||
|
$generated_password=$genhandler->getNewGeneratedPassword();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$password=$generated_password;
|
||||||
|
|
||||||
$ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("CreateDolibarrLogin"),$langs->trans("ConfirmCreateContact"),"confirm_create_user",$formquestion);
|
// Create a form array
|
||||||
|
$formquestion=array(
|
||||||
|
array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login),
|
||||||
|
array('label' => $langs->trans("Password"), 'type' => 'text', 'name' => 'password', 'value' => $password));
|
||||||
|
|
||||||
|
$ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("CreateDolibarrLogin"),$langs->trans("ConfirmCreateContact"),"confirm_create_user",$formquestion,'no');
|
||||||
if ($ret == 'html') print '<br>';
|
if ($ret == 'html') print '<br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1806,7 +1806,7 @@ class Form
|
|||||||
* @param title title
|
* @param title title
|
||||||
* @param question question
|
* @param question question
|
||||||
* @param action action
|
* @param action action
|
||||||
* @param formquestion an array with forms complementary inputs
|
* @param formquestion an array with complementary inputs to add into forms: array(array('label'=> ,'type'=> , ))
|
||||||
* @param selectedchoice "" or "no" or "yes"
|
* @param selectedchoice "" or "no" or "yes"
|
||||||
* @param useajax 0=No, 1=Yes, 2=Yes but submit page with &confirm=no if choice is No
|
* @param useajax 0=No, 1=Yes, 2=Yes but submit page with &confirm=no if choice is No
|
||||||
* @param height Force height of box
|
* @param height Force height of box
|
||||||
@ -1831,6 +1831,10 @@ class Form
|
|||||||
{
|
{
|
||||||
$more.='<tr><td valign="top">'.$input['label'].'</td><td valign="top" colspan="2" align="left"><input type="text" class="flat" name="'.$input['name'].'" size="'.$input['size'].'" value="'.$input['value'].'"></td></tr>'."\n";
|
$more.='<tr><td valign="top">'.$input['label'].'</td><td valign="top" colspan="2" align="left"><input type="text" class="flat" name="'.$input['name'].'" size="'.$input['size'].'" value="'.$input['value'].'"></td></tr>'."\n";
|
||||||
}
|
}
|
||||||
|
if ($input['type'] == 'password')
|
||||||
|
{
|
||||||
|
$more.='<tr><td valign="top">'.$input['label'].'</td><td valign="top" colspan="2" align="left"><input type="password" class="flat" name="'.$input['name'].'" size="'.$input['size'].'" value="'.$input['value'].'"></td></tr>'."\n";
|
||||||
|
}
|
||||||
if ($input['type'] == 'select')
|
if ($input['type'] == 'select')
|
||||||
{
|
{
|
||||||
$more.='<tr><td valign="top">';
|
$more.='<tr><td valign="top">';
|
||||||
|
|||||||
@ -808,12 +808,13 @@ class User extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Cree en base un utilisateur depuis l'objet contact
|
* Cree en base un utilisateur depuis l'objet contact
|
||||||
* \param contact Objet du contact source
|
* @param contact Objet du contact source
|
||||||
* \param login Login to force
|
* @param login Login to force
|
||||||
* \return int si erreur <0, si ok renvoie id compte cree
|
* @param password Password to force
|
||||||
|
* @return int <0 if error, if OK returns id of created user
|
||||||
*/
|
*/
|
||||||
function create_from_contact($contact,$login='')
|
function create_from_contact($contact,$login='',$password='')
|
||||||
{
|
{
|
||||||
global $conf,$user,$langs;
|
global $conf,$user,$langs;
|
||||||
|
|
||||||
@ -1177,13 +1178,13 @@ class User extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Change le mot de passe d'un utilisateur
|
* Change password of a user
|
||||||
* \param user Object user de l'utilisateur qui fait la modification
|
* @param user Object user of user making change
|
||||||
* \param password Nouveau mot de passe en clair (a generer si non communique)
|
* @param password New password in clear text (to generate if not provided)
|
||||||
* \param changelater 1=Change password only after clicking on confirm email
|
* @param changelater 1=Change password only after clicking on confirm email
|
||||||
* \param notrigger 1=Ne declenche pas les triggers
|
* @param notrigger 1=Does not launch triggers
|
||||||
* \param nosyncmember Do not synchronize linked member
|
* @param nosyncmember Do not synchronize linked member
|
||||||
* \return string If OK return clear password, 0 if no change, < 0 if error
|
* @return string If OK return clear password, 0 if no change, < 0 if error
|
||||||
*/
|
*/
|
||||||
function setPassword($user, $password='', $changelater=0, $notrigger=0, $nosyncmember=0)
|
function setPassword($user, $password='', $changelater=0, $notrigger=0, $nosyncmember=0)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user