Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
30d2c8fb56
@ -1064,7 +1064,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
|
|||||||
print '<table class="border centpercent">';
|
print '<table class="border centpercent">';
|
||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
print '<tr><td class="titlefieldcreate">'.$langs->trans("Ref").'</td><td class="valeur">'.$object->id.'</td></tr>';
|
print '<tr><td class="titlefieldcreate">'.$langs->trans("Ref").'</td><td class="valeur">'.$object->ref.'</td></tr>';
|
||||||
|
|
||||||
// Login
|
// Login
|
||||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) {
|
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) {
|
||||||
|
|||||||
@ -63,19 +63,24 @@ if ((!empty($foruserid) || !empty($foruserlogin) || !empty($mode)) && !$mesg) {
|
|||||||
$arrayofmembers = array();
|
$arrayofmembers = array();
|
||||||
|
|
||||||
// request taking into account member with up to date subscriptions
|
// request taking into account member with up to date subscriptions
|
||||||
$sql = "SELECT d.rowid, d.firstname, d.lastname, d.login, d.societe as company, d.datefin,";
|
$sql = "SELECT d.rowid, d.ref, d.firstname, d.lastname, d.login, d.societe as company, d.datefin,";
|
||||||
$sql .= " d.address, d.zip, d.town, d.country, d.birth, d.email, d.photo,";
|
$sql .= " d.address, d.zip, d.town, d.country, d.birth, d.email, d.photo,";
|
||||||
$sql .= " t.libelle as type,";
|
$sql .= " t.libelle as type,";
|
||||||
$sql .= " c.code as country_code, c.label as country";
|
$sql .= " c.code as country_code, c.label as country";
|
||||||
// Add fields from extrafields
|
// Add fields from extrafields
|
||||||
if (!empty($extrafields->attributes[$object->table_element]['label']))
|
if (!empty($extrafields->attributes[$object->table_element]['label'])) {
|
||||||
foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : '');
|
foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) {
|
||||||
|
$sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key : '');
|
||||||
|
}
|
||||||
|
}
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as t, ".MAIN_DB_PREFIX."adherent as d";
|
$sql .= " FROM ".MAIN_DB_PREFIX."adherent_type as t, ".MAIN_DB_PREFIX."adherent as d";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON d.country = c.rowid";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON d.country = c.rowid";
|
||||||
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."adherent_extrafields as ef on (d.rowid = ef.fk_object)";
|
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) {
|
||||||
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."adherent_extrafields as ef on (d.rowid = ef.fk_object)";
|
||||||
|
}
|
||||||
$sql .= " WHERE d.fk_adherent_type = t.rowid AND d.statut = 1";
|
$sql .= " WHERE d.fk_adherent_type = t.rowid AND d.statut = 1";
|
||||||
$sql .= " AND d.entity IN (".getEntity('adherent').")";
|
$sql .= " AND d.entity IN (".getEntity('adherent').")";
|
||||||
if (is_numeric($foruserid)) $sql .= " AND d.rowid=".$foruserid;
|
if (is_numeric($foruserid)) $sql .= " AND d.rowid=".(int) $foruserid;
|
||||||
if ($foruserlogin) $sql .= " AND d.login='".$db->escape($foruserlogin)."'";
|
if ($foruserlogin) $sql .= " AND d.login='".$db->escape($foruserlogin)."'";
|
||||||
$sql .= " ORDER BY d.rowid ASC";
|
$sql .= " ORDER BY d.rowid ASC";
|
||||||
|
|
||||||
@ -90,6 +95,7 @@ if ((!empty($foruserid) || !empty($foruserlogin) || !empty($mode)) && !$mesg) {
|
|||||||
if ($objp->country == '-') $objp->country = '';
|
if ($objp->country == '-') $objp->country = '';
|
||||||
|
|
||||||
$adherentstatic->id = $objp->rowid;
|
$adherentstatic->id = $objp->rowid;
|
||||||
|
$adherentstatic->ref = $objp->ref;
|
||||||
$adherentstatic->lastname = $objp->lastname;
|
$adherentstatic->lastname = $objp->lastname;
|
||||||
$adherentstatic->firstname = $objp->firstname;
|
$adherentstatic->firstname = $objp->firstname;
|
||||||
|
|
||||||
@ -110,6 +116,7 @@ if ((!empty($foruserid) || !empty($foruserlogin) || !empty($mode)) && !$mesg) {
|
|||||||
// List of values to scan for a replacement
|
// List of values to scan for a replacement
|
||||||
$substitutionarray = array(
|
$substitutionarray = array(
|
||||||
'__ID__'=>$objp->rowid,
|
'__ID__'=>$objp->rowid,
|
||||||
|
'__REF__'=>$objp->ref,
|
||||||
'__LOGIN__'=>$objp->login,
|
'__LOGIN__'=>$objp->login,
|
||||||
'__FIRSTNAME__'=>$objp->firstname,
|
'__FIRSTNAME__'=>$objp->firstname,
|
||||||
'__LASTNAME__'=>$objp->lastname,
|
'__LASTNAME__'=>$objp->lastname,
|
||||||
@ -149,6 +156,7 @@ if ((!empty($foruserid) || !empty($foruserlogin) || !empty($mode)) && !$mesg) {
|
|||||||
'textfooter'=>$textfooter,
|
'textfooter'=>$textfooter,
|
||||||
'textright'=>$textright,
|
'textright'=>$textright,
|
||||||
'id'=>$objp->rowid,
|
'id'=>$objp->rowid,
|
||||||
|
'ref'=>$objp->ref,
|
||||||
'photo'=>$objp->photo
|
'photo'=>$objp->photo
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -159,6 +167,7 @@ if ((!empty($foruserid) || !empty($foruserlogin) || !empty($mode)) && !$mesg) {
|
|||||||
'textfooter'=>$textfooter,
|
'textfooter'=>$textfooter,
|
||||||
'textright'=>$textright,
|
'textright'=>$textright,
|
||||||
'id'=>$objp->rowid,
|
'id'=>$objp->rowid,
|
||||||
|
'ref'=>$objp->ref,
|
||||||
'photo'=>$objp->photo
|
'photo'=>$objp->photo
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -172,12 +181,15 @@ if ((!empty($foruserid) || !empty($foruserlogin) || !empty($mode)) && !$mesg) {
|
|||||||
$textfooter = '';
|
$textfooter = '';
|
||||||
$textright = '';
|
$textright = '';
|
||||||
|
|
||||||
$arrayofmembers[] = array('textleft'=>$textleft,
|
$arrayofmembers[] = array(
|
||||||
'textheader'=>$textheader,
|
'textleft'=>$textleft,
|
||||||
'textfooter'=>$textfooter,
|
'textheader'=>$textheader,
|
||||||
'textright'=>$textright,
|
'textfooter'=>$textfooter,
|
||||||
'id'=>$objp->rowid,
|
'textright'=>$textright,
|
||||||
'photo'=>$objp->photo);
|
'id'=>$objp->rowid,
|
||||||
|
'ref'=>$objp->ref,
|
||||||
|
'photo'=>$objp->photo,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|||||||
@ -288,6 +288,7 @@ class Adherent extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $fields = array(
|
public $fields = array(
|
||||||
'rowid' => array('type' => 'integer', 'label' => 'TechnicalID', 'enabled' => 1, 'visible' => -1, 'notnull' => 1, 'position' => 10),
|
'rowid' => array('type' => 'integer', 'label' => 'TechnicalID', 'enabled' => 1, 'visible' => -1, 'notnull' => 1, 'position' => 10),
|
||||||
|
'ref' => array('type' => 'varchar(30)', 'label' => 'Ref', 'default' => 1, 'enabled' => 1, 'visible' => -1, 'notnull' => 1, 'position' => 12, 'index' => 1),
|
||||||
'entity' => array('type' => 'integer', 'label' => 'Entity', 'default' => 1, 'enabled' => 1, 'visible' => -2, 'notnull' => 1, 'position' => 15, 'index' => 1),
|
'entity' => array('type' => 'integer', 'label' => 'Entity', 'default' => 1, 'enabled' => 1, 'visible' => -2, 'notnull' => 1, 'position' => 15, 'index' => 1),
|
||||||
'ref_ext' => array('type' => 'varchar(128)', 'label' => 'Ref ext', 'enabled' => 1, 'visible' => 0, 'position' => 20),
|
'ref_ext' => array('type' => 'varchar(128)', 'label' => 'Ref ext', 'enabled' => 1, 'visible' => 0, 'position' => 20),
|
||||||
'civility' => array('type' => 'varchar(6)', 'label' => 'Civility', 'enabled' => 1, 'visible' => -1, 'position' => 25),
|
'civility' => array('type' => 'varchar(6)', 'label' => 'Civility', 'enabled' => 1, 'visible' => -1, 'position' => 25),
|
||||||
@ -417,6 +418,7 @@ class Adherent extends CommonObject
|
|||||||
$infos = '';
|
$infos = '';
|
||||||
if ($this->civility_id) $infos .= $langs->transnoentities("UserTitle").": ".$this->getCivilityLabel()."\n";
|
if ($this->civility_id) $infos .= $langs->transnoentities("UserTitle").": ".$this->getCivilityLabel()."\n";
|
||||||
$infos .= $langs->transnoentities("id").": ".$this->id."\n";
|
$infos .= $langs->transnoentities("id").": ".$this->id."\n";
|
||||||
|
$infos .= $langs->transnoentities("ref").": ".$this->ref."\n";
|
||||||
$infos .= $langs->transnoentities("Lastname").": ".$this->lastname."\n";
|
$infos .= $langs->transnoentities("Lastname").": ".$this->lastname."\n";
|
||||||
$infos .= $langs->transnoentities("Firstname").": ".$this->firstname."\n";
|
$infos .= $langs->transnoentities("Firstname").": ".$this->firstname."\n";
|
||||||
$infos .= $langs->transnoentities("Company").": ".$this->company."\n";
|
$infos .= $langs->transnoentities("Company").": ".$this->company."\n";
|
||||||
@ -438,15 +440,20 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
// Substitutions
|
// Substitutions
|
||||||
$substitutionarray = array(
|
$substitutionarray = array(
|
||||||
'__ID__' => $this->id, '__MEMBER_ID__' => $this->id, '__CIVILITY__' => $this->getCivilityLabel(),
|
'__ID__' => $this->id,
|
||||||
|
'__REF__' => $this->ref,
|
||||||
|
'__MEMBER_ID__' => $this->id,
|
||||||
|
'__CIVILITY__' => $this->getCivilityLabel(),
|
||||||
'__FIRSTNAME__' => $msgishtml ? dol_htmlentitiesbr($this->firstname) : ($this->firstname ? $this->firstname : ''),
|
'__FIRSTNAME__' => $msgishtml ? dol_htmlentitiesbr($this->firstname) : ($this->firstname ? $this->firstname : ''),
|
||||||
'__LASTNAME__' => $msgishtml ? dol_htmlentitiesbr($this->lastname) : ($this->lastname ? $this->lastname : ''),
|
'__LASTNAME__' => $msgishtml ? dol_htmlentitiesbr($this->lastname) : ($this->lastname ? $this->lastname : ''),
|
||||||
'__FULLNAME__' => $msgishtml ? dol_htmlentitiesbr($this->getFullName($langs)) : $this->getFullName($langs),
|
'__FULLNAME__' => $msgishtml ? dol_htmlentitiesbr($this->getFullName($langs)) : $this->getFullName($langs),
|
||||||
'__COMPANY__' => $msgishtml ? dol_htmlentitiesbr($this->company) : ($this->company ? $this->company : ''),
|
'__COMPANY__' => $msgishtml ? dol_htmlentitiesbr($this->company) : ($this->company ? $this->company : ''),
|
||||||
'__ADDRESS__' => $msgishtml ? dol_htmlentitiesbr($this->address) : ($this->address ? $this->address : ''),
|
'__ADDRESS__' => $msgishtml ? dol_htmlentitiesbr($this->address) : ($this->address ? $this->address : ''),
|
||||||
'__ZIP__' => $msgishtml ? dol_htmlentitiesbr($this->zip) : ($this->zip ? $this->zip : ''), '__TOWN__' => $msgishtml ? dol_htmlentitiesbr($this->town) : ($this->town ? $this->town : ''),
|
'__ZIP__' => $msgishtml ? dol_htmlentitiesbr($this->zip) : ($this->zip ? $this->zip : ''),
|
||||||
|
'__TOWN__' => $msgishtml ? dol_htmlentitiesbr($this->town) : ($this->town ? $this->town : ''),
|
||||||
'__COUNTRY__' => $msgishtml ? dol_htmlentitiesbr($this->country) : ($this->country ? $this->country : ''),
|
'__COUNTRY__' => $msgishtml ? dol_htmlentitiesbr($this->country) : ($this->country ? $this->country : ''),
|
||||||
'__EMAIL__' => $msgishtml ? dol_htmlentitiesbr($this->email) : ($this->email ? $this->email : ''), '__BIRTH__' => $msgishtml ? dol_htmlentitiesbr($birthday) : ($birthday ? $birthday : ''),
|
'__EMAIL__' => $msgishtml ? dol_htmlentitiesbr($this->email) : ($this->email ? $this->email : ''),
|
||||||
|
'__BIRTH__' => $msgishtml ? dol_htmlentitiesbr($birthday) : ($birthday ? $birthday : ''),
|
||||||
'__PHOTO__' => $msgishtml ? dol_htmlentitiesbr($this->photo) : ($this->photo ? $this->photo : ''),
|
'__PHOTO__' => $msgishtml ? dol_htmlentitiesbr($this->photo) : ($this->photo ? $this->photo : ''),
|
||||||
'__LOGIN__' => $msgishtml ? dol_htmlentitiesbr($this->login) : ($this->login ? $this->login : ''),
|
'__LOGIN__' => $msgishtml ? dol_htmlentitiesbr($this->login) : ($this->login ? $this->login : ''),
|
||||||
'__PASSWORD__' => $msgishtml ? dol_htmlentitiesbr($this->pass) : ($this->pass ? $this->pass : ''),
|
'__PASSWORD__' => $msgishtml ? dol_htmlentitiesbr($this->pass) : ($this->pass ? $this->pass : ''),
|
||||||
@ -519,9 +526,10 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
// Insert member
|
// Insert member
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."adherent";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."adherent";
|
||||||
$sql .= " (datec,login,fk_user_author,fk_user_mod,fk_user_valid,morphy,fk_adherent_type,entity,import_key)";
|
$sql .= " (ref, datec,login,fk_user_author,fk_user_mod,fk_user_valid,morphy,fk_adherent_type,entity,import_key)";
|
||||||
$sql .= " VALUES (";
|
$sql .= " VALUES (";
|
||||||
$sql .= " '".$this->db->idate($this->datec)."'";
|
$sql .= " '(PROV)'";
|
||||||
|
$sql .= ", '".$this->db->idate($this->datec)."'";
|
||||||
$sql .= ", ".($this->login ? "'".$this->db->escape($this->login)."'" : "null");
|
$sql .= ", ".($this->login ? "'".$this->db->escape($this->login)."'" : "null");
|
||||||
$sql .= ", ".($user->id > 0 ? $user->id : "null"); // Can be null because member can be created by a guest or a script
|
$sql .= ", ".($user->id > 0 ? $user->id : "null"); // Can be null because member can be created by a guest or a script
|
||||||
$sql .= ", null, null, '".$this->db->escape($this->morphy)."'";
|
$sql .= ", null, null, '".$this->db->escape($this->morphy)."'";
|
||||||
@ -635,7 +643,8 @@ class Adherent extends CommonObject
|
|||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET";
|
||||||
$sql .= " civility = ".($this->civility_id ? "'".$this->db->escape($this->civility_id)."'" : "null");
|
$sql .= " ref = '".$this->db->escape($this->ref)."'";
|
||||||
|
$sql .= ", civility = ".($this->civility_id ? "'".$this->db->escape($this->civility_id)."'" : "null");
|
||||||
$sql .= ", firstname = ".($this->firstname ? "'".$this->db->escape($this->firstname)."'" : "null");
|
$sql .= ", firstname = ".($this->firstname ? "'".$this->db->escape($this->firstname)."'" : "null");
|
||||||
$sql .= ", lastname = ".($this->lastname ? "'".$this->db->escape($this->lastname)."'" : "null");
|
$sql .= ", lastname = ".($this->lastname ? "'".$this->db->escape($this->lastname)."'" : "null");
|
||||||
$sql .= ", gender = ".($this->gender != -1 ? "'".$this->db->escape($this->gender)."'" : "null"); // 'man' or 'woman'
|
$sql .= ", gender = ".($this->gender != -1 ? "'".$this->db->escape($this->gender)."'" : "null"); // 'man' or 'woman'
|
||||||
@ -752,6 +761,7 @@ class Adherent extends CommonObject
|
|||||||
// If option ADHERENT_LOGIN_NOT_REQUIRED is on, there is no login of member, so we do not overwrite user login to keep existing one.
|
// If option ADHERENT_LOGIN_NOT_REQUIRED is on, there is no login of member, so we do not overwrite user login to keep existing one.
|
||||||
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $luser->login = $this->login;
|
if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $luser->login = $this->login;
|
||||||
|
|
||||||
|
$luser->ref = $this->ref;
|
||||||
$luser->civility_id = $this->civility_id;
|
$luser->civility_id = $this->civility_id;
|
||||||
$luser->firstname = $this->firstname;
|
$luser->firstname = $this->firstname;
|
||||||
$luser->lastname = $this->lastname;
|
$luser->lastname = $this->lastname;
|
||||||
@ -1242,7 +1252,8 @@ class Adherent extends CommonObject
|
|||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$sql = "SELECT d.rowid, d.ref_ext, d.civility as civility_code, d.gender, d.firstname, d.lastname, d.societe as company, d.fk_soc, d.statut, d.public, d.address, d.zip, d.town, d.note_private,";
|
$sql = "SELECT d.rowid, d.ref, d.ref_ext, d.civility as civility_code, d.gender, d.firstname, d.lastname,";
|
||||||
|
$sql .= " d.societe as company, d.fk_soc, d.statut, d.public, d.address, d.zip, d.town, d.note_private,";
|
||||||
$sql .= " d.note_public,";
|
$sql .= " d.note_public,";
|
||||||
$sql .= " d.email, d.socialnetworks, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass, d.pass_crypted,";
|
$sql .= " d.email, d.socialnetworks, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass, d.pass_crypted,";
|
||||||
$sql .= " d.photo, d.fk_adherent_type, d.morphy, d.entity,";
|
$sql .= " d.photo, d.fk_adherent_type, d.morphy, d.entity,";
|
||||||
@ -1268,7 +1279,7 @@ class Adherent extends CommonObject
|
|||||||
} elseif ($ref || $fk_soc) {
|
} elseif ($ref || $fk_soc) {
|
||||||
$sql .= " AND d.entity IN (".getEntity('adherent').")";
|
$sql .= " AND d.entity IN (".getEntity('adherent').")";
|
||||||
if ($ref) {
|
if ($ref) {
|
||||||
$sql .= " AND d.rowid='".$this->db->escape($ref)."'";
|
$sql .= " AND d.ref='".$this->db->escape($ref)."'";
|
||||||
} elseif ($fk_soc > 0) {
|
} elseif ($fk_soc > 0) {
|
||||||
$sql .= " AND d.fk_soc=".((int) $fk_soc);
|
$sql .= " AND d.fk_soc=".((int) $fk_soc);
|
||||||
}
|
}
|
||||||
@ -1283,8 +1294,8 @@ class Adherent extends CommonObject
|
|||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
$this->entity = $obj->entity;
|
$this->entity = $obj->entity;
|
||||||
$this->ref = $obj->rowid;
|
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
|
$this->ref = $obj->ref;
|
||||||
$this->ref_ext = $obj->ref_ext;
|
$this->ref_ext = $obj->ref_ext;
|
||||||
|
|
||||||
$this->civility_id = $obj->civility_code; // Bad. Kept for backard compatibility
|
$this->civility_id = $obj->civility_code; // Bad. Kept for backard compatibility
|
||||||
@ -2072,7 +2083,7 @@ class Adherent extends CommonObject
|
|||||||
if ($mode == 'login') {
|
if ($mode == 'login') {
|
||||||
$result .= dol_trunc($this->login, $maxlen);
|
$result .= dol_trunc($this->login, $maxlen);
|
||||||
} elseif ($mode == 'ref') {
|
} elseif ($mode == 'ref') {
|
||||||
$result .= $this->id;
|
$result .= $this->ref;
|
||||||
} else {
|
} else {
|
||||||
$result .= $this->getFullName($langs, '', ($mode == 'firstname' ? 2 : ($mode == 'lastname' ? 4 : -1)), $maxlen);
|
$result .= $this->getFullName($langs, '', ($mode == 'firstname' ? 2 : ($mode == 'lastname' ? 4 : -1)), $maxlen);
|
||||||
}
|
}
|
||||||
@ -2317,6 +2328,7 @@ class Adherent extends CommonObject
|
|||||||
|
|
||||||
// Initialise parametres
|
// Initialise parametres
|
||||||
$this->id = 0;
|
$this->id = 0;
|
||||||
|
$this->ref = 'ABC001';
|
||||||
$this->entity = 1;
|
$this->entity = 1;
|
||||||
$this->specimen = 1;
|
$this->specimen = 1;
|
||||||
$this->civility_id = 0;
|
$this->civility_id = 0;
|
||||||
|
|||||||
@ -101,7 +101,7 @@ $search_array_options = $extrafields->getOptionalsFromPost($object->table_elemen
|
|||||||
|
|
||||||
// List of fields to search into when doing a "search in all"
|
// List of fields to search into when doing a "search in all"
|
||||||
$fieldstosearchall = array(
|
$fieldstosearchall = array(
|
||||||
'd.rowid'=>'Ref',
|
'd.ref'=>'Ref',
|
||||||
'd.login'=>'Login',
|
'd.login'=>'Login',
|
||||||
'd.lastname'=>'Lastname',
|
'd.lastname'=>'Lastname',
|
||||||
'd.firstname'=>'Firstname',
|
'd.firstname'=>'Firstname',
|
||||||
@ -246,7 +246,7 @@ $memberstatic = new Adherent($db);
|
|||||||
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
|
|
||||||
$sql = "SELECT d.rowid, d.login, d.lastname, d.firstname, d.gender, d.societe as company, d.fk_soc,";
|
$sql = "SELECT d.rowid, d.ref, d.login, d.lastname, d.firstname, d.gender, d.societe as company, d.fk_soc,";
|
||||||
$sql .= " d.civility, d.datefin, d.address, d.zip, d.town, d.state_id, d.country,";
|
$sql .= " d.civility, d.datefin, d.address, d.zip, d.town, d.state_id, d.country,";
|
||||||
$sql .= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.skype, d.birth, d.public, d.photo,";
|
$sql .= " d.email, d.phone, d.phone_perso, d.phone_mobile, d.skype, d.birth, d.public, d.photo,";
|
||||||
$sql .= " d.fk_adherent_type as type_id, d.morphy, d.statut, d.datec as date_creation, d.tms as date_update,";
|
$sql .= " d.fk_adherent_type as type_id, d.morphy, d.statut, d.datec as date_creation, d.tms as date_update,";
|
||||||
@ -263,8 +263,13 @@ $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // N
|
|||||||
$sql .= preg_replace('/^,/', '', $hookmanager->resPrint);
|
$sql .= preg_replace('/^,/', '', $hookmanager->resPrint);
|
||||||
$sql = preg_replace('/,\s*$/', '', $sql);
|
$sql = preg_replace('/,\s*$/', '', $sql);
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."adherent as d";
|
$sql .= " FROM ".MAIN_DB_PREFIX."adherent as d";
|
||||||
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (d.rowid = ef.fk_object)";
|
if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) {
|
||||||
if (!empty($search_categ) || !empty($catid)) $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_member as cm ON d.rowid = cm.fk_member"; // We need this table joined to the select in order to filter by categ
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (d.rowid = ef.fk_object)";
|
||||||
|
}
|
||||||
|
if (!empty($search_categ) || !empty($catid)) {
|
||||||
|
// We need this table joined to the select in order to filter by categ
|
||||||
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_member as cm ON d.rowid = cm.fk_member";
|
||||||
|
}
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = d.country)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = d.country)";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = d.state_id)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = d.state_id)";
|
||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on (s.rowid = d.fk_soc)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s on (s.rowid = d.fk_soc)";
|
||||||
@ -280,10 +285,12 @@ if ($search_type > 0) $sql .= " AND t.rowid=".$db->escape($search_type);
|
|||||||
if ($search_filter == 'withoutsubscription') $sql .= " AND (datefin IS NULL OR t.subscription = 0)";
|
if ($search_filter == 'withoutsubscription') $sql .= " AND (datefin IS NULL OR t.subscription = 0)";
|
||||||
if ($search_filter == 'uptodate') $sql .= " AND (datefin >= '".$db->idate($now)."' OR t.subscription = 0)";
|
if ($search_filter == 'uptodate') $sql .= " AND (datefin >= '".$db->idate($now)."' OR t.subscription = 0)";
|
||||||
if ($search_filter == 'outofdate') $sql .= " AND (datefin < '".$db->idate($now)."' AND t.subscription = 1)";
|
if ($search_filter == 'outofdate') $sql .= " AND (datefin < '".$db->idate($now)."' AND t.subscription = 1)";
|
||||||
if ($search_status != '') $sql .= " AND d.statut in (".$db->sanitize($db->escape($search_status)).")"; // Peut valoir un nombre ou liste de nombre separes par virgules
|
if ($search_status != '') {
|
||||||
|
// Peut valoir un nombre ou liste de nombre separes par virgules
|
||||||
|
$sql .= " AND d.statut in (".$db->sanitize($db->escape($search_status)).")";
|
||||||
|
}
|
||||||
if ($search_ref) {
|
if ($search_ref) {
|
||||||
if (is_numeric($search_ref)) $sql .= " AND (d.rowid = ".$db->escape($search_ref).")";
|
$sql .= natural_search("d.ref", $search_ref);
|
||||||
else $sql .= " AND 1 = 2"; // Always wrong
|
|
||||||
}
|
}
|
||||||
if ($search_civility) $sql .= natural_search("d.civility", $search_civility);
|
if ($search_civility) $sql .= natural_search("d.civility", $search_civility);
|
||||||
if ($search_firstname) $sql .= natural_search("d.firstname", $search_firstname);
|
if ($search_firstname) $sql .= natural_search("d.firstname", $search_firstname);
|
||||||
@ -602,7 +609,7 @@ print "</tr>\n";
|
|||||||
|
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
if (!empty($conf->global->MAIN_SHOW_TECHNICAL_ID)) print_liste_field_titre("ID", $_SERVER["PHP_SELF"], '', '', $param, 'align="center"', $sortfield, $sortorder);
|
if (!empty($conf->global->MAIN_SHOW_TECHNICAL_ID)) print_liste_field_titre("ID", $_SERVER["PHP_SELF"], '', '', $param, 'align="center"', $sortfield, $sortorder);
|
||||||
if (!empty($arrayfields['d.ref']['checked'])) print_liste_field_titre($arrayfields['d.ref']['label'], $_SERVER["PHP_SELF"], 'd.rowid', '', $param, '', $sortfield, $sortorder);
|
if (!empty($arrayfields['d.ref']['checked'])) print_liste_field_titre($arrayfields['d.ref']['label'], $_SERVER["PHP_SELF"], 'd.ref', '', $param, '', $sortfield, $sortorder);
|
||||||
if (!empty($arrayfields['d.civility']['checked'])) print_liste_field_titre($arrayfields['d.civility']['label'], $_SERVER["PHP_SELF"], 'd.civility', '', $param, '', $sortfield, $sortorder);
|
if (!empty($arrayfields['d.civility']['checked'])) print_liste_field_titre($arrayfields['d.civility']['label'], $_SERVER["PHP_SELF"], 'd.civility', '', $param, '', $sortfield, $sortorder);
|
||||||
if (!empty($arrayfields['d.firstname']['checked'])) print_liste_field_titre($arrayfields['d.firstname']['label'], $_SERVER["PHP_SELF"], 'd.firstname', '', $param, '', $sortfield, $sortorder);
|
if (!empty($arrayfields['d.firstname']['checked'])) print_liste_field_titre($arrayfields['d.firstname']['label'], $_SERVER["PHP_SELF"], 'd.firstname', '', $param, '', $sortfield, $sortorder);
|
||||||
if (!empty($arrayfields['d.lastname']['checked'])) print_liste_field_titre($arrayfields['d.lastname']['label'], $_SERVER["PHP_SELF"], 'd.lastname', '', $param, '', $sortfield, $sortorder);
|
if (!empty($arrayfields['d.lastname']['checked'])) print_liste_field_titre($arrayfields['d.lastname']['label'], $_SERVER["PHP_SELF"], 'd.lastname', '', $param, '', $sortfield, $sortorder);
|
||||||
@ -642,7 +649,7 @@ while ($i < min($num, $limit)) {
|
|||||||
|
|
||||||
$datefin = $db->jdate($obj->datefin);
|
$datefin = $db->jdate($obj->datefin);
|
||||||
$memberstatic->id = $obj->rowid;
|
$memberstatic->id = $obj->rowid;
|
||||||
$memberstatic->ref = $obj->rowid;
|
$memberstatic->ref = $obj->ref;
|
||||||
$memberstatic->civility_id = $obj->civility;
|
$memberstatic->civility_id = $obj->civility;
|
||||||
$memberstatic->lastname = $obj->lastname;
|
$memberstatic->lastname = $obj->lastname;
|
||||||
$memberstatic->firstname = $obj->firstname;
|
$memberstatic->firstname = $obj->firstname;
|
||||||
|
|||||||
@ -60,7 +60,6 @@ ALTER TABLE llx_mrp_mo_extrafields ADD INDEX idx_mrp_mo_fk_object(fk_object);
|
|||||||
|
|
||||||
|
|
||||||
-- For v13
|
-- For v13
|
||||||
|
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (111,11, '0','0','No Sales Tax',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (111,11, '0','0','No Sales Tax',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (112,11, '4','0','Sales Tax 4%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (112,11, '4','0','Sales Tax 4%',1);
|
||||||
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (113,11, '6','0','Sales Tax 6%',1);
|
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (113,11, '6','0','Sales Tax 6%',1);
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
|
|
||||||
ALTER TABLE llx_adherent ADD UNIQUE INDEX uk_adherent_login (login, entity);
|
ALTER TABLE llx_adherent ADD UNIQUE INDEX uk_adherent_login (login, entity);
|
||||||
|
ALTER TABLE llx_adherent ADD UNIQUE INDEX uk_adherent_ref (ref, entity);
|
||||||
ALTER TABLE llx_adherent ADD UNIQUE INDEX uk_adherent_fk_soc (fk_soc);
|
ALTER TABLE llx_adherent ADD UNIQUE INDEX uk_adherent_fk_soc (fk_soc);
|
||||||
|
|
||||||
ALTER TABLE llx_adherent ADD INDEX idx_adherent_fk_adherent_type (fk_adherent_type);
|
ALTER TABLE llx_adherent ADD INDEX idx_adherent_fk_adherent_type (fk_adherent_type);
|
||||||
|
|||||||
@ -27,20 +27,21 @@
|
|||||||
create table llx_adherent
|
create table llx_adherent
|
||||||
(
|
(
|
||||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
ref varchar(30) NOT NULL, -- member reference number
|
||||||
|
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||||
ref_ext varchar(128), -- reference into an external system (not used by dolibarr)
|
ref_ext varchar(128), -- reference into an external system (not used by dolibarr)
|
||||||
|
|
||||||
gender varchar(10),
|
gender varchar(10),
|
||||||
civility varchar(6),
|
civility varchar(6),
|
||||||
lastname varchar(50),
|
lastname varchar(50),
|
||||||
firstname varchar(50),
|
firstname varchar(50),
|
||||||
login varchar(50), -- login
|
login varchar(50), -- login
|
||||||
pass varchar(50), -- password
|
pass varchar(50), -- password
|
||||||
pass_crypted varchar(128),
|
pass_crypted varchar(128),
|
||||||
fk_adherent_type integer NOT NULL,
|
fk_adherent_type integer NOT NULL,
|
||||||
morphy varchar(3) NOT NULL, -- personne morale / personne physique
|
morphy varchar(3) NOT NULL, -- personne morale / personne physique
|
||||||
societe varchar(128), -- company name (should be same length than societe.name). No more used.
|
societe varchar(128), -- company name (should be same length than societe.name). No more used.
|
||||||
fk_soc integer NULL, -- Link to third party linked to member
|
fk_soc integer NULL, -- Link to third party linked to member
|
||||||
address text,
|
address text,
|
||||||
zip varchar(30),
|
zip varchar(30),
|
||||||
town varchar(50),
|
town varchar(50),
|
||||||
@ -48,34 +49,34 @@ create table llx_adherent
|
|||||||
country integer,
|
country integer,
|
||||||
email varchar(255),
|
email varchar(255),
|
||||||
|
|
||||||
socialnetworks text DEFAULT NULL, -- json with socialnetworks
|
socialnetworks text DEFAULT NULL, -- json with socialnetworks
|
||||||
skype varchar(255),
|
skype varchar(255), -- deprecated
|
||||||
twitter varchar(255), --
|
twitter varchar(255), -- deprecated
|
||||||
facebook varchar(255), --
|
facebook varchar(255), -- deprecated
|
||||||
linkedin varchar(255), --
|
linkedin varchar(255), -- deprecated
|
||||||
instagram varchar(255), --
|
instagram varchar(255), -- deprecated
|
||||||
snapchat varchar(255), --
|
snapchat varchar(255), -- deprecated
|
||||||
googleplus varchar(255), --
|
googleplus varchar(255), -- deprecated
|
||||||
youtube varchar(255), --
|
youtube varchar(255), -- deprecated
|
||||||
whatsapp varchar(255), --
|
whatsapp varchar(255), -- deprecated
|
||||||
|
|
||||||
phone varchar(30),
|
phone varchar(30),
|
||||||
phone_perso varchar(30),
|
phone_perso varchar(30),
|
||||||
phone_mobile varchar(30),
|
phone_mobile varchar(30),
|
||||||
birth date, -- birthday
|
birth date, -- birthday
|
||||||
photo varchar(255), -- filename or url of photo
|
photo varchar(255), -- filename or url of photo
|
||||||
statut smallint NOT NULL DEFAULT 0,
|
statut smallint NOT NULL DEFAULT 0,
|
||||||
public smallint NOT NULL DEFAULT 0, -- certain champ de la fiche sont ils public ou pas ?
|
public smallint NOT NULL DEFAULT 0, -- certain champ de la fiche sont ils public ou pas ?
|
||||||
datefin datetime, -- date de fin de validite de la cotisation
|
datefin datetime, -- date de fin de validite de la cotisation
|
||||||
note_private text DEFAULT NULL,
|
note_private text DEFAULT NULL,
|
||||||
note_public text DEFAULT NULL,
|
note_public text DEFAULT NULL,
|
||||||
model_pdf varchar(255),
|
model_pdf varchar(255),
|
||||||
datevalid datetime, -- date de validation
|
datevalid datetime, -- date de validation
|
||||||
datec datetime, -- date de creation
|
datec datetime, -- date de creation
|
||||||
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- last modification date
|
tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- last modification date
|
||||||
fk_user_author integer, -- can be null because member can be create by a guest
|
fk_user_author integer, -- can be null because member can be create by a guest
|
||||||
fk_user_mod integer,
|
fk_user_mod integer,
|
||||||
fk_user_valid integer,
|
fk_user_valid integer,
|
||||||
canvas varchar(32), -- type of canvas if used (null by default)
|
canvas varchar(32), -- type of canvas if used (null by default)
|
||||||
import_key varchar(14) -- Import key
|
import_key varchar(14) -- Import key
|
||||||
)ENGINE=innodb;
|
)ENGINE=innodb;
|
||||||
|
|||||||
@ -180,7 +180,10 @@ class AdherentTest extends PHPUnit\Framework\TestCase
|
|||||||
$localobject->initAsSpecimen();
|
$localobject->initAsSpecimen();
|
||||||
$localobject->typeid=$fk_adherent_type;
|
$localobject->typeid=$fk_adherent_type;
|
||||||
$result=$localobject->create($user);
|
$result=$localobject->create($user);
|
||||||
print __METHOD__." result=".$result."\n";
|
print __METHOD__." result=".$result."\n";
|
||||||
|
if ($result < 0) {
|
||||||
|
print $localobject->error;
|
||||||
|
}
|
||||||
$this->assertLessThan($result, 0);
|
$this->assertLessThan($result, 0);
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user