mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-11 03:51:25 +01:00
Qual: Uniformize error management, add transaction level
Fix: Could not reset birthday
This commit is contained in:
@@ -454,8 +454,8 @@ class ActionComm extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Charge les informations d'ordre info dans l'objet facture
|
||||
* \param id Id de la facture a charger
|
||||
* Charge les informations d'ordre info dans l'objet facture
|
||||
* @param id Id de la facture a charger
|
||||
*/
|
||||
function info($id)
|
||||
{
|
||||
@@ -502,9 +502,9 @@ class ActionComm extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retourne le libelle du statut de la commande
|
||||
* \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* \return string Libelle
|
||||
* Return label of status
|
||||
* @param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* @return string Libelle
|
||||
*/
|
||||
function getLibStatut($mode)
|
||||
{
|
||||
@@ -512,10 +512,10 @@ class ActionComm extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoi le libelle d'un statut donne
|
||||
* \param percent Pourcentage avancement
|
||||
* \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* \return string Libelle
|
||||
* Return label of action status
|
||||
* @param percent Percent
|
||||
* @param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
|
||||
* @return string Label
|
||||
*/
|
||||
function LibStatut($percent,$mode)
|
||||
{
|
||||
@@ -523,7 +523,7 @@ class ActionComm extends CommonObject
|
||||
|
||||
if ($mode == 0)
|
||||
{
|
||||
if ($percent==0) return $langs->trans('StatusActionToDo');
|
||||
if ($percent==0) return $langs->trans('StatusActionToDo').' (0%)';
|
||||
if ($percent > 0 && $percent < 100) return $langs->trans('StatusActionInProcess').' ('.$percent.'%)';
|
||||
if ($percent >= 100) return $langs->trans('StatusActionDone').' (100%)';
|
||||
}
|
||||
@@ -541,9 +541,9 @@ class ActionComm extends CommonObject
|
||||
}
|
||||
if ($mode == 3)
|
||||
{
|
||||
if ($percent==0) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionToDo'),'statut1');
|
||||
if ($percent==0) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionToDo').' (0%)','statut1');
|
||||
if ($percent > 0 && $percent < 100) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionInProcess').' ('.$percent.'%)','statut3');
|
||||
if ($percent >= 100) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionDone'),'statut6');
|
||||
if ($percent >= 100) return img_picto($langs->trans("Status").': '.$langs->trans('StatusActionDone').' (100%)','statut6');
|
||||
}
|
||||
if ($mode == 4)
|
||||
{
|
||||
@@ -560,20 +560,20 @@ class ActionComm extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Renvoie nom clicable (avec eventuellement le picto)
|
||||
* \param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* \param maxlength Nombre de caracteres max dans libelle
|
||||
* \param class Force style class on a link
|
||||
* \param option ''=Link to action,'birthday'=Link to contact
|
||||
* \return string Chaine avec URL
|
||||
* \remarks Utilise $this->id, $this->code et $this->libelle
|
||||
* Renvoie nom clicable (avec eventuellement le picto)
|
||||
* @param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* @param maxlength Nombre de caracteres max dans libelle
|
||||
* @param class Force style class on a link
|
||||
* @param option ''=Link to action,'birthday'=Link to contact
|
||||
* @return string Chaine avec URL
|
||||
* @remarks Utilise $this->id, $this->code et $this->libelle
|
||||
*/
|
||||
function getNomUrl($withpicto=0,$maxlength=0,$classname='',$option='')
|
||||
{
|
||||
global $langs;
|
||||
|
||||
$result='';
|
||||
if ($option=='birthday') $lien = '<a '.($classname?'class="'.$classname.'" ':'').'href="'.DOL_URL_ROOT.'/contact/perso.php?id='.$this->id.'">';
|
||||
if ($option=='birthday') $lien = '<a '.($classname?'class="'.$classname.'" ':'').'href="'.DOL_URL_ROOT.'/contact/perso.php?id='.$this->id.'">'.img_object('','contact').' ';
|
||||
else $lien = '<a '.($classname?'class="'.$classname.'" ':'').'href="'.DOL_URL_ROOT.'/comm/action/fiche.php?id='.$this->id.'">';
|
||||
$lienfin='</a>';
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
/**
|
||||
* \file htdocs/comm/action/index.php
|
||||
* \ingroup agenda
|
||||
* \brief Page accueil des rapports des actions
|
||||
* \brief Home page of calendar events
|
||||
* \version $Id$
|
||||
*/
|
||||
|
||||
@@ -580,6 +580,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$action
|
||||
print $action->getNomUrl(0,$nbofchartoshow,'cal_event','birthday');
|
||||
}
|
||||
print '</td>';
|
||||
// Status - Percent
|
||||
print '<td align="right" nowrap="nowrap">';
|
||||
if ($action->type_code != 'BIRTHDAY') print $action->getLibStatut(3);
|
||||
else print ' ';
|
||||
|
||||
@@ -77,9 +77,9 @@ class Contact extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Constructeur de l'objet contact
|
||||
* \param DB Habler d'acces base
|
||||
* \param id Id contact
|
||||
* Constructor of class Contact
|
||||
* @param DB Habler d'acces base
|
||||
* @param id Id contact
|
||||
*/
|
||||
function Contact($DB, $id=0)
|
||||
{
|
||||
@@ -90,16 +90,19 @@ class Contact extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Add a contact into database
|
||||
* \param user Object user that create
|
||||
* \return int <0 if KO, >0 if OK
|
||||
* Add a contact into database
|
||||
* @param user Object user that create
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function create($user)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
$error=0;
|
||||
$now=dol_now();
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
// Clean parameters
|
||||
$this->name=trim($this->name);
|
||||
if (! $this->socid) $this->socid = 0;
|
||||
@@ -122,36 +125,64 @@ class Contact extends CommonObject
|
||||
{
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."socpeople");
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$result=$this->update($this->id, $user, 1);
|
||||
if ($result < 0)
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
return -2;
|
||||
$error++;
|
||||
$this->error=$this->db->lasterror();
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$result=$this->update_perso($this->id, $user);
|
||||
if ($result < 0)
|
||||
{
|
||||
$error++;
|
||||
$this->error=$this->db->lasterror();
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('CONTACT_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
$this->db->rollback();
|
||||
dol_syslog("Contact::create ".$this->error, LOG_ERR);
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
|
||||
$this->db->rollback();
|
||||
dol_syslog("Contact::create ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Update informations into database
|
||||
* \param id Id du contact a mettre a jour
|
||||
* \param user Objet utilisateur qui effectue la mise a jour
|
||||
* \param notrigger 0=non, 1=oui
|
||||
* \return int <0 if KO, >0 if OK
|
||||
* Update informations into database
|
||||
* @param id Id du contact a mettre a jour
|
||||
* @param user Objet utilisateur qui effectue la mise a jour
|
||||
* @param notrigger 0=non, 1=oui
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function update($id, $user=0, $notrigger=0)
|
||||
{
|
||||
@@ -226,10 +257,9 @@ class Contact extends CommonObject
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
|
||||
$this->error=$this->db->lasterror().' sql='.$sql;
|
||||
dol_syslog("Contact::update Error ".$this->error,LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -323,29 +353,20 @@ class Contact extends CommonObject
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* \brief Mise a jour des alertes
|
||||
* \param id id du contact
|
||||
* \param user Utilisateur qui demande l'alerte
|
||||
/**
|
||||
* Update field alert birthday
|
||||
* @param id Id of contact
|
||||
* @param user User asking to change alert or birthday
|
||||
* @return int
|
||||
*/
|
||||
function update_perso($id, $user=0)
|
||||
{
|
||||
$error=0;
|
||||
$result=false;
|
||||
|
||||
// Mis a jour contact
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET rowid=".$id;
|
||||
|
||||
if ($this->birthday) // <0 si avant 1970, >0 si apres 1970
|
||||
{
|
||||
if (preg_match('/^[0-9]+\-/',$this->birthday))
|
||||
{
|
||||
// Si date = chaine (ne devrait pas arriver)
|
||||
$sql .= ", birthday='".$this->birthday."'";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Si date = timestamp
|
||||
$sql .= ", birthday=".$this->db->idate($this->birthday);
|
||||
}
|
||||
}
|
||||
$sql .= ", birthday=".($this->birthday ? "'".$this->db->idate($this->birthday)."'" : "null");
|
||||
if ($user) $sql .= ", fk_user_modif=".$user->id;
|
||||
$sql .= " WHERE rowid=".$id;
|
||||
//print "update_perso: ".$this->birthday.'-'.$this->db->idate($this->birthday);
|
||||
@@ -353,7 +374,8 @@ class Contact extends CommonObject
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
$error++;
|
||||
$this->error=$this->db->lasterror();
|
||||
}
|
||||
|
||||
// Mis a jour alerte birthday
|
||||
@@ -370,7 +392,8 @@ class Contact extends CommonObject
|
||||
$result = $this->db->query($sql);
|
||||
if (!$result)
|
||||
{
|
||||
$this->error='Echec sql='.$sql;
|
||||
$error++;
|
||||
$this->error=$this->db->lasterror();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -385,9 +408,11 @@ class Contact extends CommonObject
|
||||
$result = $this->db->query($sql);
|
||||
if (! $result)
|
||||
{
|
||||
$this->error='Echec sql='.$sql;
|
||||
$error++;
|
||||
$this->error=$this->db->lasterror();
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
@@ -110,6 +110,10 @@ else
|
||||
// Creation contact
|
||||
if ($_POST["action"] == 'add' && $user->rights->societe->contact->creer)
|
||||
{
|
||||
$error=0;
|
||||
|
||||
$db->begin();
|
||||
|
||||
$object->socid = $_POST["socid"];
|
||||
|
||||
$object->name = $_POST["name"];
|
||||
@@ -130,8 +134,13 @@ else
|
||||
$object->priv = $_POST["priv"];
|
||||
$object->note = $_POST["note"];
|
||||
|
||||
// Note: Correct date should be completed with location to have exact GM time of birth.
|
||||
$object->birthday = dol_mktime(0,0,0,$_POST["birthdaymonth"],$_POST["birthdayday"],$_POST["birthdayyear"]);
|
||||
$object->birthday_alert = $_POST["birthday_alert"];
|
||||
|
||||
if (! $_POST["name"])
|
||||
{
|
||||
$error++;
|
||||
array_push($errors,$langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname").' / '.$langs->transnoentities("Label")));
|
||||
$_GET["action"] = $_POST["action"] = 'create';
|
||||
}
|
||||
@@ -139,16 +148,23 @@ else
|
||||
if ($_POST["name"])
|
||||
{
|
||||
$id = $object->create($user);
|
||||
if ($id > 0)
|
||||
if ($id <= 0)
|
||||
{
|
||||
$error++;
|
||||
$errors=array($object->error);
|
||||
$_GET["action"] = $_POST["action"] = 'create';
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error && $id > 0)
|
||||
{
|
||||
$db->commit();
|
||||
Header("Location: fiche.php?id=".$id);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errors=array($object->error);
|
||||
$_GET["action"] = $_POST["action"] = 'create';
|
||||
}
|
||||
$db->rollback();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -357,21 +373,21 @@ else
|
||||
/*
|
||||
* Onglets
|
||||
*/
|
||||
if ($_GET["id"] > 0)
|
||||
if (GETPOST("id") > 0)
|
||||
{
|
||||
// Si edition contact deja existant
|
||||
$contact = new Contact($db);
|
||||
$return=$contact->fetch($_GET["id"], $user);
|
||||
$object = new Contact($db);
|
||||
$return=$object->fetch(GETPOST("id"), $user);
|
||||
if ($return <= 0)
|
||||
{
|
||||
dol_print_error('',$contact->error);
|
||||
dol_print_error('',$object->error);
|
||||
$_GET["id"]=0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Affichage onglets
|
||||
*/
|
||||
$head = contact_prepare_head($contact);
|
||||
$head = contact_prepare_head($object);
|
||||
|
||||
dol_fiche_head($head, 'card', $langs->trans("Contact"), 0, 'contact');
|
||||
}
|
||||
@@ -429,8 +445,8 @@ else
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Name
|
||||
print '<tr><td width="15%" class="fieldrequired">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td><input name="name" type="text" size="30" maxlength="80" value="'.(isset($_POST["name"])?$_POST["name"]:$object->name).'"></td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="25%"><input name="firstname" type="text" size="30" maxlength="80" value="'.(isset($_POST["firstname"])?$_POST["firstname"]:$object->firstname).'"></td></tr>';
|
||||
print '<tr><td width="20%" class="fieldrequired">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%"><input name="name" type="text" size="30" maxlength="80" value="'.(isset($_POST["name"])?$_POST["name"]:$object->name).'"></td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%"><input name="firstname" type="text" size="30" maxlength="80" value="'.(isset($_POST["firstname"])?$_POST["firstname"]:$object->firstname).'"></td></tr>';
|
||||
|
||||
// Company
|
||||
if ($socid > 0)
|
||||
@@ -511,9 +527,43 @@ else
|
||||
// Note
|
||||
print '<tr><td valign="top">'.$langs->trans("Note").'</td><td colspan="3" valign="top"><textarea name="note" cols="70" rows="'.ROWS_3.'">'.(isset($_POST["note"])?$_POST["note"]:$object->note).'</textarea></td></tr>';
|
||||
|
||||
print '<tr><td align="center" colspan="4"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td></tr>';
|
||||
print "</table><br>";
|
||||
|
||||
|
||||
// Add personnal information
|
||||
print_fiche_titre('<div class="comboperso">'.$langs->trans("PersonalInformations").'</div>','','');
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Date To Birth
|
||||
print '<tr><td width="20%">'.$langs->trans("DateToBirth").'</td><td width="30%">';
|
||||
$html=new Form($db);
|
||||
if ($object->birthday)
|
||||
{
|
||||
print $html->select_date($object->birthday,'birthday',0,0,0,"perso");
|
||||
}
|
||||
else
|
||||
{
|
||||
print $html->select_date('','birthday',0,0,1,"perso");
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td colspan="2">'.$langs->trans("Alert").': ';
|
||||
if ($object->birthday_alert)
|
||||
{
|
||||
print '<input type="checkbox" name="birthday_alert" checked></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<input type="checkbox" name="birthday_alert"></td>';
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
print "</table><br>";
|
||||
|
||||
|
||||
print '<center><input type="submit" class="button" value="'.$langs->trans("Add").'"></center>';
|
||||
|
||||
print "</form>";
|
||||
}
|
||||
elseif (GETPOST("action") == 'edit' && GETPOST("id"))
|
||||
@@ -544,14 +594,14 @@ else
|
||||
|
||||
if ($conf->use_javascript_ajax)
|
||||
{
|
||||
print "\n".'<script type="text/javascript" language="javascript">';
|
||||
print '<script type="text/javascript" language="javascript">';
|
||||
print 'jQuery(document).ready(function () {
|
||||
jQuery("#selectpays_id").change(function() {
|
||||
document.formsoc.action.value="edit";
|
||||
document.formsoc.submit();
|
||||
});
|
||||
})';
|
||||
print '</script>'."\n";
|
||||
print '</script>';
|
||||
}
|
||||
|
||||
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?id='.GETPOST("id").'" name="formsoc">';
|
||||
@@ -569,11 +619,11 @@ else
|
||||
print '</td></tr>';
|
||||
|
||||
// Name
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td><input name="name" type="text" size="20" maxlength="80" value="'.(isset($_POST["name"])?$_POST["name"]:$object->name).'"></td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="25%"><input name="firstname" type="text" size="20" maxlength="80" value="'.(isset($_POST["firstname"])?$_POST["firstname"]:$object->firstname).'"></td></tr>';
|
||||
print '<tr><td width="20%" class="fieldrequired">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%"><input name="name" type="text" size="20" maxlength="80" value="'.(isset($_POST["name"])?$_POST["name"]:$object->name).'"></td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%"><input name="firstname" type="text" size="20" maxlength="80" value="'.(isset($_POST["firstname"])?$_POST["firstname"]:$object->firstname).'"></td></tr>';
|
||||
|
||||
// Company
|
||||
print '<tr><td width="20%">'.$langs->trans("Company").'</td>';
|
||||
print '<tr><td>'.$langs->trans("Company").'</td>';
|
||||
print '<td colspan="3">';
|
||||
print $form->select_societes(isset($_POST["socid"])?$_POST["socid"]:($object->socid?$object->socid:-1),'socid','',1);
|
||||
print '</td>';
|
||||
@@ -680,12 +730,13 @@ else
|
||||
else print $langs->trans("NoDolibarrAccess");
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td colspan="4" align="center">';
|
||||
print '</table><br>';
|
||||
|
||||
print '<center>';
|
||||
print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
|
||||
print ' ';
|
||||
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
print '</center>';
|
||||
|
||||
print "</form>";
|
||||
}
|
||||
@@ -724,7 +775,7 @@ else
|
||||
|
||||
// Name
|
||||
print '<tr><td width="20%">'.$langs->trans("Lastname").'</td><td width="30%">'.$object->name.'</td>';
|
||||
print '<td width="25%">'.$langs->trans("Firstname").'</td><td width="25%">'.$object->firstname.'</td></tr>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%">'.$object->firstname.'</td></tr>';
|
||||
|
||||
// Company
|
||||
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
|
||||
|
||||
@@ -36,6 +36,7 @@ $contactid = isset($_GET["id"])?$_GET["id"]:'';
|
||||
if ($user->societe_id) $socid=$user->societe_id;
|
||||
$result = restrictedArea($user, 'contact', $contactid, 'socpeople');
|
||||
|
||||
|
||||
/*
|
||||
* Action
|
||||
*/
|
||||
@@ -102,8 +103,8 @@ if ($_GET["action"] == 'edit')
|
||||
print '</td></tr>';
|
||||
|
||||
// Name
|
||||
print '<tr><td>'.$langs->trans("Lastname").'</td><td>'.$contact->nom.'</td>';
|
||||
print '<td>'.$langs->trans("Firstname").'</td><td width="25%">'.$contact->prenom.'</td>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Lastname").'</td><td width="30%">'.$contact->nom.'</td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%">'.$contact->prenom.'</td>';
|
||||
|
||||
// Company
|
||||
if ($contact->socid > 0)
|
||||
@@ -128,20 +129,13 @@ if ($_GET["action"] == 'edit')
|
||||
// Date To Birth
|
||||
print '<tr><td>'.$langs->trans("DateToBirth").'</td><td>';
|
||||
$html=new Form($db);
|
||||
if ($contact->birthday)
|
||||
{
|
||||
print $html->select_date($contact->birthday,'birthday',0,0,0,"perso");
|
||||
}
|
||||
else
|
||||
{
|
||||
print $html->select_date('','birthday',0,0,1,"perso");
|
||||
}
|
||||
print $html->select_date($contact->birthday,'birthday',0,0,1,"perso");
|
||||
print '</td>';
|
||||
|
||||
print '<td colspan="2">'.$langs->trans("Alert").': ';
|
||||
if ($contact->birthday_alert)
|
||||
{
|
||||
print '<input type="checkbox" name="birthday_alert" checked></td>';
|
||||
print '<input type="checkbox" name="birthday_alert" checked="true"></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -149,8 +143,13 @@ if ($_GET["action"] == 'edit')
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
print '<tr><td colspan="4" align="center"><input class="button" type="submit" value="'.$langs->trans("Save").'"></td></tr>';
|
||||
print "</table>";
|
||||
print "</table><br>";
|
||||
|
||||
print '<center>';
|
||||
print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
|
||||
print ' ';
|
||||
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
|
||||
print '</center>';
|
||||
|
||||
print "</form>";
|
||||
}
|
||||
@@ -167,8 +166,8 @@ else
|
||||
print '</td></tr>';
|
||||
|
||||
// Name
|
||||
print '<tr><td>'.$langs->trans("Lastname").'</td><td>'.$contact->name.'</td>';
|
||||
print '<td>'.$langs->trans("Firstname").'</td><td width="25%">'.$contact->firstname.'</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("Lastname").'</td><td width="30%">'.$contact->name.'</td>';
|
||||
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%">'.$contact->firstname.'</td></tr>';
|
||||
|
||||
// Company
|
||||
if ($contact->socid > 0)
|
||||
|
||||
@@ -379,11 +379,18 @@ function formatDate(date,format)
|
||||
* getDateFromFormat(date_string, format_string) Purpose: This function takes a
|
||||
* date string and a format string. It parses the date string with format and it
|
||||
* returns the date as a javascript Date() object. If date does not match
|
||||
* format, it returns 0. The format string can use the following tags: Field |
|
||||
* Tags -------------+------------------------------- Year | yyyy (4 digits), yy
|
||||
* (2 digits) Month | MM (2 digits) Day of Month | dd (2 digits) Hour (1-12) |
|
||||
* hh (2 digits) Hour (0-23) | HH (2 digits) Minute | mm (2 digits) Second | ss
|
||||
* (2 digits) Author: Laurent Destailleur Licence: GPL
|
||||
* format, it returns 0. The format string can use the following tags:
|
||||
* Field | Tags
|
||||
* -------------+-----------------------------------
|
||||
* Year | yyyy (4 digits), yy (2 digits)
|
||||
* Month | MM (2 digits)
|
||||
* Day of Month | dd (2 digits)
|
||||
* Hour (1-12) | hh (2 digits)
|
||||
* Hour (0-23) | HH (2 digits)
|
||||
* Minute | mm (2 digits)
|
||||
* Second | ss (2 digits)
|
||||
* Author: Laurent Destailleur
|
||||
* Licence: GPL
|
||||
* ==================================================================
|
||||
*/
|
||||
function getDateFromFormat(val,format)
|
||||
@@ -394,6 +401,8 @@ function getDateFromFormat(val,format)
|
||||
val=val+"";
|
||||
format=format+"";
|
||||
|
||||
if (val == '') return 0;
|
||||
|
||||
var now=new Date();
|
||||
var year=now.getYear(); if (year.length < 4) { year=""+(year-0+1900); }
|
||||
var month=now.getMonth()+1;
|
||||
|
||||
Reference in New Issue
Block a user