Merge branch 'develop' of ssh://git@github.com/Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2012-03-15 09:26:50 +01:00
commit 25257ee873
8 changed files with 72 additions and 38 deletions

View File

@ -438,7 +438,6 @@ else if ($action == 'setstatut' && $user->rights->propale->cloturer)
{ {
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("CloseAs")).'</div>'; $mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("CloseAs")).'</div>';
$action='statut'; $action='statut';
$action='statut';
} }
else else
{ {
@ -2005,6 +2004,7 @@ else
} }
$db->close(); // End of page
llxFooter(); llxFooter();
$db->close();
?> ?>

View File

@ -868,6 +868,7 @@ class Commande extends CommonObject
function createFromProposal($object) function createFromProposal($object)
{ {
global $conf,$user,$langs; global $conf,$user,$langs;
global $hookmanager;
$error=0; $error=0;
@ -915,16 +916,26 @@ class Commande extends CommonObject
$this->note = $object->note; $this->note = $object->note;
$this->note_public = $object->note_public; $this->note_public = $object->note_public;
$this->origin = $object->element; $this->origin = $object->element;
$this->origin_id = $object->id; $this->origin_id = $object->id;
// Possibility to add external linked objects with hooks
$this->linked_objects[$this->origin] = $this->origin_id;
if (is_array($object->other_linked_objects) && ! empty($object->other_linked_objects))
{
$this->linked_objects = array_merge($this->linked_objects, $object->other_linked_objects);
}
$ret = $this->create($user); $ret = $this->create($user);
if ($ret > 0) if ($ret > 0)
{ {
// Actions hooked (by external module) // Actions hooked (by external module)
include_once(DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'); if (! is_object($hookmanager))
$hookmanager=new HookManager($this->db); {
include_once(DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php');
$hookmanager=new HookManager($this->db);
}
$hookmanager->initHooks(array('orderdao')); $hookmanager->initHooks(array('orderdao'));
$parameters=array('objFrom'=>$object); $parameters=array('objFrom'=>$object);

View File

@ -1236,13 +1236,16 @@ if ($action == 'create' && $user->rights->commande->creer)
$ref_client = (!empty($objectsrc->ref_client)?$object->ref_client:''); $ref_client = (!empty($objectsrc->ref_client)?$object->ref_client:'');
$soc = $objectsrc->client; $soc = $objectsrc->client;
$cond_reglement_id = (!empty($objectsrc->cond_reglement_id)?$objectsrc->cond_reglement_id:(!empty($soc->cond_reglement_id)?$soc->cond_reglement_id:1)); $cond_reglement_id = (!empty($objectsrc->cond_reglement_id)?$objectsrc->cond_reglement_id:(!empty($soc->cond_reglement_id)?$soc->cond_reglement_id:1));
$mode_reglement_id = (!empty($objectsrc->mode_reglement_id)?$objectsrc->mode_reglement_id:(!empty($soc->mode_reglement_id)?$soc->mode_reglement_id:0)); $mode_reglement_id = (!empty($objectsrc->mode_reglement_id)?$objectsrc->mode_reglement_id:(!empty($soc->mode_reglement_id)?$soc->mode_reglement_id:0));
$availability_id = (!empty($objectsrc->availability_id)?$objectsrc->availability_id:(!empty($soc->availability_id)?$soc->availability_id:0)); $availability_id = (!empty($objectsrc->availability_id)?$objectsrc->availability_id:(!empty($soc->availability_id)?$soc->availability_id:0));
$demand_reason_id = (!empty($objectsrc->demand_reason_id)?$objectsrc->demand_reason_id:(!empty($soc->demand_reason_id)?$soc->demand_reason_id:0)); $demand_reason_id = (!empty($objectsrc->demand_reason_id)?$objectsrc->demand_reason_id:(!empty($soc->demand_reason_id)?$soc->demand_reason_id:0));
$remise_percent = (!empty($objectsrc->remise_percent)?$objectsrc->remise_percent:(!empty($soc->remise_percent)?$soc->remise_percent:0)); $remise_percent = (!empty($objectsrc->remise_percent)?$objectsrc->remise_percent:(!empty($soc->remise_percent)?$soc->remise_percent:0));
$remise_absolue = (!empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(!empty($soc->remise_absolue)?$soc->remise_absolue:0)); $remise_absolue = (!empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(!empty($soc->remise_absolue)?$soc->remise_absolue:0));
$dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0; $dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0;
$note_private = (! empty($objectsrc->note) ? $objectsrc->note : (! empty($objectsrc->note_private) ? $objectsrc->note_private : ''));
$note_public = (! empty($objectsrc->note_public) ? $objectsrc->note_public : '');
// Object source contacts list // Object source contacts list
$srccontactslist = $objectsrc->liste_contact(-1,'external',1); $srccontactslist = $objectsrc->liste_contact(-1,'external',1);
@ -1383,8 +1386,8 @@ if ($action == 'create' && $user->rights->commande->creer)
print '<tr>'; print '<tr>';
print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>'; print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>';
print '<td valign="top" colspan="2">'; print '<td valign="top" colspan="2">';
print '<textarea name="note_public" wrap="soft" cols="70" rows="'.ROWS_3.'">'; print '<textarea name="note_public" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_public.'</textarea>';
print '</textarea></td></tr>'; print '</td></tr>';
// Note privee // Note privee
if (! $user->societe_id) if (! $user->societe_id)
@ -1392,8 +1395,8 @@ if ($action == 'create' && $user->rights->commande->creer)
print '<tr>'; print '<tr>';
print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>'; print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>';
print '<td valign="top" colspan="2">'; print '<td valign="top" colspan="2">';
print '<textarea name="note" wrap="soft" cols="70" rows="'.ROWS_3.'">'; print '<textarea name="note" wrap="soft" cols="70" rows="'.ROWS_3.'">'.$note_private.'</textarea>';
print '</textarea></td></tr>'; print '</td></tr>';
} }
if (is_object($objectsrc)) if (is_object($objectsrc))

View File

@ -669,8 +669,15 @@ class Facture extends CommonObject
$this->note = $object->note; $this->note = $object->note;
$this->note_public = $object->note_public; $this->note_public = $object->note_public;
$this->origin = $object->element; $this->origin = $object->element;
$this->origin_id = $object->id; $this->origin_id = $object->id;
// Possibility to add external linked objects with hooks
$this->linked_objects[$this->origin] = $this->origin_id;
if (is_array($object->other_linked_objects) && ! empty($object->other_linked_objects))
{
$this->linked_objects = array_merge($this->linked_objects, $object->other_linked_objects);
}
$ret = $this->create($user); $ret = $this->create($user);

View File

@ -1815,32 +1815,38 @@ abstract class CommonObject
} }
/** /**
* Set statut of an object * Set status of an object
* *
* @param int $statut Statut to set * @param int $status Status to set
* @param int $elementId Id of element to force (use this->id by default) * @param int $elementId Id of element to force (use this->id by default)
* @param string $elementType Type of element to force (use ->this->element by default) * @param string $elementType Type of element to force (use ->this->element by default)
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
*/ */
function setStatut($statut,$elementId='',$elementType='') function setStatut($status,$elementId='',$elementType='')
{ {
$elementId = (!empty($elementId)?$elementId:$this->id); $elementId = (!empty($elementId)?$elementId:$this->id);
$elementTable = (!empty($elementType)?$elementType:$this->table_element); $elementTable = (!empty($elementType)?$elementType:$this->table_element);
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX.$elementTable; $sql = "UPDATE ".MAIN_DB_PREFIX.$elementTable;
$sql.= " SET fk_statut = ".$statut; $sql.= " SET fk_statut = ".$status;
$sql.= " WHERE rowid=".$elementId; $sql.= " WHERE rowid=".$elementId;
dol_syslog(get_class($this)."::setStatut sql=".$sql, LOG_DEBUG); dol_syslog(get_class($this)."::setStatut sql=".$sql, LOG_DEBUG);
$resql = $this->db->query($sql); if ($this->db->query($sql))
if (!$resql) {
{ $this->db->commit();
$this->error=$this->db->lasterror(); $this->statut = $status;
dol_syslog(get_class($this)."::setStatut ".$this->error, LOG_ERR); return 1;
return -1; }
else
{
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::setStatut ".$this->error, LOG_ERR);
$this->db->rollback();
return -1;
} }
return 1;
} }

View File

@ -693,9 +693,13 @@ if ($action == 'create')
if ($conf->projet->enabled) if ($conf->projet->enabled)
{ {
$langs->load("project"); $langs->load("project");
print '<tr><td valign="top">'.$langs->trans("Project").'</td><td>'; print '<tr><td valign="top">'.$langs->trans("Project").'</td><td>';
$numprojet=select_projects($soc->id,GETPOST('projectid','int'),'projectid'); if ($societe->fournisseur==1)
$numprojet=select_projects(-1,$_POST["projectid"],'projectid');
else
$numprojet=select_projects($societe->id,$_POST["projectid"],'projectid');
//$numprojet=select_projects($soc->id,GETPOST('projectid','int'),'projectid');
if ($numprojet==0) if ($numprojet==0)
{ {
print ' &nbsp; <a href="'.DOL_DOCUMENT_ROOT.'/projet/fiche.php?socid='.$soc->id.'&action=create">'.$langs->trans("AddProject").'</a>'; print ' &nbsp; <a href="'.DOL_DOCUMENT_ROOT.'/projet/fiche.php?socid='.$soc->id.'&action=create">'.$langs->trans("AddProject").'</a>';

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2004-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2004-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
* *
@ -1231,7 +1231,7 @@ if ($id > 0 || ! empty($ref))
print '</td>'; print '</td>';
print '<td>'; print '<td>';
print $form->load_tva('tva_tx',$line->tva_tx); print $form->load_tva('tva_tx',$line->tva_tx,$soc,$mysoc);
print '</td>'; print '</td>';
print '<td align="right"><input size="5" type="text" name="pu" value="'.price($line->subprice).'"></td>'; print '<td align="right"><input size="5" type="text" name="pu" value="'.price($line->subprice).'"></td>';
print '<td align="right"><input size="2" type="text" name="qty" value="'.$line->qty.'"></td>'; print '<td align="right"><input size="2" type="text" name="qty" value="'.$line->qty.'"></td>';
@ -1605,7 +1605,8 @@ if ($id > 0 || ! empty($ref))
} }
} }
$db->close();
// End of page
llxFooter(); llxFooter();
$db->close();
?> ?>

View File

@ -1060,7 +1060,8 @@ if ($action == 'create')
} }
else else
{ {
if ($conf->global->PRODUCT_SHOW_WHEN_CREATE) // TODO more bugs
if (1==2 && $conf->global->PRODUCT_SHOW_WHEN_CREATE)
{ {
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>&nbsp;</td><td>'.$langs->trans('Label').'</td>'; print '<td>&nbsp;</td><td>'.$langs->trans('Label').'</td>';
@ -1838,7 +1839,8 @@ else
} }
} }
llxFooter();
// End of page
llxFooter();
$db->close(); $db->close();
?> ?>