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

This commit is contained in:
Laurent Destailleur 2013-03-13 11:10:51 +01:00
commit 5149ea9f51
32 changed files with 302 additions and 193 deletions

View File

@ -51,6 +51,7 @@ For developers:
WARNING: If you used external modules, some of them may need to be upgraded due to:
- fields of classes were renamed to be normalized (nom, prenom, cp, ville, adresse were
renamed into lastname, firstname, zip, town, address).
This may also be true for some fields into web services.
- if module use hook pdf_writelinedesc, module may have to add return 1 at end of
function to keep same behaviour.
@ -62,7 +63,7 @@ WARNING: If you used external modules, some of them may need to be upgraded due
- Fix: Package for launchpad
- Fix: [ bug #736 ] Missing column in llx_c_chargesociales
- Fix: Localtax2 for Spain must be based into buyer
- Fix: [ bug #762 ] Bad profit calculation in Reporting
@ -82,6 +83,7 @@ WARNING: If you used external modules, some of them may need to be upgraded due
- Fix: Package for launchpad
- Fix: [ bug #736 ] Missing column in llx_c_chargesociales
- Fix: Localtax2 for Spain must be based into buyer
- Fix: [ bug #762 ] Bad profit calculation in Reporting

2
README
View File

@ -108,7 +108,7 @@ Other modules:
- RSS
Miscellanous:
- Mutli-user, with several permissions levels for each feature.
- Multi-user, with several permissions levels for each feature.
- Serveral menu managers (can be used by internal users, as a back-office,
with a particular menu, or by external users, as a front-office, with
another menu and permissions).

View File

@ -122,7 +122,7 @@ V - CE QUE DOLIBARR NE PEUT PAS FAIRE (TACHES A FAIRE)
Voici un liste de fonctionnalites pas encore gérées par Dolibarr:
- Pas de compta analytique (uniquement gestion de trésorerie).
- Dolibarr ne gère qu'une seule monnaie à la fois (mono-devise).
- Dolibarr ne gère en standard qu'une société/institution/association (mono-société). Pour en gérer plusieurs (comme vos filiales), il faut, soit faire plusieurs installations de Dolibarr, soit installer le module MutliCompany qui permet de gérer n société/institutions/associations dans une seule instance par une isolation logique des données.
- Dolibarr ne gère en standard qu'une société/institution/association (mono-société). Pour en gérer plusieurs (comme vos filiales), il faut, soit faire plusieurs installations de Dolibarr, soit installer le module MultiCompany qui permet de gérer n société/institutions/associations dans une seule instance par une isolation logique des données.
- Ne gère pas la double tva (Fédérale / provinciale) du canada.
- Dolibarr ne contient pas de module de Gestion de la paie.
- Les taches du module de gestion de projets n'ont pas de dépendance entre elle.

View File

@ -105,7 +105,7 @@ See ChangeLog file found into package.
### Miscellanous:
- Mutli-user, with several permissions levels for each feature.
- Multi-user, with several permissions levels for each feature.
- Serveral menu managers (can be used by internal users, as a back-office, with a particular menu, or by external users, as a front-office, with another menu and permissions).
- Very user friendly and easy to use.
- Optional WYSIWYG forms, optional Ajax forms.

View File

@ -555,7 +555,7 @@ for ($annee = $year_start ; $annee <= $year_end ; $annee++)
if (isset($totentrees[$annee]) || isset($totsorties[$annee]))
{
$in=(isset($totentrees[$annee])?price2num($totentrees[$annee], 'MT'):0);
$out=(isset($totsorties[$annee])?price2num($totsorties[$annee],' MT'):0);
$out=(isset($totsorties[$annee])?price2num($totsorties[$annee],'MT'):0);
print price($in-$out).'</td>';
// print '<td>&nbsp;</td>';
}

View File

@ -108,11 +108,14 @@ function delivery_prepare_head($object)
// Show more tabs from modules
// Entries must be declared in modules descriptor with line
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
// $this->tabs = array('entity:-tabname); to remove a tab
// $this->tabs = array('entity:-tabname); to remove a tab
// complete_head_from_modules use $object->id for this link so we temporary change it
$tmpObjectId = $object->id;
$object->id = $object->origin_id;
complete_head_from_modules($conf,$langs,$object,$head,$h,'delivery');
complete_head_from_modules($conf,$langs,$object,$head,$h,'delivery','remove');
$object->id = $tmpObjectId;
return $head;
}
@ -322,4 +325,4 @@ function show_list_sending_receive($origin,$origin_id,$filter='')
return 1;
}
?>
?>

View File

@ -650,7 +650,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
{
$langs->load("orders");
$newmenu->add("/fourn/commande/index.php?leftmenu=orders_suppliers",$langs->trans("SuppliersOrders"), 0, $user->rights->fournisseur->commande->lire, '', $mainmenu, 'orders_suppliers');
$newmenu->add("/societe/societe.php?leftmenu=orders_suppliers", $langs->trans("NewOrder"), 1, $user->rights->fournisseur->commande->creer);
$newmenu->add("/fourn/commande/fiche.php?action=create", $langs->trans("NewOrder"), 1, $user->rights->fournisseur->commande->creer);
$newmenu->add("/fourn/commande/liste.php?leftmenu=orders_suppliers", $langs->trans("List"), 1, $user->rights->fournisseur->commande->lire);
$newmenu->add("/commande/stats/index.php?leftmenu=orders_suppliers&amp;mode=supplier", $langs->trans("Statistics"), 1, $user->rights->fournisseur->commande->lire);
}

View File

@ -3,7 +3,7 @@
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
* Copyright (C) 2010-2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2012 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
*
@ -926,6 +926,9 @@ class CommandeFournisseur extends CommonOrder
$sql = "INSERT INTO ".MAIN_DB_PREFIX."commande_fournisseur (";
$sql.= "ref";
$sql.= ", ref_supplier";
$sql.= ", note";
$sql.= ", note_public";
$sql.= ", entity";
$sql.= ", fk_soc";
$sql.= ", date_creation";
@ -938,6 +941,9 @@ class CommandeFournisseur extends CommonOrder
$sql.= ") ";
$sql.= " VALUES (";
$sql.= "''";
$sql.= ", '".$this->ref_supplier."'";
$sql.= ", '".$this->note."'";
$sql.= ", '".$this->note_public."'";
$sql.= ", ".$conf->entity;
$sql.= ", ".$this->socid;
$sql.= ", ".$this->db->idate($now);

View File

@ -3,7 +3,7 @@
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
*
@ -82,7 +82,7 @@ if ($id > 0 || ! empty($ref))
$ret = $object->fetch_thirdparty();
if ($ret < 0) dol_print_error($db,$object->error);
}
else if (! empty($socid))
else if (! empty($socid) && $socid > 0)
{
$fourn = new Fournisseur($db);
$ret=$fourn->fetch($socid);
@ -657,33 +657,47 @@ else if ($action == 'remove_file' && $object->id > 0 && $user->rights->fournisse
/*
* Create an order
*/
else if ($action == 'create' && ! empty($object->socid) && $user->rights->fournisseur->commande->creer)
else if ($action == 'add' && $user->rights->fournisseur->commande->creer)
{
$error=0;
$error=0;
$db->begin();
$id=$object->create($user);
if (! $id > 0)
if ($socid <1)
{
$error++;
setEventMessage($object->error, 'errors');
$mesg='<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('Supplier')).'</div>';
$action='create';
$error++;
}
if (! $error)
{
if ($comclientid != '')
$db->begin();
// Creation commande
$object->ref_supplier = GETPOST('refsupplier');
$object->socid = $socid;
$object->note = GETPOST('note');
$object->note_public = GETPOST('note_public');
$id = $object->create($user);
if ($id < 0)
{
$error++;
}
if ($error)
{
$object->updateFromCommandeClient($user, $id, $comclientid);
$langs->load("errors");
$db->rollback();
$mesg='<div class="error">'.$langs->trans($object->error).'</div>';
$action='create';
$_GET['socid']=$_POST['socid'];
}
else
{
$db->commit();
header("Location: ".$_SERVER['PHP_SELF']."?id=".$id);
exit;
}
$ret=$object->fetch($id); // Reload to get new records
$db->commit();
}
else
{
$db->rollback();
}
}
@ -942,8 +956,68 @@ $productstatic = new Product($db);
/* *************************************************************************** */
$now=dol_now();
if (! empty($object->id))
if ($action=="create")
{
print_fiche_titre($langs->trans('NewOrder'));
dol_htmloutput_mesg($mesg);
$societe='';
if ($socid>0)
{
$societe=new Societe($db);
$societe->fetch($socid);
}
print '<form name="add" action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="add">';
print '<table class="border" width="100%">';
// Ref
print '<tr><td>'.$langs->trans('Ref').'</td><td>'.$langs->trans('Draft').'</td></tr>';
// Third party
print '<tr><td class="fieldrequired">'.$langs->trans('Supplier').'</td>';
print '<td>';
if ($socid > 0)
{
print $societe->getNomUrl(1);
print '<input type="hidden" name="socid" value="'.$socid.'">';
}
else
{
print $form->select_company((empty($socid)?'':$socid),'socid','s.fournisseur = 1',1);
}
print '</td>';
// Ref supplier
print '<tr><td>'.$langs->trans('RefSupplier').'</td><td><input name="refsupplier" type="text"></td>';
print '</tr>';
print '</td></tr>';
print '<tr><td>'.$langs->trans('Note').'</td>';
print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
print '</tr>';
print '<tr><td>'.$langs->trans('NotePublic').'</td>';
print '<td><textarea name="note_public" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
print '</tr>';
// Other options
$parameters=array();
$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
// Bouton "Create Draft"
print "</table>\n";
print '<br><center><input type="submit" class="button" name="bouton" value="'.$langs->trans('CreateDraft').'"></center>';
print "</form>\n";
}
elseif (! empty($object->id))
{
$author = new User($db);
$author->fetch($object->user_author_id);

View File

@ -53,14 +53,14 @@ insert into llx_c_pays (rowid,code,libelle) values (18, 'HU', 'Hongrie' )
insert into llx_c_pays (rowid,code,libelle) values (19, 'RU', 'Russia' );
insert into llx_c_pays (rowid,code,libelle) values (20, 'SE', 'Sweden' );
insert into llx_c_pays (rowid,code,libelle) values (21, 'CI', 'Côte d''Ivoire' );
insert into llx_c_pays (rowid,code,libelle) values (22, 'SN', 'Sénégal' );
insert into llx_c_pays (rowid,code,libelle) values (22, 'SN', 'Senegal' );
insert into llx_c_pays (rowid,code,libelle) values (23, 'AR', 'Argentine' );
insert into llx_c_pays (rowid,code,libelle) values (24, 'CM', 'Cameroun' );
insert into llx_c_pays (rowid,code,libelle) values (25, 'PT', 'Portugal' );
insert into llx_c_pays (rowid,code,libelle) values (26, 'SA', 'Arabie Saoudite');
insert into llx_c_pays (rowid,code,libelle) values (26, 'SA', 'Saudi Arabia' );
insert into llx_c_pays (rowid,code,libelle) values (27, 'MC', 'Monaco' );
insert into llx_c_pays (rowid,code,libelle) values (28, 'AU', 'Australia' );
insert into llx_c_pays (rowid,code,libelle) values (29, 'SG', 'Singapour' );
insert into llx_c_pays (rowid,code,libelle) values (29, 'SG', 'Singapour' );
insert into llx_c_pays (rowid,code,libelle) values (30, 'AF', 'Afghanistan' );
insert into llx_c_pays (rowid,code,libelle) values (31, 'AX', 'Iles Aland' );
insert into llx_c_pays (rowid,code,libelle) values (32, 'AL', 'Albanie' );

View File

@ -183,6 +183,9 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (18
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1884,188, '5','0','VAT reduced rate',1);
insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1883,188, '0','0','VAT Rate 0', 1);
-- SAUDI ARABIA (id country=26)
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 261, 26, '0', '0', 'VAT Rate 0', 1);
-- SAN SALVADOR (id country=86)
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (861, 86, '13', '0', 'IVA 13', 1);
INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (862, 86, '0', '0', 'SIN IVA', 1);

View File

@ -925,3 +925,5 @@ UPDATE llx_c_action_trigger SET code='FICHINTER_VALIDATE' WHERE code='FICHEINTER
UPDATE llx_c_departements SET ncc='ALAVA', nom='Álava' WHERE code_departement='01' AND fk_region=419;
ALTER TABLE llx_product_fournisseur_price DROP FOREIGN KEY fk_product_fournisseur;
UPDATE llx_const set name='PRODUIT_MULTI_PRICES' where name='PRODUIT_MUTLI_PRICES';

View File

@ -213,7 +213,7 @@ ModuleFamilyProducts=إدارة المنتجات
ModuleFamilyHr=إدارة الموارد البشرية
ModuleFamilyProjects=مشاريع / العمل التعاوني
ModuleFamilyOther=أخرى
ModuleFamilyTechnic=Mutli بين وحدات وأدوات
ModuleFamilyTechnic=Multi بين وحدات وأدوات
ModuleFamilyExperimental=نماذج تجريبية
ModuleFamilyFinancial=الوحدات المالية (المحاسبة / الخزانة)
ModuleFamilyECM=إدارة المحتوى في المؤسسة

View File

@ -937,6 +937,7 @@ ExtraFieldsThirdParties=Atributs adicionals (tercers)
ExtraFieldsContacts=Atributs adicionals (contactes/adreçes)
ExtraFieldsMember=Atributs complementaris (membres)
ExtraFieldsMemberType=Atributs complementaris (tipus de membres)
ExtraFieldsCustomerInvoices=Atributs complementaris (factures a clients)
ExtraFieldHasWrongValue=L'atribut %s te un valor incorrecte.
AlphaNumOnlyCharsAndNoSpace=només carateres alfanumèrics sense espais
SendingMailSetup=Configuració de l'enviament per mail

View File

@ -199,7 +199,7 @@ ModuleFamilyProducts=Produkter Management
ModuleFamilyHr=Human Resource Management
ModuleFamilyProjects=Projekter / samarbejde
ModuleFamilyOther=Anden
ModuleFamilyTechnic=Mutli-moduler værktøjer
ModuleFamilyTechnic=Multi-moduler værktøjer
ModuleFamilyExperimental=Eksperimentel moduler
ModuleFamilyFinancial=Finansielle Modules (Regnskabsmæssig / Treasury)
ModuleFamilyECM=ECM

View File

@ -262,7 +262,7 @@ ModuleFamilyProducts=Products Management
ModuleFamilyHr=Human Resource Management
ModuleFamilyProjects=Projects/Collaborative work
ModuleFamilyOther=Other
ModuleFamilyTechnic=Mutli-modules tools
ModuleFamilyTechnic=Multi-modules tools
ModuleFamilyExperimental=Experimental modules
ModuleFamilyFinancial=Financial Modules (Accounting/Treasury)
ModuleFamilyECM=Electronic Content Management (ECM)
@ -1398,4 +1398,4 @@ ProjectsSetup=Project module setup
ProjectsModelModule=Project reports document model
##### ECM (GED) #####
ECMSetup = GED Setup
ECMAutoTree = Automatic tree folder and document
ECMAutoTree = Automatic tree folder and document

View File

@ -938,6 +938,7 @@ ExtraFieldsThirdParties=Atributos adicionales (terceros)
ExtraFieldsContacts=Atributos adicionales (contactos/direcciones)
ExtraFieldsMember=Atributos complementarios (miembros)
ExtraFieldsMemberType=Atributos complementarios (tipos de miembros)
ExtraFieldsCustomerInvoices=Atributos complementarios (facturas a clientes)
ExtraFieldHasWrongValue=El atributo %s tiene un valor incorrecto.
AlphaNumOnlyCharsAndNoSpace=solamente caracteres alfanuméricos sin espacios
SendingMailSetup=Configuración del envío por mail

View File

@ -259,7 +259,7 @@ ModuleFamilyProducts=Tooted juhtimine
ModuleFamilyHr=Human Resource Management
ModuleFamilyProjects=Projektid / koostööprojektid töö
ModuleFamilyOther=Teine
ModuleFamilyTechnic=Mutli-moodulid tööriistad
ModuleFamilyTechnic=Multi-moodulid tööriistad
ModuleFamilyExperimental=Eksperimentaalse moodulid
ModuleFamilyFinancial=Financial Modules (Raamatupidamine / Treasury)
ModuleFamilyECM=Electronic sisuhaldus (ECM)

View File

@ -221,7 +221,7 @@ ModuleFamilyProducts= سیسیتم کالاها
ModuleFamilyHr= سیستم استخدامی
ModuleFamilyProjects= سیستم پروژه ها
ModuleFamilyOther= دیگر سیستم ها
ModuleFamilyTechnic=Mutli بين وحدات وأدوات
ModuleFamilyTechnic=Multi بين وحدات وأدوات
ModuleFamilyExperimental=نماذج تجريبية
ModuleFamilyFinancial=الوحدات المالية (المحاسبة / الخزانة)
ModuleFamilyECM=تولید محتوی الکترونیکی

View File

@ -197,7 +197,7 @@ ModuleFamilyProducts=Tuotteet Management
ModuleFamilyHr=Human Resource Management
ModuleFamilyProjects=Projektit / Yhteistyöhankkeet työn
ModuleFamilyOther=Muu
ModuleFamilyTechnic=Mutli-modules työkalut
ModuleFamilyTechnic=Multi-modules työkalut
ModuleFamilyExperimental=Kokeellinen modules
ModuleFamilyFinancial=Financial Modules (kirjanpidon / Treasury)
ModuleFamilyECM=ECM

View File

@ -259,7 +259,7 @@ ModuleFamilyProducts=מוצרי ניהול
ModuleFamilyHr=ניהול משאבי אנוש
ModuleFamilyProjects=פרויקטים / עבודה שיתופית
ModuleFamilyOther=אחר
ModuleFamilyTechnic=Mutli מודולים כלים
ModuleFamilyTechnic=Multi מודולים כלים
ModuleFamilyExperimental=הניסוי מודולים
ModuleFamilyFinancial=מודולים פיננסיים (חשבונאות / משרד האוצר)
ModuleFamilyECM=ניהול תוכן אלקטרוני (ECM)

View File

@ -259,7 +259,7 @@ ModuleFamilyProducts=Termékek kezelése
ModuleFamilyHr=Az emberi erőforrás menedzsment
ModuleFamilyProjects=Projektek / kollaboratív munkát
ModuleFamilyOther=Más
ModuleFamilyTechnic=Mutli-modulok eszközök
ModuleFamilyTechnic=Multi-modulok eszközök
ModuleFamilyExperimental=Kísérleti modulok
ModuleFamilyFinancial=Pénzügyi modulok (Számviteli / Kincstár)
ModuleFamilyECM=Elektronikus Content Management (ECM)

View File

@ -234,7 +234,7 @@ ModuleFamilyProducts=Vörur Stjórn
ModuleFamilyHr=Mannauðsstjórnun
ModuleFamilyProjects=Verkefni / samvinna vinna
ModuleFamilyOther=Önnur
ModuleFamilyTechnic=Mutli-einingar verkfæri
ModuleFamilyTechnic=Multi-einingar verkfæri
ModuleFamilyExperimental=Experimental mát
ModuleFamilyFinancial=Financial einingar (Bókhald / ríkissjóðs)
ModuleFamilyECM=ECM

View File

@ -259,7 +259,7 @@ ModuleFamilyProducts=製品の管理
ModuleFamilyHr=人的資源管理
ModuleFamilyProjects=プロジェクト/共同作業
ModuleFamilyOther=その他
ModuleFamilyTechnic=Mutli-モジュールツール
ModuleFamilyTechnic=Multi-モジュールツール
ModuleFamilyExperimental=実験的なモジュール
ModuleFamilyFinancial=金融モジュール(会計/財務)
ModuleFamilyECM=電子コンテンツ管理ECM

View File

@ -200,7 +200,7 @@ ModuleFamilyProducts=Produkty Management
ModuleFamilyHr=Zarządzanie zasobami ludzkimi
ModuleFamilyProjects=Projekty / współpracy
ModuleFamilyOther=Inny
ModuleFamilyTechnic=Mutli-modules narzędzia
ModuleFamilyTechnic=Multi-modules narzędzia
ModuleFamilyExperimental=Eksperymentalne modules
ModuleFamilyFinancial=Moduły finansowe (Księgowość / Skarbu)
ModuleFamilyECM=ECM

View File

@ -198,7 +198,7 @@ ModuleFamilyProducts=Produse de Management
ModuleFamilyHr=Managementul resurselor umane
ModuleFamilyProjects=Proiecte / Colaborativă munca
ModuleFamilyOther=Alt
ModuleFamilyTechnic=Mutli-module de unelte
ModuleFamilyTechnic=Multi-module de unelte
ModuleFamilyExperimental=Experimentale module
ModuleFamilyFinancial=Module financiar (Contabilitate / Trezoreriei)
ModuleFamilyECM=ECM

View File

@ -197,7 +197,7 @@ ModuleFamilyProducts=Продукты управления
ModuleFamilyHr=Кадровый менеджмент
ModuleFamilyProjects=Проекты / Совместная работа
ModuleFamilyOther=Другой
ModuleFamilyTechnic=Mutli-модулей инструменты
ModuleFamilyTechnic=Multi-модулей инструменты
ModuleFamilyExperimental=Экспериментальный модуль
ModuleFamilyFinancial=Финансовые модули (Бухгалтерия / Казначейство)
ModuleFamilyECM=ECM

View File

@ -539,11 +539,11 @@ if ($resql)
print '<td align="right">'.(price2num($obj->pmp)?price(price2num($obj->pmp*$obj->reel,'MT')):'').'</td>'; // Ditto : Show PMP from movement or from product
// Sell price
print '<td align="right">';
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print price(price2num($product->price,'MU'));
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price,'MU'));
else print $langs->trans("Variable");
print '</td>'; // Ditto : Show PMP from movement or from product
print '<td align="right">';
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print price(price2num($product->price*$obj->reel,'MT')).'</td>'; // Ditto : Show PMP from movement or from product
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price*$obj->reel,'MT')).'</td>'; // Ditto : Show PMP from movement or from product
else print $langs->trans("Variable");
print '</tr>'; ;
$total += $obj->reel;
@ -564,11 +564,11 @@ print '<td class="liste_total" align="right">';
print price(price2num($totalvalue,'MT'));
print '</td>';
print '<td class="liste_total" align="right">';
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print ($total?price($totalvaluesell/$total):'&nbsp;');
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print ($total?price($totalvaluesell/$total):'&nbsp;');
else print $langs->trans("Variable");
print '</td>';
print '<td class="liste_total" align="right">';
if (empty($conf->global->PRODUIT_MUTLI_PRICES)) print price(price2num($totalvaluesell,'MT'));
if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($totalvaluesell,'MT'));
else print $langs->trans("Variable");
print '</td>';
print "</tr>";

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2005-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
*
* This program is free software; you can redistribute it and/or modify
@ -96,7 +96,7 @@ print '</td><td valign="top" width="70%" class="notopnoleftnoright">';
$max=10;
$sql = "SELECT u.rowid, u.lastname, u.firstname, u.admin, u.login, u.fk_societe, u.datec, u.statut, u.entity, u.ldap_sid,";
$sql.= " s.nom, s.canvas";
$sql.= " s.nom as name, s.canvas";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON u.fk_societe = s.rowid";
if (! empty($conf->multicompany->enabled) && $conf->entity == 1 && ($conf->multicompany->transverse_mode || ($user->admin && ! $user->entity)))
@ -126,7 +126,7 @@ if ($resql)
$var=!$var;
print "<tr $bc[$var]>";
print '<td><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowUser"),"user").' '.$obj->firstname.' '.$obj->name.'</a>';
print '<td><a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($obj->firstname,$obj->lastname).'</a>';
if (! empty($conf->multicompany->enabled) && $obj->admin && ! $obj->entity)
{
print img_picto($langs->trans("SuperAdministrator"),'redstar');
@ -141,7 +141,7 @@ if ($resql)
if ($obj->fk_societe)
{
$companystatic->id=$obj->fk_societe;
$companystatic->nom=$obj->nom;
$companystatic->name=$obj->name;
$companystatic->canvas=$obj->canvas;
print $companystatic->getNomUrl(1);
}

View File

@ -67,7 +67,7 @@ $server->wsdl->addComplexType(
'sourceapplication' => array('name'=>'sourceapplication','type'=>'xsd:string'),
'login' => array('name'=>'login','type'=>'xsd:string'),
'password' => array('name'=>'password','type'=>'xsd:string'),
'entity' => array('name'=>'entity','type'=>'xsd:string'),
'entity' => array('name'=>'entity','type'=>'xsd:string')
)
);
// Define WSDL Return object
@ -377,7 +377,10 @@ function getInvoicesForThirdParty($authentication,$idthirdparty)
$errorcode='';$errorlabel='';
$error=0;
$fuser=check_authentication($authentication,$error,$errorcode,$errorlabel);
// Check parameters
if ($fuser->societe_id) $socid=$fuser->societe_id;
// Check parameters
if (! $error && empty($idthirdparty))
{
$error++;
@ -394,9 +397,9 @@ function getInvoicesForThirdParty($authentication,$idthirdparty)
//$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON pt.fk_product = p.rowid';
//$sql.=" WHERE f.fk_soc = s.rowid AND nom = '".$db->escape($idthirdparty)."'";
//$sql.=" WHERE f.fk_soc = s.rowid AND nom = '".$db->escape($idthirdparty)."'";
$sql.=" WHERE f.fk_soc = ".$db->escape($idthirdparty);
$sql.=" AND f.entity = ".$conf->entity;
$sql.=" WHERE f.entity = ".$conf->entity;
if ($idthirdparty != 'all' ) $sql.=" AND f.fk_soc = ".$db->escape($idthirdparty);
$resql=$db->query($sql);
if ($resql)
{
@ -410,6 +413,13 @@ function getInvoicesForThirdParty($authentication,$idthirdparty)
$invoice=new Facture($db);
$invoice->fetch($obj->facid);
// Sécurité pour utilisateur externe
if( $socid && ( $socid != $order->socid) )
{
$error++;
$errorcode='PERMISSION_DENIED'; $errorlabel=$order->socid.' User does not have permission for this request';
}
// Define lines of invoice
$linesresp=array();
foreach($invoice->lines as $line)

View File

@ -35,6 +35,8 @@ require_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php");
dol_syslog("Call Dolibarr webservices interfaces");
$langs->load("main");
// Enable and test if module web services is enabled
if (empty($conf->global->MAIN_MODULE_WEBSERVICES))
{
@ -54,7 +56,7 @@ $server->configureWSDL('WebServicesDolibarrOrder',$ns);
$server->wsdl->schemaTargetNamespace=$ns;
// Define WSDL content
// Define WSDL Authentication object
$server->wsdl->addComplexType(
'authentication',
'complexType',
@ -69,7 +71,20 @@ $server->wsdl->addComplexType(
'entity' => array('name'=>'entity','type'=>'xsd:string')
)
);
// Define WSDL Return object
$server->wsdl->addComplexType(
'result',
'complexType',
'struct',
'all',
'',
array(
'result_code' => array('name'=>'result_code','type'=>'xsd:string'),
'result_label' => array('name'=>'result_label','type'=>'xsd:string'),
)
);
// Define other specific objects
$server->wsdl->addComplexType(
'line',
'complexType',
@ -78,34 +93,34 @@ $server->wsdl->addComplexType(
'',
array(
'id' => array('name'=>'id','type'=>'xsd:string'),
'type' => array('name'=>'type','type'=>'xsd:int'),
'fk_commande' => array('name'=>'fk_commande','type'=>'xsd:int'),
'fk_parent_line' => array('name'=>'fk_parent_line','type'=>'xsd:int'),
'desc' => array('name'=>'desc','type'=>'xsd:string'),
'qty' => array('name'=>'qty','type'=>'xsd:int'),
'qty' => array('name'=>'qty','type'=>'xsd:double'),
'price' => array('name'=>'price','type'=>'xsd:double'),
'subprice' => array('name'=>'subprice','type'=>'xsd:double'),
'tva_tx' => array('name'=>'tva_tx','type'=>'xsd:double'),
'unitprice' => array('name'=>'unitprice','type'=>'xsd:double'),
'vat_rate' => array('name'=>'vat_rate','type'=>'xsd:double'),
'remise' => array('name'=>'remise','type'=>'xsd:double'),
'remise_percent' => array('name'=>'remise_percent','type'=>'xsd:double'),
'fk_product' => array('name'=>'fk_product','type'=>'xsd:int'),
'product_type' => array('name'=>'product_type','type'=>'xsd:int'),
'total_ht' => array('name'=>'total_ht','type'=>'xsd:double'),
'total_tva' => array('name'=>'totaltva','type'=>'xsd:double'),
'total_ttc' => array('name'=>'total_ttc','type'=>'xsd:double'),
'total_net' => array('name'=>'total_net','type'=>'xsd:double'),
'total_vat' => array('name'=>'total_vat','type'=>'xsd:double'),
'total' => array('name'=>'total','type'=>'xsd:double'),
'date_start' => array('name'=>'date_start','type'=>'xsd:string'),
'date_end' => array('name'=>'date_end','type'=>'xsd:string'),
'date_start' => array('name'=>'date_start','type'=>'xsd:date'),
'date_end' => array('name'=>'date_end','type'=>'xsd:date'),
// From product
'product_id' => array('name'=>'product_id','type'=>'xsd:int'),
'product_ref' => array('name'=>'product_ref','type'=>'xsd:string'),
'product_label' => array('name'=>'product_label','type'=>'xsd:string'),
'product_desc' => array('name'=>'product_desc','type'=>'xsd:string')
)
);
$server->wsdl->addComplexType(
/*$server->wsdl->addComplexType(
'LinesArray',
'complexType',
'array',
@ -119,8 +134,7 @@ $server->wsdl->addComplexType(
)
),
'tns:line'
);
);*/
$server->wsdl->addComplexType(
'LinesArray2',
'complexType',
@ -149,23 +163,25 @@ $server->wsdl->addComplexType(
'ref_client' => array('name'=>'ref_client','type'=>'xsd:string'),
'ref_ext' => array('name'=>'ref_ext','type'=>'xsd:string'),
'ref_int' => array('name'=>'ref_int','type'=>'xsd:string'),
'socid' => array('name'=>'socid','type'=>'xsd:int'),
'statut' => array('name'=>'statut','type'=>'xsd:int'),
'thirdparty_id' => array('name'=>'thirdparty_id','type'=>'xsd:int'),
'status' => array('name'=>'status','type'=>'xsd:int'),
'facturee' => array('name'=>'facturee','type'=>'xsd:string'),
'total_ht' => array('name'=>'total_ht','type'=>'xsd:double'),
'total_tva' => array('name'=>'total_tva','type'=>'xsd:double'),
'total_net' => array('name'=>'total_net','type'=>'xsd:double'),
'total_vat' => array('name'=>'total_vat','type'=>'xsd:double'),
'total_localtax1' => array('name'=>'total_localtax1','type'=>'xsd:double'),
'total_localtax2' => array('name'=>'total_localtax2','type'=>'xsd:double'),
'total_ttc' => array('name'=>'total_ttc','type'=>'xsd:double'),
'total' => array('name'=>'total','type'=>'xsd:double'),
'date' => array('name'=>'date','type'=>'xsd:date'),
'date_commande' => array('name'=>'date_commande','type'=>'xsd:date'),
'date_creation' => array('name'=>'date_creation','type'=>'xsd:dateTime'),
'date_validation' => array('name'=>'date_validation','type'=>'xsd:dateTime'),
'date_modification' => array('name'=>'date_modification','type'=>'xsd:dateTime'),
'remise' => array('name'=>'remise','type'=>'xsd:string'),
'remise_percent' => array('name'=>'remise_percent','type'=>'xsd:string'),
'remise_absolue' => array('name'=>'remise_absolue','type'=>'xsd:string'),
'source' => array('name'=>'source','type'=>'xsd:string'),
'note' => array('name'=>'note','type'=>'xsd:string'),
'note_public' => array('name'=>'note_public','type'=>'xsd:string'),
'fk_project' => array('name'=>'fk_project','type'=>'xsd:string'),
'project_id' => array('name'=>'project_id','type'=>'xsd:string'),
'mode_reglement_id' => array('name'=>'mode_reglement_id','type'=>'xsd:string'),
'mode_reglement_code' => array('name'=>'mode_reglement_code','type'=>'xsd:string'),
@ -179,10 +195,10 @@ $server->wsdl->addComplexType(
'fk_delivery_address' => array('name'=>'fk_delivery_address','type'=>'xsd:int'),
'demand_reason_id' => array('name'=>'demand_reason_id','type'=>'xsd:string'),
'lines' => array('name'=>'lines','type'=>'tns:LinesArray')
'lines' => array('name'=>'lines','type'=>'tns:LinesArray2')
)
);
/*
$server->wsdl->addComplexType(
'OrdersArray',
'complexType',
@ -197,8 +213,7 @@ $server->wsdl->addComplexType(
)
),
'tns:order'
);
);*/
$server->wsdl->addComplexType(
'OrdersArray2',
'complexType',
@ -207,32 +222,14 @@ $server->wsdl->addComplexType(
'',
array(
'order' => array(
'name' => 'invoice',
'type' => 'tns:invoice',
'name' => 'order',
'type' => 'tns:order',
'minOccurs' => '0',
'maxOccurs' => 'unbounded'
)
)
);
$server->wsdl->addComplexType(
'result',
'complexType',
'struct',
'all',
'',
array(
'result_code' => array(
'name'=>'result_code',
'type'=>'xsd:string'
),
'result_label' => array(
'name'=>'result_label',
'type'=>'xsd:string'
),
)
);
// 5 styles: RPC/encoded, RPC/literal, Document/encoded (not WS-I compliant), Document/literal, Document/literal wrapped
@ -268,7 +265,7 @@ $server->register(
$server->register(
'createOrder',
array('authentication'=>'tns:authentication','order'=>'tns:order'), // Entry values
array('result'=>'tns:result','id'=>'xsd:string'), // Exit values
array('result'=>'tns:result','id'=>'xsd:string','ref'=>'xsd:string'), // Exit values
$ns,
$ns.'#createOrder',
$styledoc,
@ -355,14 +352,14 @@ function getOrder($authentication,$id='',$ref='',$ref_ext='')
'qty'=>$line->qty,
'price'=>$line->price,
'subprice'=>$line->subprice,
'tva_tx'=>$line->tva_tx,
'vat_rate'=>$line->tva_tx,
'remise'=>$line->remise,
'remise_percent'=>$line->remise_percent,
'fk_product'=>$line->fk_product,
'product_type'=>$line->product_type,
'total_ht'=>$line->total_ht,
'total_tva'=>$line->total_tva,
'total_ttc'=>$line->total_ttc,
'total_net'=>$line->total_ht,
'total_vat'=>$line->total_tva,
'total'=>$line->total_ttc,
'date_start'=>$line->date_start,
'date_end'=>$line->date_end,
'product_ref'=>$line->product_ref,
@ -381,19 +378,21 @@ function getOrder($authentication,$id='',$ref='',$ref_ext='')
'ref_client' => $order->ref_client,
'ref_ext' => $order->ref_ext,
'ref_int' => $order->ref_int,
'socid' => $order->socid,
'statut' => $order->statut,
'thirdparty_id' => $order->socid,
'status' => $order->statut,
'total_ht' => $order->total_ht,
'total_tva' => $order->total_tva,
'total_net' => $order->total_ht,
'total_vat' => $order->total_tva,
'total_localtax1' => $order->total_localtax1,
'total_localtax2' => $order->total_localtax2,
'total_ttc' => $order->total_ttc,
'fk_project' => $order->fk_project,
'date' => $order->date?dol_print_date($order->date,'dayrfc'):'',
'date_commande' => $order->date_commande?dol_print_date($order->date_commande,'dayrfc'):'',
'total' => $order->total_ttc,
'project_id' => $order->fk_project,
'date' => $order->date_commande?dol_print_date($order->date_commande,'dayrfc'):'',
'date_creation' => $invoice->date_creation?dol_print_date($invoice->date_creation,'dayhourrfc'):'',
'date_validation' => $invoice->date_validation?dol_print_date($invoice->date_creation,'dayhourrfc'):'',
'date_modification' => $invoice->datem?dol_print_date($invoice->datem,'dayhourrfc'):'',
'remise' => $order->remise,
'remise_percent' => $order->remise_percent,
'remise_absolue' => $order->remise_absolue,
@ -403,13 +402,12 @@ function getOrder($authentication,$id='',$ref='',$ref_ext='')
'note' => $order->note,
'note_public' => $order->note_public,
'cond_reglement_id' => $order->cond_reglement_id,
'cond_reglement' => $order->cond_reglement,
'cond_reglement_doc' => $order->cond_reglement_doc,
'cond_reglement_code' => $order->cond_reglement_code,
'cond_reglement' => $order->cond_reglement,
'mode_reglement_id' => $order->mode_reglement_id,
'mode_reglement' => $order->mode_reglement,
'mode_reglement_code' => $order->mode_reglement_code,
'mode_reglement' => $order->mode_reglement,
'date_livraison' => $order->date_livraison,
'fk_delivery_address' => $order->fk_delivery_address,
@ -466,7 +464,7 @@ function getOrdersForThirdParty($authentication,$idthirdparty)
if ($fuser->societe_id) $socid=$fuser->societe_id;
// Check parameters
if (! $error && !$idthirdparty)
if (! $error && empty($idthirdparty))
{
$error++;
$errorcode='BAD_PARAMETERS'; $errorlabel='Parameter id is not provided';
@ -499,7 +497,7 @@ function getOrdersForThirdParty($authentication,$idthirdparty)
if( $socid && ( $socid != $order->socid) )
{
$error++;
$errorcode='PERMISSION_DENIED'; $errorlabel=$order->socid.'User does not have permission for this request';
$errorcode='PERMISSION_DENIED'; $errorlabel=$order->socid.' User does not have permission for this request';
}
if(!$error)
@ -511,6 +509,7 @@ function getOrdersForThirdParty($authentication,$idthirdparty)
{
$linesresp[]=array(
'id'=>$line->rowid,
'type'=>$line->product_type,
'fk_commande'=>$line->fk_commande,
'fk_parent_line'=>$line->fk_parent_line,
'desc'=>$line->desc,
@ -520,13 +519,12 @@ function getOrdersForThirdParty($authentication,$idthirdparty)
'tva_tx'=>$line->tva_tx,
'remise'=>$line->remise,
'remise_percent'=>$line->remise_percent,
'fk_product'=>$line->fk_product,
'product_type'=>$line->product_type,
'total_ht'=>$line->total_ht,
'total_tva'=>$line->total_tva,
'total_ttc'=>$line->total_ttc,
'total_net'=>$line->total_ht,
'total_vat'=>$line->total_tva,
'total'=>$line->total_ttc,
'date_start'=>$line->date_start,
'date_end'=>$line->date_end,
'product_id'=>$line->fk_product,
'product_ref'=>$line->product_ref,
'product_label'=>$line->product_label,
'product_desc'=>$line->product_desc
@ -541,17 +539,16 @@ function getOrdersForThirdParty($authentication,$idthirdparty)
'ref_ext' => $order->ref_ext,
'ref_int' => $order->ref_int,
'socid' => $order->socid,
'statut' => $order->statut,
'status' => $order->statut,
'total_ht' => $order->total_ht,
'total_tva' => $order->total_tva,
'total_net' => $order->total_ht,
'total_vat' => $order->total_tva,
'total_localtax1' => $order->total_localtax1,
'total_localtax2' => $order->total_localtax2,
'total_ttc' => $order->total_ttc,
'fk_project' => $order->fk_project,
'total' => $order->total_ttc,
'project_id' => $order->fk_project,
'date' => $order->date?dol_print_date($order->date,'dayrfc'):'',
'date_commande' => $order->date_commande?dol_print_date($order->date_commande,'dayrfc'):'',
'date' => $order->date_commande?dol_print_date($order->date_commande,'dayrfc'):'',
'remise' => $order->remise,
'remise_percent' => $order->remise_percent,
@ -570,7 +567,6 @@ function getOrdersForThirdParty($authentication,$idthirdparty)
'mode_reglement_code' => $order->mode_reglement_code,
'date_livraison' => $order->date_livraison,
'fk_delivery_address' => $order->fk_delivery_address,
'demand_reason_id' => $order->demand_reason_id,
'demand_reason_code' => $order->demand_reason_code,
@ -618,11 +614,12 @@ function createOrder($authentication,$order)
dol_syslog("Function: createOrder login=".$authentication['login']." socid :".$order['socid']);
if ($authentication['entity']) $conf->entity=$authentication['entity'];
// Init and check authentication
$objectresp=array();
$errorcode='';$errorlabel='';
$error=0;
if ($authentication['entity']) $conf->entity=$authentication['entity'];
$fuser=check_authentication($authentication,$error,$errorcode,$errorlabel);
// Check parameters
@ -631,19 +628,19 @@ function createOrder($authentication,$order)
if (! $error)
{
$newobject=new Commande($db);
$newobject->socid=$order['socid'];
$newobject->socid=$order['thirdparty_id'];
$newobject->type=$order['type'];
$newobject->ref_ext=$order['ref_ext'];
$newobject->date=$order['date'];
$newobject->date_lim_reglement=$order['date_due'];
$newobject->date=dol_stringtotime($order['date'],'dayrfc');
$newobject->date_lim_reglement=dol_stringtotime($order['date_due'],'dayrfc');
$newobject->note=$order['note'];
$newobject->note_public=$order['note_public'];
$newobject->statut=$order['statut'];
$newobject->statut=$order['status'];
$newobject->facturee=$order['facturee'];
$newobject->fk_project=$order['project_id'];
$newobject->cond_reglement_id=$order['cond_reglement_id'];
$newobject->demand_reason_id=$order['demand_reason_id'];
$newobject->date_commande=$now;
$newobject->date_creation=$now;
// Trick because nusoap does not store data with same structure if there is one or several lines
$arrayoflines=array();
@ -670,17 +667,26 @@ function createOrder($authentication,$order)
$db->begin();
$object_id=$newobject->create($fuser,0,0);
if ($object_id < 0)
$result=$newobject->create($fuser,0,0);
if ($result < 0)
{
$error++;
}
if ($newobject->statut == 1) // We want order validated
{
$result=$newobject->validate($fuser);
if ($result < 0)
{
$error++;
}
}
if (! $error)
{
$db->commit();
$objectresp=array('result'=>array('result_code'=>'OK', 'result_label'=>''),'id'=>$object_id);
$objectresp=array('result'=>array('result_code'=>'OK', 'result_label'=>''),'id'=>$newobject->id,'ref'=>$newobject->ref);
}
else
{
@ -689,6 +695,7 @@ function createOrder($authentication,$order)
$errorcode='KO';
$errorlabel=$newobject->error;
}
}
if ($error)
@ -784,6 +791,6 @@ function validOrder($authentication,$id='')
// Return the results.
$server->service($HTTP_RAW_POST_DATA);
$server->service((isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA:''));
?>

View File

@ -111,7 +111,7 @@ $server->wsdl->addComplexType(
'datec' => array('name'=>'datec','type'=>'xsd:dateTime'),
'datem' => array('name'=>'datem','type'=>'xsd:dateTime'),
'fk_thirdparty' => array('name'=>'fk_thirdparty','type'=>'xsd:string'),
'fk_socpeople' => array('name'=>'fk_socpeople','type'=>'xsd:string'),
'fk_contact' => array('name'=>'fk_contact','type'=>'xsd:string'),
'fk_member' => array('name'=>'fk_member','type'=>'xsd:string'),
'datelastlogin' => array('name'=>'datelastlogin','type'=>'xsd:dateTime'),
'datepreviouslogin' => array('name'=>'datepreviouslogin','type'=>'xsd:dateTime'),
@ -132,7 +132,7 @@ $server->wsdl->addComplexType(
'all',
'',
array(
'nom' => array('name'=>'nom','type'=>'xsd:string'),
'name' => array('name'=>'name','type'=>'xsd:string'),
'id' => array('name'=>'id','type'=>'xsd:string'),
'datec' => array('name'=>'datec','type'=>'xsd:string'),
'nb' => array('name'=>'nb','type'=>'xsd:string')
@ -264,26 +264,26 @@ $server->register(
);
$server->register(
'CreateUserFromThirdparty',
'createUserFromThirdparty',
// Entry values
array('authentication'=>'tns:authentication','thirdpartywithuser'=>'tns:thirdpartywithuser'),
// Exit values
array('result'=>'tns:result','id'=>'xsd:string'),
$ns,
$ns.'#CreateUserFromThirdparty',
$ns.'#createUserFromThirdparty',
$styledoc,
$styleuse,
'WS to create an external user with thirdparty and contact'
);
$server->register(
'SetUserPassword',
'setUserPassword',
// Entry values
array('authentication'=>'tns:authentication','shortuser'=>'tns:shortuser'),
// Exit values
array('result'=>'tns:result','id'=>'xsd:string'),
$ns,
$ns.'#SetUserPassword',
$ns.'#setUserPassword',
$styledoc,
$styleuse,
'WS to change password of an user'
@ -338,36 +338,36 @@ function getUser($authentication,$id,$ref='',$ref_ext='')
$objectresp = array(
'result'=>array('result_code'=>'OK', 'result_label'=>''),
'user'=>array(
'id' => $user->id,
'lastname' => $user->lastname,
'firstname' => $user->firstname,
'note' => $user->note,
'email' => $user->email,
'signature' => $user->signature,
'office_phone' => $user->office_phone,
'office_fax' => $user->office_fax,
'user_mobile' => $user->user_mobile,
'admin' => $user->admin,
'login' => $user->login,
'entity' => $user->entity,
'pass_indatabase' => $user->pass_indatabase,
'pass_indatabase_crypted' => $user->pass_indatabase_crypted,
'datec' => dol_print_date($user->datec,'dayhourrfc'),
'datem' => dol_print_date($user->datem,'dayhourrfc'),
'fk_thirdparty' => $user->societe_id,
'fk_socpeople' => $user->contact_id,
'fk_member' => $user->fk_member,
'webcal_login' => $user->webcal_login,
'phenix_login' => $user->phenix_login,
'phenix_pass' => $user->phenix_pass,
'phenix_pass_crypted' => $user->phenix_pass_crypted,
'datelastlogin' => dol_print_date($user->datelastlogin,'dayhourrfc'),
'datepreviouslogin' => dol_print_date($user->datepreviouslogin,'dayhourrfc'),
'statut' => $user->statut,
'photo' => $user->photo,
'lang' => $user->lang,
//'rights' => $user->rights,
'canvas' => $user->canvas
'id' => $user->id,
'lastname' => $user->lastname,
'firstname' => $user->firstname,
'note' => $user->note,
'email' => $user->email,
'signature' => $user->signature,
'office_phone' => $user->office_phone,
'office_fax' => $user->office_fax,
'user_mobile' => $user->user_mobile,
'admin' => $user->admin,
'login' => $user->login,
'entity' => $user->entity,
'pass_indatabase' => $user->pass_indatabase,
'pass_indatabase_crypted' => $user->pass_indatabase_crypted,
'datec' => dol_print_date($user->datec,'dayhourrfc'),
'datem' => dol_print_date($user->datem,'dayhourrfc'),
'fk_thirdparty' => $user->societe_id,
'fk_contact' => $user->contact_id,
'fk_member' => $user->fk_member,
'webcal_login' => $user->webcal_login,
'phenix_login' => $user->phenix_login,
'phenix_pass' => $user->phenix_pass,
'phenix_pass_crypted' => $user->phenix_pass_crypted,
'datelastlogin' => dol_print_date($user->datelastlogin,'dayhourrfc'),
'datepreviouslogin' => dol_print_date($user->datepreviouslogin,'dayhourrfc'),
'statut' => $user->statut,
'photo' => $user->photo,
'lang' => $user->lang,
//'rights' => $user->rights,
'canvas' => $user->canvas
)
);
}
@ -418,7 +418,7 @@ function getListOfGroups($authentication)
if (! $error)
{
$sql = "SELECT g.rowid, g.nom, g.entity, g.datec, COUNT(DISTINCT ugu.fk_user) as nb";
$sql = "SELECT g.rowid, g.nom as name, g.entity, g.datec, COUNT(DISTINCT ugu.fk_user) as nb";
$sql.= " FROM ".MAIN_DB_PREFIX."usergroup as g";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ugu ON ugu.fk_usergroup = g.rowid";
if (! empty($conf->multicompany->enabled) && $conf->entity == 1 && ($conf->multicompany->transverse_mode || ($user->admin && ! $user->entity)))
@ -439,7 +439,7 @@ function getListOfGroups($authentication)
while ($i < $num)
{
$obj=$db->fetch_object($resql);
$arraygroups[]=array('id'=>$obj->rowid,'nom'=>$obj->nom,'datec'=>$obj->datec,'nb'=>$obj->nb);
$arraygroups[]=array('id'=>$obj->rowid,'name'=>$obj->name,'datec'=>$obj->datec,'nb'=>$obj->nb);
$i++;
}
}
@ -477,11 +477,11 @@ function getListOfGroups($authentication)
* @param array $thirdpartywithuser Datas
* @return mixed
*/
function CreateUserFromThirdparty($authentication,$thirdpartywithuser)
function createUserFromThirdparty($authentication,$thirdpartywithuser)
{
global $db,$conf,$langs;
dol_syslog("Function: CreateUserFromThirdparty login=".$authentication['login']." id=".$id." ref=".$ref." ref_ext=".$ref_ext);
dol_syslog("Function: createUserFromThirdparty login=".$authentication['login']." id=".$id." ref=".$ref." ref_ext=".$ref_ext);
if ($authentication['entity']) $conf->entity=$authentication['entity'];
@ -518,7 +518,7 @@ function CreateUserFromThirdparty($authentication,$thirdpartywithuser)
$resql = $db->query($sql);
if ($resql)
{
// If a company or socpeopel is found with the same email we return an error
// If a company or contact is found with the same email we return an error
$row = $db->fetch_object($resql);
if ($row)
{
@ -665,11 +665,11 @@ function CreateUserFromThirdparty($authentication,$thirdpartywithuser)
* @param array $shortuser Array of login/password info
* @return mixed
*/
function SetUserPassword($authentication,$shortuser) {
function setUserPassword($authentication,$shortuser) {
global $db,$conf,$langs;
dol_syslog("Function: SetUserPassword login=".$authentication['login']." id=".$id." ref=".$ref." ref_ext=".$ref_ext);
dol_syslog("Function: setUserPassword login=".$authentication['login']." id=".$id." ref=".$ref." ref_ext=".$ref_ext);
if ($authentication['entity']) $conf->entity=$authentication['entity'];