to answer to this query :
http://www.dolibarr.fr/forum/12-howto--aide/20784-delais-de-livraison#24930 you can create a delivery type and add it to your propal
This commit is contained in:
parent
e05f0caf60
commit
daaffd5f14
@ -121,7 +121,7 @@ $tabsql[17]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREF
|
|||||||
$tabsql[18]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_shipment_mode";
|
$tabsql[18]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_shipment_mode";
|
||||||
$tabsql[19]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_effectif";
|
$tabsql[19]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_effectif";
|
||||||
$tabsql[20]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_methode_commande_fournisseur";
|
$tabsql[20]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_methode_commande_fournisseur";
|
||||||
$tabsql[21]= "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_availability";
|
$tabsql[21]= "SELECT c.rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_availability AS c";
|
||||||
|
|
||||||
// Critere de tri du dictionnaire
|
// Critere de tri du dictionnaire
|
||||||
$tabsqlsort[1] ="pays ASC, code ASC";
|
$tabsqlsort[1] ="pays ASC, code ASC";
|
||||||
@ -238,7 +238,7 @@ $tabrowid[17]= "id";
|
|||||||
$tabrowid[18]= "rowid";
|
$tabrowid[18]= "rowid";
|
||||||
$tabrowid[19]= "id";
|
$tabrowid[19]= "id";
|
||||||
$tabrowid[20]= "";
|
$tabrowid[20]= "";
|
||||||
$tabrowid[21]= "";
|
$tabrowid[21]= "rowid";
|
||||||
|
|
||||||
// Condition to show dictionnary in setup page
|
// Condition to show dictionnary in setup page
|
||||||
$tabcond[1] = true;
|
$tabcond[1] = true;
|
||||||
|
|||||||
@ -232,14 +232,6 @@ if ($_POST['action'] == 'setaddress' && $user->rights->propale->creer)
|
|||||||
if ($result < 0) dol_print_error($db,$object->error);
|
if ($result < 0) dol_print_error($db,$object->error);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Availability
|
|
||||||
if ($_POST['action'] == 'setavailability' && $user->rights->propale->creer)
|
|
||||||
{
|
|
||||||
$object->fetch($_GET["id"]);
|
|
||||||
$result=$object->set_availability($user,$_POST['fk_availability']);
|
|
||||||
if ($result < 0) dol_print_error($db,$object->error);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Positionne ref client
|
// Positionne ref client
|
||||||
if ($_POST['action'] == 'set_ref_client' && $user->rights->propale->creer)
|
if ($_POST['action'] == 'set_ref_client' && $user->rights->propale->creer)
|
||||||
{
|
{
|
||||||
@ -265,7 +257,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
|
|||||||
$object->ref = $_POST['ref'];
|
$object->ref = $_POST['ref'];
|
||||||
$object->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
|
$object->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
|
||||||
$object->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
|
$object->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
|
||||||
$object->fk_availability = $_POST['fk_availability'];
|
$object->availability_id = $_POST['availability_id'];
|
||||||
$object->fk_delivery_address = $_POST['fk_address'];
|
$object->fk_delivery_address = $_POST['fk_address'];
|
||||||
$object->duree_validite = $_POST['duree_validite'];
|
$object->duree_validite = $_POST['duree_validite'];
|
||||||
$object->cond_reglement_id = $_POST['cond_reglement_id'];
|
$object->cond_reglement_id = $_POST['cond_reglement_id'];
|
||||||
@ -293,7 +285,7 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer)
|
|||||||
$object->ref_client = $_POST['ref_client'];
|
$object->ref_client = $_POST['ref_client'];
|
||||||
$object->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
|
$object->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
|
||||||
$object->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
|
$object->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']);
|
||||||
$object->fk_availability = $_POST['fk_availability'];
|
$object->availability_id = $_POST['availability_id'];
|
||||||
$object->fk_delivery_address = $_POST['fk_address'];
|
$object->fk_delivery_address = $_POST['fk_address'];
|
||||||
$object->duree_validite = $_POST['duree_validite'];
|
$object->duree_validite = $_POST['duree_validite'];
|
||||||
$object->cond_reglement_id = $_POST['cond_reglement_id'];
|
$object->cond_reglement_id = $_POST['cond_reglement_id'];
|
||||||
@ -890,6 +882,14 @@ if ($_POST['action'] == 'classin')
|
|||||||
$object->setProject($_POST['projectid']);
|
$object->setProject($_POST['projectid']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delai de livraison
|
||||||
|
if ($_POST["action"] == 'setavailability')
|
||||||
|
{
|
||||||
|
$object->fetch($_REQUEST['id']);
|
||||||
|
$result = $object->availability($_POST['availability_id']);
|
||||||
|
$_GET['id']=$_REQUEST['id'];
|
||||||
|
}
|
||||||
|
|
||||||
// Conditions de reglement
|
// Conditions de reglement
|
||||||
if ($_POST["action"] == 'setconditions')
|
if ($_POST["action"] == 'setconditions')
|
||||||
{
|
{
|
||||||
@ -1284,12 +1284,13 @@ if ($id > 0 || ! empty($ref))
|
|||||||
print '</td><td colspan="3">';
|
print '</td><td colspan="3">';
|
||||||
if ($_GET['action'] == 'editavailability')
|
if ($_GET['action'] == 'editavailability')
|
||||||
{
|
{
|
||||||
$html->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_availability,'fk_availability');
|
$html->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'availability_id');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$html->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->fk_availability,'none');
|
$html->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'none');
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|||||||
@ -95,7 +95,8 @@ class Propal extends CommonObject
|
|||||||
var $fk_address;
|
var $fk_address;
|
||||||
var $address_type;
|
var $address_type;
|
||||||
var $adresse;
|
var $adresse;
|
||||||
var $fk_availability;
|
var $availability_id;
|
||||||
|
var $availability_code;
|
||||||
|
|
||||||
var $products=array();
|
var $products=array();
|
||||||
|
|
||||||
@ -642,7 +643,7 @@ class Propal extends CommonObject
|
|||||||
$sql.= ", ".$this->mode_reglement_id;
|
$sql.= ", ".$this->mode_reglement_id;
|
||||||
$sql.= ", '".$this->db->escape($this->ref_client)."'";
|
$sql.= ", '".$this->db->escape($this->ref_client)."'";
|
||||||
$sql.= ", ".($this->date_livraison!=''?"'".$this->db->idate($this->date_livraison)."'":'null');
|
$sql.= ", ".($this->date_livraison!=''?"'".$this->db->idate($this->date_livraison)."'":'null');
|
||||||
$sql.= ", ".$this->fk_availability;
|
$sql.= ", ".$this->availability_id;
|
||||||
$sql.= ", ".$conf->entity;
|
$sql.= ", ".$conf->entity;
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
@ -905,7 +906,7 @@ class Propal extends CommonObject
|
|||||||
$sql.= ", datep as dp";
|
$sql.= ", datep as dp";
|
||||||
$sql.= ", fin_validite as dfv";
|
$sql.= ", fin_validite as dfv";
|
||||||
$sql.= ", date_livraison as date_livraison";
|
$sql.= ", date_livraison as date_livraison";
|
||||||
$sql.= ", fk_availability";
|
$sql.= ", ca.code as availability_code, ca.label as availability";
|
||||||
$sql.= ", model_pdf, ref_client";
|
$sql.= ", model_pdf, ref_client";
|
||||||
$sql.= ", note, note_public";
|
$sql.= ", note, note_public";
|
||||||
$sql.= ", fk_projet, fk_statut";
|
$sql.= ", fk_projet, fk_statut";
|
||||||
@ -919,6 +920,7 @@ class Propal extends CommonObject
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_propalst as c, ".MAIN_DB_PREFIX."propal as p";
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_propalst as c, ".MAIN_DB_PREFIX."propal as p";
|
||||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as cp ON p.fk_mode_reglement = cp.id';
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as cp ON p.fk_mode_reglement = cp.id';
|
||||||
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as cr ON p.fk_cond_reglement = cr.rowid';
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as cr ON p.fk_cond_reglement = cr.rowid';
|
||||||
|
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_availability as ca ON p.fk_availability = ca.rowid';
|
||||||
$sql.= " WHERE p.fk_statut = c.id";
|
$sql.= " WHERE p.fk_statut = c.id";
|
||||||
$sql.= " AND p.entity = ".$conf->entity;
|
$sql.= " AND p.entity = ".$conf->entity;
|
||||||
if ($ref) $sql.= " AND p.ref='".$ref."'";
|
if ($ref) $sql.= " AND p.ref='".$ref."'";
|
||||||
@ -959,7 +961,9 @@ class Propal extends CommonObject
|
|||||||
$this->datep = $this->db->jdate($obj->dp);
|
$this->datep = $this->db->jdate($obj->dp);
|
||||||
$this->fin_validite = $this->db->jdate($obj->dfv);
|
$this->fin_validite = $this->db->jdate($obj->dfv);
|
||||||
$this->date_livraison = $this->db->jdate($obj->date_livraison);
|
$this->date_livraison = $this->db->jdate($obj->date_livraison);
|
||||||
$this->fk_availability = $obj->fk_availability;
|
$this->availability_id = $obj->fk_availability;
|
||||||
|
$this->availability_code = $obj->availability_code;
|
||||||
|
$this->availability = $obj->availability;
|
||||||
$this->fk_delivery_address = $obj->fk_adresse_livraison; // TODO obsolete
|
$this->fk_delivery_address = $obj->fk_adresse_livraison; // TODO obsolete
|
||||||
$this->fk_address = $obj->fk_adresse_livraison;
|
$this->fk_address = $obj->fk_adresse_livraison;
|
||||||
|
|
||||||
@ -1779,6 +1783,39 @@ class Propal extends CommonObject
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Change le delai de livraison
|
||||||
|
* \param availability_id Id du nouveau delai de livraison
|
||||||
|
* \return int >0 si ok, <0 si ko
|
||||||
|
*/
|
||||||
|
function availability($availability_id)
|
||||||
|
{
|
||||||
|
dol_syslog('Propale::availability('.$availability_id.')');
|
||||||
|
if ($this->statut >= 0)
|
||||||
|
{
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.'propal';
|
||||||
|
$sql .= ' SET fk_availability = '.$availability_id;
|
||||||
|
$sql .= ' WHERE rowid='.$this->id;
|
||||||
|
if ( $this->db->query($sql) )
|
||||||
|
{
|
||||||
|
$this->availability_id = $availability_id;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog('Propale::availability Erreur '.$sql.' - '.$this->db->error());
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog('Propale::availability, etat propale incompatible');
|
||||||
|
$this->error='Etat propale incompatible '.$this->statut;
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1997,6 +2034,8 @@ class Propal extends CommonObject
|
|||||||
$this->cond_reglement_code = 'RECEP';
|
$this->cond_reglement_code = 'RECEP';
|
||||||
$this->mode_reglement_id = 7;
|
$this->mode_reglement_id = 7;
|
||||||
$this->mode_reglement_code = 'CHQ';
|
$this->mode_reglement_code = 'CHQ';
|
||||||
|
$this->availability_id = 1;
|
||||||
|
$this->availability_code = 'DSP';
|
||||||
$this->note_public='This is a comment (public)';
|
$this->note_public='This is a comment (public)';
|
||||||
$this->note='This is a comment (private)';
|
$this->note='This is a comment (private)';
|
||||||
// Lines
|
// Lines
|
||||||
|
|||||||
@ -1490,7 +1490,7 @@ class Form
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Charge dans cache la liste des délais de livraison possibles
|
* \brief Charge dans cache la liste des délais de livraison possibles
|
||||||
* \return int Nb lignes chargees, 0 si deja chargees, <0 si ko
|
* \return int Nb lignes chargees, 0 si deja chargees, <0 si ko
|
||||||
*/
|
*/
|
||||||
@ -1535,7 +1535,7 @@ class Form
|
|||||||
* \param filtertype Pour filtre
|
* \param filtertype Pour filtre
|
||||||
* \param addempty Ajoute entree vide
|
* \param addempty Ajoute entree vide
|
||||||
*/
|
*/
|
||||||
function select_availability($selected='',$htmlname='availability',$filtertype='',$addempty=0)
|
function select_availability($selected='',$htmlname='availid',$filtertype='',$addempty=0)
|
||||||
{
|
{
|
||||||
global $langs,$user;
|
global $langs,$user;
|
||||||
|
|
||||||
@ -2139,7 +2139,7 @@ class Form
|
|||||||
* \param htmlname Name of select html field
|
* \param htmlname Name of select html field
|
||||||
* \param addempty Ajoute entree vide
|
* \param addempty Ajoute entree vide
|
||||||
*/
|
*/
|
||||||
function form_availability($page, $selected='', $htmlname='availability', $addempty=0)
|
function form_availability($page, $selected='', $htmlname='availability', $addempty=0)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
if ($htmlname != "none")
|
if ($htmlname != "none")
|
||||||
|
|||||||
@ -441,6 +441,23 @@ class pdf_propale_azur extends ModelePDFPropales
|
|||||||
|
|
||||||
$posy=$pdf->GetY()+4;
|
$posy=$pdf->GetY()+4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Show availability conditions
|
||||||
|
if ($object->type != 2 && $object->availability_code || $object->availability)
|
||||||
|
{
|
||||||
|
$pdf->SetFont('','B', $default_font_size - 2);
|
||||||
|
$pdf->SetXY($this->marge_gauche, $posy);
|
||||||
|
$titre = $outputlangs->transnoentities("AvailabilityPeriod").':';
|
||||||
|
$pdf->MultiCell(80, 4, $titre, 0, 'L');
|
||||||
|
$pdf->SetTextColor(200,0,0);
|
||||||
|
$pdf->SetFont('','B', $default_font_size - 2);
|
||||||
|
$pdf->SetXY(82, $posy);
|
||||||
|
$lib_availability=$outputlangs->transnoentities("AvailabilityPeriod".$object->availability_code)!=('AvailabilityPeriod'.$object->availability_code)?$outputlangs->transnoentities("AvailabilityPeriod".$object->availability_code):$outputlangs->convToOutputCharset($object->availability);
|
||||||
|
$lib_availability=str_replace('\n',"\n",$lib_availability);
|
||||||
|
$pdf->MultiCell(80, 4, $lib_availability,0,'L');
|
||||||
|
|
||||||
|
$posy=$pdf->GetY()+1;
|
||||||
|
}
|
||||||
|
|
||||||
// Show payments conditions
|
// Show payments conditions
|
||||||
if ($object->type != 2 && ($object->cond_reglement_code || $object->cond_reglement))
|
if ($object->type != 2 && ($object->cond_reglement_code || $object->cond_reglement))
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user