From 38701cda840f9a67e6f903922f3021598dd543ce Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 30 Apr 2010 06:57:28 +0000 Subject: [PATCH] Fix: error with linked element --- htdocs/comm/addpropal.php | 2 +- htdocs/comm/propal.php | 32 ++++++++++++----------- htdocs/comm/propal/class/propal.class.php | 12 +++++++++ 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/htdocs/comm/addpropal.php b/htdocs/comm/addpropal.php index 6d3f7d69456..6ba20155d5a 100644 --- a/htdocs/comm/addpropal.php +++ b/htdocs/comm/addpropal.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 7d6d7900f1e..150ecff722b 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010 Juanjo Menent * @@ -30,10 +30,13 @@ */ require("../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); +require_once(DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'); require_once(DOL_DOCUMENT_ROOT."/includes/modules/propale/modules_propale.php"); +require_once(DOL_DOCUMENT_ROOT.'/comm/action/actioncomm.class.php'); +require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); +if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'); $langs->load('companies'); $langs->load('propal'); @@ -42,10 +45,6 @@ $langs->load('bills'); $langs->load('orders'); $langs->load('products'); -if ($conf->projet->enabled) require_once(DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'); -require_once(DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'); -require_once(DOL_DOCUMENT_ROOT.'/comm/action/actioncomm.class.php'); - $sall=isset($_GET["sall"])?$_GET["sall"]:$_POST["sall"]; if (isset($_GET["msg"])) { $mesg=$_GET["mesg"]; } $year=isset($_GET["year"])?$_GET["year"]:""; @@ -265,21 +264,24 @@ if ($_POST['action'] == 'add' && $user->rights->propale->creer) } else { - $propal->ref = $_POST['ref']; - $propal->ref_client = $_POST['ref_client']; - $propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); - $propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); - $propal->fk_delivery_address = $_POST['fk_delivery_address']; - $propal->adresse_livraison_id = $_POST['fk_delivery_address']; // TODO obsolete - $propal->duree_validite = $_POST['duree_validite']; - $propal->cond_reglement_id = $_POST['cond_reglement_id']; - $propal->mode_reglement_id = $_POST['mode_reglement_id']; + $propal->ref = $_POST['ref']; + $propal->ref_client = $_POST['ref_client']; + $propal->datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); + $propal->date_livraison = dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); + $propal->fk_delivery_address = $_POST['fk_delivery_address']; + $propal->adresse_livraison_id = $_POST['fk_delivery_address']; // TODO obsolete + $propal->duree_validite = $_POST['duree_validite']; + $propal->cond_reglement_id = $_POST['cond_reglement_id']; + $propal->mode_reglement_id = $_POST['mode_reglement_id']; $propal->contactid = $_POST['contactidp']; $propal->fk_project = $_POST['projectid']; $propal->modelpdf = $_POST['model']; $propal->author = $user->id; // deprecated $propal->note = $_POST['note']; + + $propal->origin = $_POST['origin']; + $propal->origin_id = $_POST['originid']; for ($i = 1 ; $i <= $conf->global->PROPALE_NEW_FORM_NB_PRODUCT ; $i++) { diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 976589dc8a5..730a92fd04b 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -92,6 +92,9 @@ class Propal extends CommonObject var $products=array(); var $lines = array(); + + var $origin; + var $origin_id; var $labelstatut=array(); var $labelstatut_short=array(); @@ -633,6 +636,13 @@ class Propal extends CommonObject break; } } + + // Add linked object + if ($this->origin && $this->origin_id) + { + $ret = $this->add_object_linked(); + if (! $ret) dol_print_error($this->db); + } // Affectation au projet if ($resql && $this->fk_project) @@ -1231,6 +1241,7 @@ class Propal extends CommonObject // Propale signee include_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php"); + // TODO move in triggers $result=$this->create_commande($user); if ($result >= 0) @@ -1303,6 +1314,7 @@ class Propal extends CommonObject * \brief Cree une commande a partir de la proposition commerciale * \param user Utilisateur * \return int <0 si ko, >=0 si ok + * TODO move in triggers */ function create_commande($user) {