okééééééééééé mais pour ce qui est de la vie de cette variable SOCIETE_KEEP_PRESELECT_CURRENT_USER_AS_SALESREP_ON_CREATE
elle n’a jamais été dans le core on est d’accord ?
donc si on rembobine: entre v7 et v8 il y a eu un changement de mode de fonctionnement: lors de la création d’un tiers l’utilisateur qui créé le tiers n’est plus automatiquement lié comme contact commercial
je viens de faire un comparatif entre 7 et 8 en fait l’amélioration de fonctionnalité de la 8 par rapport à la 7 sur ce point est qu’en version 8 il est apparu la possibilité de choisir qui est le contact commercial du tiers alors qu’en 7 il n’y avait pas le choix c’était l’utilisateur qui créé le tiers point
donc il semble effectivement qu’il manque un truc qui serait le choix par défaut dans la liste déroulante … mais pourtant on dirait bien que c’est dans l’idée de ce bout de code extrait de la 8.0
$selected = (count(GETPOST('commercial', 'array')) > 0 ? GETPOST('commercial', 'array') : (GETPOST('commercial', 'int') > 0 ? array(GETPOST('commercial', 'int')) : (empty($user->rights->societe->client->voir)?array($user->id):array())));
Je n’arrive pas à lire ce genre de code … alors un petit coup de convertisseur me donne ça
if (count(GETPOST('commercial', 'array')) > 0) {
$selected = GETPOST('commercial', 'array');
} else {
if (GETPOST('commercial', 'int') > 0) {
$selected = array(GETPOST('commercial', 'int'));
} else {
if (empty($user->rights->societe->client->voir)) {
$selected = array($user->id);
} else {
$selected = array();
}
}
}
et donc à moins que je me soit planté dans la déconstruction du ternaire imbriqué … c’est que c’est le développeur qui s’est planté dans la fin et à inversé le selected = du selected = user_id
donc je vous invite à déconstruire le double ternaire et me dire s’il est bien ou pas ?
à mon avis il faudrait plutôt avoir
$selected = (count(GETPOST('commercial', 'array')) > 0 ? GETPOST('commercial', 'array') : (GETPOST('commercial', 'int') > 0 ? array(GETPOST('commercial', 'int')) : (!empty($user->rights->societe->client->voir)?array($user->id):array())));
ou
$selected = (count(GETPOST('commercial', 'array')) > 0 ? GETPOST('commercial', 'array') : (GETPOST('commercial', 'int') > 0 ? array(GETPOST('commercial', 'int')) : (empty($user->rights->societe->client->voir)?array():array($user->id))));
mais bon …