Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into mko559

This commit is contained in:
Maxime Kohlhaas 2012-11-14 11:02:35 +01:00
commit 667c8cffae
84 changed files with 2934 additions and 1963 deletions

File diff suppressed because one or more lines are too long

196
dev/initdata/savedemo.sh Executable file
View File

@ -0,0 +1,196 @@
#!/bin/sh
#------------------------------------------------------
# Script to extrac a database with demo values.
# Note: "dialog" tool need to be available if no parameter provided.
#
# Regis Houssin - regis@dolibarr.fr
# Laurent Destailleur - eldy@users.sourceforge.net
#------------------------------------------------------
# Usage: savedemo.sh
# usage: savedemo.sh mysqldump_dolibarr_x.x.x.sql database port login pass
#------------------------------------------------------
export mydir=`echo "$0" | sed -e 's/savedemo.sh//'`;
if [ "x$mydir" = "x" ]
then
export mydir="."
fi
export id=`id -u`;
# ----------------------------- check if root
if [ "x$id" != "x0" -a "x$id" != "x1001" ]
then
echo "Script must be ran as root"
exit
fi
# ----------------------------- command line params
dumpfile=$1;
base=$2;
port=$3;
admin=$4;
passwd=$5;
# ----------------------------- if no params on command line
if [ "x$passwd" = "x" ]
then
export dumpfile=`ls $mydir/mysqldump_dolibarr_*.sql | sort | tail -n 1`
export dumpfile=`basename $dumpfile`
# ----------------------------- input file
DIALOG=${DIALOG=dialog}
DIALOG="$DIALOG --ascii-lines"
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Save Dolibarr with demo values" --clear \
--inputbox "Output dump file :" 16 55 $dumpfile 2> $fichtemp
valret=$?
case $valret in
0)
dumpfile=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
# ----------------------------- database name
DIALOG=${DIALOG=dialog}
DIALOG="$DIALOG --ascii-lines"
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Save Dolibarr with demo values" --clear \
--inputbox "Mysql database name :" 16 55 dolibarrdemo 2> $fichtemp
valret=$?
case $valret in
0)
base=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
# ---------------------------- database port
DIALOG=${DIALOG=dialog}
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Save Dolibarr with demo values" --clear \
--inputbox "Mysql port (ex: 3306):" 16 55 3306 2> $fichtemp
valret=$?
case $valret in
0)
port=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
# ---------------------------- compte admin mysql
DIALOG=${DIALOG=dialog}
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Save Dolibarr with demo values" --clear \
--inputbox "Mysql root login (ex: root):" 16 55 root 2> $fichtemp
valret=$?
case $valret in
0)
admin=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
# ---------------------------- mot de passe admin mysql
DIALOG=${DIALOG=dialog}
fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
trap "rm -f $fichtemp" 0 1 2 5 15
$DIALOG --title "Save Dolibarr with demo values" --clear \
--inputbox "Password for Mysql root login :" 16 55 2> $fichtemp
valret=$?
case $valret in
0)
passwd=`cat $fichtemp`;;
1)
exit;;
255)
exit;;
esac
# ---------------------------- chemin d'acces du repertoire documents
#DIALOG=${DIALOG=dialog}
#fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
#trap "rm -f $fichtemp" 0 1 2 5 15
#$DIALOG --title "Save Dolibarr with demo values" --clear \
# --inputbox "Full path to documents directory (ex: /var/www/dolibarr/documents)- no / at end :" 16 55 2> $fichtemp
#valret=$?
#case $valret in
# 0)
#docs=`cat $fichtemp`;;
# 1)
#exit;;
# 255)
#exit;;
#esac
# ---------------------------- confirmation
DIALOG=${DIALOG=dialog}
$DIALOG --title "Save Dolibarr with demo values" --clear \
--yesno "Do you confirm ? \n Dump file : '$dumpfile' \n Dump dir : '$mydir' \n Mysql database : '$base' \n Mysql port : '$port' \n Mysql login: '$admin' \n Mysql password : '$passwd'" 15 55
case $? in
0) echo "Ok, start process...";;
1) exit;;
255) exit;;
esac
fi
# ---------------------------- run sql file
if [ "x$passwd" != "x" ]
then
export passwd="-p$passwd"
fi
export list="
--ignore-table=$base.llx_abonne
--ignore-table=$base.llx_abonne_extrafields
--ignore-table=$base.llx_abonne_type
--ignore-table=$base.llx_abonnement
--ignore-table=$base.llx_dolicloud_customers
--ignore-table=$base.llx_c_dolicloud_plans
--ignore-table=$base.llx_cabinetmed_c_banques
--ignore-table=$base.llx_cabinetmed_c_ccam
--ignore-table=$base.llx_cabinetmed_c_examconclusion
--ignore-table=$base.llx_cabinetmed_cons
--ignore-table=$base.llx_cabinetmed_diaglec
--ignore-table=$base.llx_cabinetmed_examaut
--ignore-table=$base.llx_cabinetmed_exambio
--ignore-table=$base.llx_cabinetmed_examenprescrit
--ignore-table=$base.llx_cabinetmed_motifcons
--ignore-table=$base.llx_cabinetmed_patient"
echo "mysqldump -P$port -u$admin -p***** $list $base > $mydir/$dumpfile"
mysqldump -P$port -u$admin $passwd $list $base > $mydir/$dumpfile
export res=$?
if [ "x$res" = "x0" ]
then
echo "Success, file successfully loaded."
else
echo "Error, load failed."
fi
echo

View File

@ -35,8 +35,6 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
$langs->load("companies");
$langs->load("members");
$mesg=isset($_GET["mesg"])?'<div class="ok">'.$_GET["mesg"].'</div>':'';
$id = GETPOST('id','int');
// Security check
@ -70,7 +68,7 @@ $form = new Form($db);
/*
* Fiche categorie de client et/ou fournisseur
*/
if ($id)
if ($object->id > 0)
{
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';
@ -133,9 +131,6 @@ if ($id)
print '</div>';
dol_htmloutput_mesg($mesg);
/*
* Barre d'action
*/
@ -144,7 +139,9 @@ if ($id)
if (! empty($conf->agenda->enabled))
{
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&socid='.$socid.'">'.$langs->trans("AddAction").'</a>';
// FIXME socid parameters is not valid, a member is not a thirparty
//print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&socid='.$socid.'">'.$langs->trans("AddAction").'</a>';
print '<a class="butAction" href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create">'.$langs->trans("AddAction").'</a>';
}
print '</div>';

View File

@ -473,7 +473,7 @@ llxHeader('',$langs->trans("Subscriptions"),'EN:Module_Foundations|FR:Module_Adh
if ($rowid)
{
$res=$object->fetch($rowid,$ref);
$res=$object->fetch($rowid);
if ($res < 0) { dol_print_error($db,$object->error); exit; }
//$res=$object->fetch_optionals($object->id,$extralabels);
//if ($res < 0) { dol_print_error($db); exit; }
@ -558,10 +558,10 @@ if ($rowid)
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans("LinkedToDolibarrThirdParty");
print '</td>';
if ($_GET['action'] != 'editthirdparty' && $user->rights->adherent->creer) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editthirdparty&amp;rowid='.$object->id.'">'.img_edit($langs->trans('SetLinkToThirdParty'),1).'</a></td>';
if ($action != 'editthirdparty' && $user->rights->adherent->creer) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editthirdparty&amp;rowid='.$object->id.'">'.img_edit($langs->trans('SetLinkToThirdParty'),1).'</a></td>';
print '</tr></table>';
print '</td><td class="valeur">';
if ($_GET['action'] == 'editthirdparty')
if ($action == 'editthirdparty')
{
$htmlname='socid';
print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'" name="form'.$htmlname.'">';
@ -813,7 +813,7 @@ if ($rowid)
print '<input type="hidden" name="action" value="cotisation">';
print '<input type="hidden" name="rowid" value="'.$rowid.'">';
print '<input type="hidden" name="memberlabel" id="memberlabel" value="'.dol_escape_htmltag($object->getFullName($langs)).'">';
print '<input type="hidden" name="thirdpartylabel" id="thirdpartylabel" value="'.dol_escape_htmltag($company->name).'">';
print '<input type="hidden" name="thirdpartylabel" id="thirdpartylabel" value="'.dol_escape_htmltag($object->name).'">';
print "<table class=\"border\" width=\"100%\">\n";
$today=dol_now();
@ -822,16 +822,16 @@ if ($rowid)
$paymentdate=-1;
// Date payment
if ($_POST["paymentyear"] && $_POST["paymentmonth"] && $_POST["paymentday"])
if (GETPOST('paymentyear') && GETPOST('paymentmonth') && GETPOST('paymentday'))
{
$paymentdate=dol_mktime(0, 0, 0, $_POST["paymentmonth"], $_POST["paymentday"], $_POST["paymentyear"]);
$paymentdate=dol_mktime(0, 0, 0, GETPOST('paymentmonth'), GETPOST('paymentday'), GETPOST('paymentyear'));
}
// Date start subscription
print '<tr><td width="30%" class="fieldrequired">'.$langs->trans("DateSubscription").'</td><td>';
if ($_POST["reday"])
if (GETPOST('reday'))
{
$datefrom=dol_mktime(0,0,0,$_POST["remonth"],$_POST["reday"],$_POST["reyear"]);
$datefrom=dol_mktime(0,0,0,GETPOST('remonth'),GETPOST('reday'),GETPOST('reyear'));
}
if (! $datefrom)
{
@ -848,9 +848,9 @@ if ($rowid)
print "</td></tr>";
// Date end subscription
if ($_POST["endday"])
if (GETPOST('endday'))
{
$dateto=dol_mktime(0,0,0,$_POST["endmonth"],$_POST["endday"],$_POST["endyear"]);
$dateto=dol_mktime(0,0,0,GETPOST('endmonth'),GETPOST('endday'),GETPOST('endyear'));
}
if (! $dateto)
{
@ -863,7 +863,7 @@ if ($rowid)
if ($adht->cotisation)
{
// Amount
print '<tr><td class="fieldrequired">'.$langs->trans("Amount").'</td><td><input type="text" name="cotisation" size="6" value="'.$_POST["cotisation"].'"> '.$langs->trans("Currency".$conf->currency).'</td></tr>';
print '<tr><td class="fieldrequired">'.$langs->trans("Amount").'</td><td><input type="text" name="cotisation" size="6" value="'.GETPOST('cotisation').'"> '.$langs->trans("Currency".$conf->currency).'</td></tr>';
// Label
print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td>';
@ -926,33 +926,33 @@ if ($rowid)
// Bank account
print '<tr class="bankswitchclass"><td class="fieldrequired">'.$langs->trans("FinancialAccount").'</td><td>';
$form->select_comptes($_POST["accountid"],'accountid',0,'',1);
$form->select_comptes(GETPOST('accountid'),'accountid',0,'',1);
print "</td></tr>\n";
// Payment mode
print '<tr class="bankswitchclass"><td class="fieldrequired">'.$langs->trans("PaymentMode").'</td><td>';
$form->select_types_paiements($_POST["operation"],'operation','',2);
$form->select_types_paiements(GETPOST('operation'),'operation','',2);
print "</td></tr>\n";
// Date of payment
print '<tr class="bankswitchclass"><td class="fieldrequired">'.$langs->trans("DatePayment").'</td><td>';
$form->select_date($paymentdate?$paymentdate:-1,'payment',0,0,1,'cotisation',1,1);
$form->select_date(isset($paymentdate)?$paymentdate:-1,'payment',0,0,1,'cotisation',1,1);
print "</td></tr>\n";
print '<tr class="bankswitchclass2"><td>'.$langs->trans('Numero');
print ' <em>('.$langs->trans("ChequeOrTransferNumber").')</em>';
print '</td>';
print '<td><input id="fieldnum_chq" name="num_chq" type="text" size="8" value="'.(empty($_POST['num_chq'])?'':$_POST['num_chq']).'"></td></tr>';
print '<td><input id="fieldnum_chq" name="num_chq" type="text" size="8" value="'.(! GETPOST('num_chq')?'':GETPOST('num_chq')).'"></td></tr>';
print '<tr class="bankswitchclass2 fieldrequireddyn"><td>'.$langs->trans('CheckTransmitter');
print ' <em>('.$langs->trans("ChequeMaker").')</em>';
print '</td>';
print '<td><input id="fieldchqemetteur" name="chqemetteur" size="32" type="text" value="'.(empty($_POST['chqemetteur'])?$facture->client->name:$_POST['chqemetteur']).'"></td></tr>';
print '<td><input id="fieldchqemetteur" name="chqemetteur" size="32" type="text" value="'.(! GETPOST('chqemetteur')?'':GETPOST('chqemetteur')).'"></td></tr>';
print '<tr class="bankswitchclass2"><td>'.$langs->trans('Bank');
print ' <em>('.$langs->trans("ChequeBank").')</em>';
print '</td>';
print '<td><input id="chqbank" name="chqbank" size="32" type="text" value="'.(empty($_POST['chqbank'])?'':$_POST['chqbank']).'"></td></tr>';
print '<td><input id="chqbank" name="chqbank" size="32" type="text" value="'.(! GETPOST('chqbank')?'':GETPOST('chqbank')).'"></td></tr>';
}
}
@ -972,7 +972,7 @@ if ($rowid)
$subjecttosend=$object->makeSubstitution($conf->global->ADHERENT_MAIL_COTIS_SUBJECT);
$texttosend=$object->makeSubstitution($adht->getMailOnSubscription());
$tmp='<input name="sendmail" type="checkbox"'.((isset($_POST["sendmail"])?$_POST["sendmail"]:$conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL)?' checked="checked"':'').'>';
$tmp='<input name="sendmail" type="checkbox"'.(GETPOST('sendmail')?GETPOST('sendmail'):(! empty($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL)?' checked="checked"':'')).'>';
$helpcontent='';
$helpcontent.='<b>'.$langs->trans("MailFrom").'</b>: '.$conf->global->ADHERENT_MAIL_FROM.'<br>'."\n";
$helpcontent.='<b>'.$langs->trans("MailRecipient").'</b>: '.$object->email.'<br>'."\n";

View File

@ -1,10 +1,10 @@
<?php
/* Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
/* Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2009-2012 Regis Houssin <regis@dolibarr.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -318,7 +318,7 @@ class Adherent extends CommonObject
$this->ref=$id;
// Update minor fields
$result=$this->update($user,1,1); // nosync is 1 to avoid update data of user
$result=$this->update($user,1,1,0,0,'add'); // nosync is 1 to avoid update data of user
if ($result < 0)
{
$this->db->rollback();
@ -390,9 +390,10 @@ class Adherent extends CommonObject
* @param int $nosyncuser 0=Synchronize linked user (standard info), 1=Do not synchronize linked user
* @param int $nosyncuserpass 0=Synchronize linked user (password), 1=Do not synchronize linked user
* @param int $nosyncthirdparty 0=Synchronize linked thirdparty (standard info), 1=Do not synchronize linked thirdparty
* @param string $action Current action for hookmanager
* @return int <0 if KO, >0 if OK
*/
function update($user,$notrigger=0,$nosyncuser=0,$nosyncuserpass=0,$nosyncthirdparty=0)
function update($user,$notrigger=0,$nosyncuser=0,$nosyncuserpass=0,$nosyncthirdparty=0,$action='update')
{
global $conf, $langs;
@ -470,11 +471,14 @@ class Adherent extends CommonObject
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
if (empty($reshook))
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
}
}
else if ($reshook < 0) $error++;

View File

@ -196,8 +196,7 @@ if ($id > 0)
// List of document
$param='&socid='.$societe->id;
$formfile->list_of_documents($filearray,$member,'member',$param, 0, get_exdir($member->id,2,0,1).'/'.$member->id.'/');
$formfile->list_of_documents($filearray,$member,'member','', 0, get_exdir($member->id,2,0,1).'/'.$member->id.'/');
print "<br><br>";
}

View File

@ -52,9 +52,6 @@ $typeid=GETPOST('typeid','int');
$userid=GETPOST('userid','int');
$socid=GETPOST('socid','int');
// Security check
$result=restrictedArea($user,'adherent',$rowid,'','','fk_soc', 'rowid', $objcanvas);
if (! empty($conf->mailmanspip->enabled))
{
include_once DOL_DOCUMENT_ROOT.'/mailmanspip/class/mailmanspip.class.php';
@ -78,6 +75,9 @@ if (! empty($canvas))
$objcanvas->getCanvas('adherent', 'membercard', $canvas);
}
// Security check
$result=restrictedArea($user,'adherent',$rowid,'','','fk_soc', 'rowid', $objcanvas);
$errmsg=''; $errmsgs=array();
if ($rowid > 0)
@ -735,7 +735,7 @@ else
/* */
/* ************************************************************************** */
$object->canvas=$canvas;
$object->fk_departement = $_POST["departement_id"];
$object->fk_departement = GETPOST('departement_id', 'int');
// We set country_id, country_code and country for the selected country
$object->country_id=GETPOST('country_id','int')?GETPOST('country_id','int'):$mysoc->country_id;
@ -905,7 +905,7 @@ else
{
foreach($extrafields->attribute_label as $key=>$label)
{
$value=(isset($_POST["options_".$key])?GETPOST('options_'.$key,'alpha'):$object->array_options["options_".$key]);
$value=(isset($_POST["options_".$key])?GETPOST('options_'.$key,'alpha'):(isset($object->array_options["options_".$key])?$object->array_options["options_".$key]:''));
print '<tr><td';
if (! empty($extrafields->attribute_required[$key])) print ' class="fieldrequired"';
print '>'.$label.'</td><td>';
@ -1235,7 +1235,7 @@ else
dol_htmloutput_errors($errmsg,$errmsgs);
// Confirm create user
if ($_GET["action"] == 'create_user')
if ($action == 'create_user')
{
$login=$object->login;
if (empty($login))
@ -1261,7 +1261,7 @@ else
}
// Confirm create third party
if ($_GET["action"] == 'create_thirdparty')
if ($action == 'create_thirdparty')
{
$name = $object->getFullName($langs);
if (! empty($name))
@ -1348,7 +1348,7 @@ else
// Cree un tableau formulaire
$formquestion=array();
if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL?'true':'false'));
if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => (! empty($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL)?'true':'false'));
if ($backtopage) $formquestion[]=array('type' => 'hidden', 'name' => 'backtopage', 'value' => ($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"]));
$ret=$form->form_confirm("fiche.php?rowid=".$rowid,$langs->trans("ResiliateMember"),$langs->trans("ConfirmResiliateMember"),"confirm_resign",$formquestion);
if ($ret == 'html') print '<br>';
@ -1495,10 +1495,10 @@ else
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans("LinkedToDolibarrThirdParty");
print '</td>';
if ($_GET['action'] != 'editthirdparty' && $user->rights->adherent->creer) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editthirdparty&amp;rowid='.$object->id.'">'.img_edit($langs->trans('SetLinkToThirdParty'),1).'</a></td>';
if ($action != 'editthirdparty' && $user->rights->adherent->creer) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editthirdparty&amp;rowid='.$object->id.'">'.img_edit($langs->trans('SetLinkToThirdParty'),1).'</a></td>';
print '</tr></table>';
print '</td><td colspan="2" class="valeur">';
if ($_GET['action'] == 'editthirdparty')
if ($action == 'editthirdparty')
{
$htmlname='socid';
print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'" name="form'.$htmlname.'">';
@ -1533,7 +1533,7 @@ else
print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans("LinkedToDolibarrUser");
print '</td>';
if ($_GET['action'] != 'editlogin' && $user->rights->adherent->creer)
if ($action != 'editlogin' && $user->rights->adherent->creer)
{
print '<td align="right">';
if ($user->rights->user->user->creer)
@ -1544,7 +1544,7 @@ else
}
print '</tr></table>';
print '</td><td colspan="2" class="valeur">';
if ($_GET['action'] == 'editlogin')
if ($action == 'editlogin')
{
print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid','');
}

View File

@ -169,11 +169,11 @@ if ($conf->use_javascript_ajax)
{
$datalabels[]=array($i,$adhtype->getNomUrl(0,dol_size(16)));
$dataval['draft'][]=array($i,isset($MemberToValidate[$key])?$MemberToValidate[$key]:0);
$dataval['notuptodate'][]=array($i,isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0);
$dataval['notuptodate'][]=array($i,isset($MembersValidated[$key])?$MembersValidated[$key]-(isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0):0);
$dataval['uptodate'][]=array($i,isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0);
$dataval['resiliated'][]=array($i,isset($MembersResiliated[$key])?$MembersResiliated[$key]:0);
$SommeA+=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0;
$SommeB+=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0;
$SommeB+=isset($MembersValidated[$key])?$MembersValidated[$key]-(isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0):0;
$SommeC+=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0;
$SommeD+=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0;
$i++;
@ -336,7 +336,7 @@ foreach ($AdherentType as $key => $adhtype)
print "<tr $bc[$var]>";
print '<td>'.$adhtype->getNomUrl(1, dol_size(32)).'</td>';
print '<td align="right">'.(isset($MemberToValidate[$key]) && $MemberToValidate[$key] > 0?$MemberToValidate[$key]:'').' '.$staticmember->LibStatut(-1,$adhtype->cotisation,0,3).'</td>';
print '<td align="right">'.(isset($MembersValidated[$key]) && ($MembersValidated[$key]-$MemberUpToDate[$key] > 0) ? $MembersValidated[$key]-$MemberUpToDate[$key]:'').' '.$staticmember->LibStatut(1,$adhtype->cotisation,0,3).'</td>';
print '<td align="right">'.(isset($MembersValidated[$key]) && ($MembersValidated[$key]-(isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0) > 0) ? $MembersValidated[$key]-(isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0):'').' '.$staticmember->LibStatut(1,$adhtype->cotisation,0,3).'</td>';
print '<td align="right">'.(isset($MemberUpToDate[$key]) && $MemberUpToDate[$key] > 0 ? $MemberUpToDate[$key]:'').' '.$staticmember->LibStatut(1,$adhtype->cotisation,$now,3).'</td>';
print '<td align="right">'.(isset($MembersResiliated[$key]) && $MembersResiliated[$key]> 0 ?$MembersResiliated[$key]:'').' '.$staticmember->LibStatut(0,$adhtype->cotisation,0,3).'</td>';
print "</tr>\n";

View File

@ -57,7 +57,7 @@ if ($action == 'update' && $user->rights->adherent->creer && ! $_POST["cancel"])
$res=$object->update_note($_POST["note"],$user);
if ($res < 0)
{
$mesg='<div class="error">'.$object->error.'</div>';
setEventMessage($object->error, 'errors');
$db->rollback();
}
else
@ -82,8 +82,6 @@ if ($id)
dol_fiche_head($head, 'note', $langs->trans("Member"), 0, 'user');
dol_htmloutput_errors($msg);
print "<form method=\"post\" action=\"note.php\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';

View File

@ -68,15 +68,15 @@ class Categorie
*/
function fetch($id,$label='')
{
global $conf;
global $conf;
$sql = "SELECT rowid, fk_parent, entity, label, description, fk_soc, visible, type";
$sql.= " FROM ".MAIN_DB_PREFIX."categorie";
if ($id)
if ($id)
{
$sql.= " WHERE rowid = '".$id."'";
}
else
{
if ($label) $sql.= " WHERE label = '".$this->db->escape($label)."' AND entity=".$conf->entity;;
@ -89,7 +89,7 @@ class Categorie
if ($this->db->num_rows($resql) > 0)
{
$res = $this->db->fetch_array($resql);
$this->id = $res['rowid'];
$this->fk_parent = $res['fk_parent'];
$this->label = $res['label'];
@ -98,9 +98,9 @@ class Categorie
$this->visible = $res['visible'];
$this->type = $res['type'];
$this->entity = $res['entity'];
$this->db->free($resql);
return 1;
}
else
@ -702,9 +702,9 @@ class Categorie
/**
* Retourne toutes les categories
*
* @param int Type of category
* @param boolean Just parent categories if true
* @return array Tableau d'objet Categorie
* @param int $type Type of category
* @param boolean $parent Just parent categories if true
* @return array Tableau d'objet Categorie
*/
function get_all_categories($type=null, $parent=false)
{
@ -807,7 +807,7 @@ class Categorie
/**
* Retourne les categories de premier niveau (qui ne sont pas filles)
*
* @param int Type of category
* @param int $type Type of category
* @return void
*/
function get_main_categories($type=null)

View File

@ -51,6 +51,7 @@ class ActionComm extends CommonObject
var $datep; // Date action start (datep)
var $datef; // Date action end (datep2)
var $dateend; // ??
var $durationp = -1; // -1=Unkown duration
var $fulldayevent = 0; // 1=Event on full day
var $punctual = 1; // Milestone

View File

@ -381,54 +381,45 @@ if ($action == 'create')
if (! empty($conf->use_javascript_ajax))
{
print "\n".'<script type="text/javascript" language="javascript">';
print 'jQuery(document).ready(function () {
function setdatefields()
{
if (jQuery("#fullday:checked").val() == null)
{
jQuery(".fulldaystarthour").attr(\'disabled\', false);
jQuery(".fulldaystartmin").attr(\'disabled\', false);
jQuery(".fulldayendhour").attr(\'disabled\', false);
jQuery(".fulldayendmin").attr(\'disabled\', false);
}
else
{
jQuery(".fulldaystarthour").attr(\'disabled\', true);
jQuery(".fulldaystartmin").attr(\'disabled\', true);
jQuery(".fulldayendhour").attr(\'disabled\', true);
jQuery(".fulldayendmin").attr(\'disabled\', true);
jQuery(".fulldaystarthour").val("00");
jQuery(".fulldaystartmin").val("00");
//jQuery(".fulldayendhour").val("00");
//jQuery(".fulldayendmin").val("00");
jQuery(".fulldayendhour").val("23");
jQuery(".fulldayendmin").val("59");
}
}
print "\n".'<script type="text/javascript">';
print '$(document).ready(function () {
function setdatefields()
{
if ($("#fullday:checked").val() == null) {
$(".fulldaystarthour").removeAttr("disabled");
$(".fulldaystartmin").removeAttr("disabled");
$(".fulldayendhour").removeAttr("disabled");
$(".fulldayendmin").removeAttr("disabled");
} else {
$(".fulldaystarthour").attr("disabled","disabled").val("00");
$(".fulldaystartmin").attr("disabled","disabled").val("00");
$(".fulldayendhour").attr("disabled","disabled").val("23");
$(".fulldayendmin").attr("disabled","disabled").val("59");
}
}
setdatefields();
jQuery("#fullday").change(function() {
$("#fullday").change(function() {
setdatefields();
});
jQuery("#selectcomplete").change(function() {
if (jQuery("#selectcomplete").val() == 100)
$("#selectcomplete").change(function() {
if ($("#selectcomplete").val() == 100)
{
if (jQuery("#doneby").val() <= 0) jQuery("#doneby").val(\''.$user->id.'\');
if ($("#doneby").val() <= 0) $("#doneby").val(\''.$user->id.'\');
}
if (jQuery("#selectcomplete").val() == 0)
if ($("#selectcomplete").val() == 0)
{
jQuery("#doneby").val(-1);
$("#doneby").val(-1);
}
});
jQuery("#actioncode").change(function() {
if (jQuery("#actioncode").val() == \'AC_RDV\') jQuery("#dateend").addClass("fieldrequired");
else jQuery("#dateend").removeClass("fieldrequired");
$("#actioncode").change(function() {
if ($("#actioncode").val() == \'AC_RDV\') $("#dateend").addClass("fieldrequired");
else $("#dateend").removeClass("fieldrequired");
});
})';
print '</script>'."\n";
}
print '<form name="formaction" action="'.DOL_URL_ROOT.'/comm/action/fiche.php" method="POST">';
print '<form name="formaction" action="'.$_SERVER['PHP_SELF'].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="add_action">';
if ($backtopage) print '<input type="hidden" name="backtopage" value="'.($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"]).'">';
@ -647,43 +638,34 @@ if ($id)
if ($action == 'edit')
{
if ($conf->use_javascript_ajax)
if (! empty($conf->use_javascript_ajax))
{
print "\n".'<script type="text/javascript" language="javascript">';
print 'jQuery(document).ready(function () {
function setdatefields()
{
if (jQuery("#fullday:checked").val() == null)
{
jQuery(".fulldaystarthour").attr(\'disabled\', false);
jQuery(".fulldaystartmin").attr(\'disabled\', false);
jQuery(".fulldayendhour").attr(\'disabled\', false);
jQuery(".fulldayendmin").attr(\'disabled\', false);
}
else
{
jQuery(".fulldaystarthour").attr(\'disabled\', true);
jQuery(".fulldaystartmin").attr(\'disabled\', true);
jQuery(".fulldayendhour").attr(\'disabled\', true);
jQuery(".fulldayendmin").attr(\'disabled\', true);
jQuery(".fulldaystarthour").val("00");
jQuery(".fulldaystartmin").val("00");
//jQuery(".fulldayendhour").val("00");
//jQuery(".fulldayendmin").val("00");
jQuery(".fulldayendhour").val("23");
jQuery(".fulldayendmin").val("59");
}
}
setdatefields();
jQuery("#fullday").change(function() {
setdatefields();
});
print "\n".'<script type="text/javascript">';
print '$(document).ready(function () {
function setdatefields()
{
if ($("#fullday:checked").val() == null) {
$(".fulldaystarthour").removeAttr("disabled");
$(".fulldaystartmin").removeAttr("disabled");
$(".fulldayendhour").removeAttr("disabled");
$(".fulldayendmin").removeAttr("disabled");
} else {
$(".fulldaystarthour").attr("disabled","disabled").val("00");
$(".fulldaystartmin").attr("disabled","disabled").val("00");
$(".fulldayendhour").attr("disabled","disabled").val("23");
$(".fulldayendmin").attr("disabled","disabled").val("59");
}
}
setdatefields();
$("#fullday").change(function() {
setdatefields();
});
})';
print '</script>'."\n";
}
// Fiche action en mode edition
print '<form name="formaction" action="'.DOL_URL_ROOT.'/comm/action/fiche.php" method="post">';
print '<form name="formaction" action="'.$_SERVER['PHP_SELF'].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
print '<input type="hidden" name="id" value="'.$id.'">';

View File

@ -981,8 +981,22 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
// Define $color and $cssclass of event
$color=-1; $cssclass=''; $colorindex=-1;
if ($event->author->id == $user->id || $event->usertodo->id == $user->id || $event->userdone->id == $user->id) { $nummytasks++; $colorindex=1; $cssclass='family_mytasks'; }
else if ($event->type_code == 'ICALEVENT') { $numical++; $numicals[dol_string_nospecial($event->icalname)]++; $color=$event->icalcolor; $cssclass=($event->icalname?'family_'.dol_string_nospecial($event->icalname):'family_other'); }
if ((! empty($event->author->id) && $event->author->id == $user->id)
|| (! empty($event->usertodo->id) && $event->usertodo->id == $user->id)
|| (! empty($event->userdone->id) && $event->userdone->id == $user->id)) {
$nummytasks++; $colorindex=1; $cssclass='family_mytasks';
}
else if ($event->type_code == 'ICALEVENT') {
$numical++;
if (! empty($event->icalname)) {
if (! isset($numicals[dol_string_nospecial($event->icalname)])) {
$numicals[dol_string_nospecial($event->icalname)] = 0;
}
$numicals[dol_string_nospecial($event->icalname)]++;
}
$color=$event->icalcolor;
$cssclass=(! empty($event->icalname)?'family_'.dol_string_nospecial($event->icalname):'family_other');
}
else if ($event->type_code == 'BIRTHDAY') { $numbirthday++; $colorindex=2; $cssclass='family_birthday'; }
else { $numother++; $colorindex=2; $cssclass='family_other'; }
if ($color == -1) $color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]);

View File

@ -473,7 +473,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
{
$langs->load("propal");
$sql = "SELECT s.nom, s.rowid, p.rowid as propalid, p.total as total_ttc, p.total_ht, p.ref, p.fk_statut, p.datep as dp";
$sql = "SELECT s.nom, s.rowid, p.rowid as propalid, p.total as total_ttc, p.total_ht, p.ref, p.fk_statut, p.datep as dp, p.fin_validite as dfv";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."propal as p";
if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
@ -513,7 +513,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire)
print $propalstatic->getNomUrl(1);
print '</td>';
print '<td width="18" class="nobordernopadding" nowrap="nowrap">';
if ($db->jdate($obj->dp) < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late"));
if ($db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late"));
print '</td>';
print '<td width="16" align="center" class="nobordernopadding">';
$filename=dol_sanitizeFileName($obj->ref);

View File

@ -36,6 +36,8 @@ $langs->load('companies');
$langs->load('projects');
$langs->load('propal');
$action=GETPOST('action', 'alpha');
// Security check
$socid = GETPOST('socid','int');
if ($user->societe_id) $socid=$user->societe_id;
@ -48,19 +50,19 @@ $object = new Prospect($db);
* Actions
*/
if ($_GET["action"] == 'cstc')
if ($action == 'cstc')
{
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm = ".$_GET["stcomm"];
$sql .= " WHERE rowid = ".$_GET["socid"];
$sql .= " WHERE rowid = ".$socid;
$db->query($sql);
}
// set prospect level
if ($_POST["action"] == 'setprospectlevel' && $user->rights->societe->creer)
if ($action == 'setprospectlevel' && $user->rights->societe->creer)
{
$object->fetch($_GET["socid"]);
$object->fetch($socid);
$object->fk_prospectlevel=$_POST['prospect_level_id'];
$sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_prospectlevel='".$_POST['prospect_level_id'];
$sql.= "' WHERE rowid='".$_GET["socid"]."'";
$sql.= " WHERE rowid = ".$socid;
$result = $db->query($sql);
if (! $result) dol_print_error($result);
}
@ -111,7 +113,7 @@ if ($socid > 0)
print "</td></tr>";
// Zip / Town
print '<tr><td nowrap="nowrap">'.$langs->trans('Zip').' / '.$langs->trans("Town").'</td><td colspan="3">'.$object->zip.(($object->zip && $object->town)?' / ':'').$societe->town.'</td>';
print '<tr><td nowrap="nowrap">'.$langs->trans('Zip').' / '.$langs->trans("Town").'</td><td colspan="3">'.$object->zip.(($object->zip && $object->town)?' / ':'').$object->town.'</td>';
print '</tr>';
// Country
@ -136,18 +138,13 @@ if ($socid > 0)
print '<table width="100%" class="nobordernopadding"><tr><td nowrap>';
print $langs->trans('ProspectLevelShort');
print '<td>';
if (($_GET['action'] != 'editlevel') && $user->rights->societe->creer) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editlevel&amp;socid='.$object->id.'">'.img_edit($langs->trans('SetLevel'),1).'</a></td>';
if ($action != 'editlevel' && $user->rights->societe->creer) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editlevel&amp;socid='.$object->id.'">'.img_edit($langs->trans('SetLevel'),1).'</a></td>';
print '</tr></table>';
print '</td><td colspan="3">';
if ($_GET['action'] == 'editlevel')
{
if ($action == 'editlevel')
$formcompany->form_prospect_level($_SERVER['PHP_SELF'].'?socid='.$object->id,$object->fk_prospectlevel,'prospect_level_id',1);
}
else
{
print $object->getLibLevel();
//$formcompany->form_prospect_level($_SERVER['PHP_SELF'].'?socid='.$objsoc->id,$objsoc->mode_reglement,'none');
}
print "</td>";
print '</tr>';

View File

@ -401,14 +401,12 @@ class ChargeSociales extends CommonObject
*/
function getSommePaiement()
{
global $conf;
$table='paiementcharge';
$field='fk_charge';
$sql = 'SELECT SUM(amount) as amount';
$sql.= ' FROM '.MAIN_DB_PREFIX.'paiementcharge as pc';
$sql.= ', '.MAIN_DB_PREFIX.'chargesociales as c';
$sql.= ' WHERE c.entity = '.$conf->entity;
$sql.= ' AND pc.fk_charge = c.rowid';
$sql.= ' AND pc.fk_charge = '.$this->id;
$sql = 'SELECT sum(amount) as amount';
$sql.= ' FROM '.MAIN_DB_PREFIX.$table;
$sql.= ' WHERE '.$field.' = '.$this->id;
dol_syslog(get_class($this)."::getSommePaiement sql=".$sql, LOG_DEBUG);
$resql=$this->db->query($sql);

View File

@ -148,7 +148,7 @@ class Contact extends CommonObject
if (! $error)
{
$result=$this->update($this->id, $user, 1);
$result=$this->update($this->id, $user, 1, 'add');
if ($result < 0)
{
$error++;
@ -203,10 +203,11 @@ class Contact extends CommonObject
*
* @param int $id Id of contact/address to update
* @param User $user Objet user making change
* @param int $notrigger 0=no, 1=yesi
* @param int $notrigger 0=no, 1=yes
* @param string $action Current action for hookmanager
* @return int <0 if KO, >0 if OK
*/
function update($id, $user=0, $notrigger=0)
function update($id, $user=0, $notrigger=0, $action='update')
{
global $conf, $langs;
@ -271,10 +272,13 @@ class Contact extends CommonObject
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
if (empty($reshook))
{
$result=$this->insertExtraFields();
if ($result < 0)
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{
$error++;
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
}
}
else if ($reshook < 0) $error++;

View File

@ -104,11 +104,15 @@ class CMailFile
{
global $conf;
// We define end of line (RFC 822bis section 2.3)
// We define end of line (RFC 821).
$this->eol="\r\n";
// eol2 is for header fields to manage bugged MTA with option MAIN_FIX_FOR_BUGGED_MTA
$this->eol2=$this->eol;
if (! empty($conf->global->MAIN_FIX_FOR_BUGGED_MTA)) $this->eol2="\n";
// We define end of line for header fields (RFC 822bis section 2.3 says header must contains \r\n).
$this->eol2="\r\n";
if (! empty($conf->global->MAIN_FIX_FOR_BUGGED_MTA))
{
$this->eol="\n";
$this->eol2="\n";
}
// On defini mixed_boundary
$this->mixed_boundary = "multipart_x." . time() . ".x_boundary";
@ -547,6 +551,7 @@ class CMailFile
/**
* Write content of a SMTP request into a dump file (mode = all)
* Used for debugging.
* Note that to see full SMTP protocol, you can use tcpdump -w /tmp/smtp -s 2000 port 25"
*
* @return void
*/
@ -646,7 +651,11 @@ class CMailFile
// Sender
//$out.= "Sender: ".getValidAddress($this->addr_from,2)).$this->eol2;
$out.= "From: ".$this->getValidAddress($this->addr_from,3,1).$this->eol2;
$out.= "From: ".$this->getValidAddress($this->addr_from,3,1).$this->eol2;
if (! empty($conf->global->MAIN_MAIL_SENDMAIL_FORCE_BA))
{
$out.= "To: ".$this->getValidAddress($this->addr_to,0,1).$this->eol2;
}
$out.= "Return-Path: ".$this->getValidAddress($this->addr_from,0,1).$this->eol2;
if (isset($this->reply_to) && $this->reply_to) $out.= "Reply-To: ".$this->getValidAddress($this->reply_to,2).$this->eol2;
if (isset($this->errors_to) && $this->errors_to) $out.= "Errors-To: ".$this->getValidAddress($this->errors_to,2).$this->eol2;
@ -738,7 +747,11 @@ class CMailFile
// Make RFC821 Compliant, replace bare linefeeds
$strContent = preg_replace("/(?<!\r)\n/si", "\r\n", $strContent);
if (! empty($conf->global->MAIN_FIX_FOR_BUGGED_MTA))
{
$strContent = preg_replace("/\r\n/si", "\n", $strContent);
}
//$strContent = rtrim(chunk_split($strContent)); // Function chunck_split seems bugged
$strContent = rtrim(wordwrap($strContent));

View File

@ -160,19 +160,19 @@ class Conf
if ($value && preg_match('/^MAIN_MODULE_/',$key))
{
// If this is constant for a new tab page activated by a module.
if (preg_match('/^MAIN_MODULE_([A-Z_]+)_TABS_/i',$key))
if (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_TABS_/i',$key))
{
$params=explode(':',$value,2);
$this->tabs_modules[$params[0]][]=$value;
}
// If this is constant for a sms engine
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_SMS$/i',$key,$reg))
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_SMS$/i',$key,$reg))
{
$modulename=strtolower($reg[1]);
$this->sms_engine_modules[$modulename]=$modulename; // Add this module in list of modules that provide SMS
}
// If this is constant for all generic part activated by a module
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)_([A-Z]+)$/i',$key,$reg))
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_([A-Z]+)$/i',$key,$reg))
{
$modulename = strtolower($reg[1]);
$partname = strtolower($reg[2]);
@ -185,7 +185,7 @@ class Conf
$this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value));
}
// If this is a module constant (must be at end)
elseif (preg_match('/^MAIN_MODULE_([A-Z_]+)$/i',$key,$reg))
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)$/i',$key,$reg))
{
$modulename=strtolower($reg[1]);
if ($modulename == 'propale') $modulename='propal';

View File

@ -967,7 +967,9 @@ class DoliDBMssql
{
$sql = "ALTER TABLE ".$table;
$sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type'];
if ($field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') $sql.="(".$field_desc['value'].")";
if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') {
$sql.="(".$field_desc['value'].")";
}
dol_syslog($sql,LOG_DEBUG);
if (! $this->query($sql))

View File

@ -1010,9 +1010,11 @@ class DoliDBMysql
{
$sql = "ALTER TABLE ".$table;
$sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type'];
if ($field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') $sql.="(".$field_desc['value'].")";
if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') {
$sql.="(".$field_desc['value'].")";
}
if ($field_desc['null'] == 'not null' || $field_desc['null'] == 'NOT NULL') $sql.=" NOT NULL";
dol_syslog(get_class($this)."::DDLUpdateField ".$sql,LOG_DEBUG);
if (! $this->query($sql))
return -1;

View File

@ -1004,9 +1004,11 @@ class DoliDBMysqli
{
$sql = "ALTER TABLE ".$table;
$sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type'];
if ($field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') $sql.="(".$field_desc['value'].")";
if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') {
$sql.="(".$field_desc['value'].")";
}
if ($field_desc['null'] == 'not null' || $field_desc['null'] == 'NOT NULL') $sql.=" NOT NULL";
dol_syslog(get_class($this)."::DDLUpdateField ".$sql,LOG_DEBUG);
if (! $this->query($sql))
return -1;

View File

@ -297,7 +297,7 @@ class DoliDBPgsql
// To have postgresql case sensitive
$line=str_replace(' LIKE \'',' ILIKE \'',$line);
$line=str_replace(' LIKE BINARY \'',' LIKE \'',$line);
// Delete using criteria on other table must not declare twice the deleted table
// DELETE FROM tabletodelete USING tabletodelete, othertable -> DELETE FROM tabletodelete USING othertable
if (preg_match('/DELETE FROM ([a-z_]+) USING ([a-z_]+), ([a-z_]+)/i',$line,$reg))
@ -1219,11 +1219,13 @@ class DoliDBPgsql
{
$sql = "ALTER TABLE ".$table;
$sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type'];
if ($field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') $sql.="(".$field_desc['value'].")";
if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') {
$sql.="(".$field_desc['value'].")";
}
// FIXME May not work with pgsql. May need to run a second request. If it works, just remove the FIXME tag
if ($field_desc['null'] == 'not null' || $field_desc['null'] == 'NOT NULL') $sql.=" NOT NULL";
dol_syslog($sql,LOG_DEBUG);
if (! $this->query($sql))
return -1;

View File

@ -1153,7 +1153,9 @@ class DoliDBSqlite
{
$sql = "ALTER TABLE ".$table;
$sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type'];
if ($field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') $sql.="(".$field_desc['value'].")";
if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') {
$sql.="(".$field_desc['value'].")";
}
dol_syslog(get_class($this)."::DDLUpdateField ".$sql,LOG_DEBUG);
if (! $this->query($sql))

View File

@ -587,7 +587,9 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create)
{
print '<td align="center"><a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&actioncode=AC_RDV&contactid='.$obj->rowid.'&socid='.$object->id.'&backtopage='.urlencode($backtopage).'">';
print img_object($langs->trans("Rendez-Vous"),"action");
print img_object($langs->trans("Rendez-Vous"),"action_rdv");
print '</a> <a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create&actioncode=&contactid='.$obj->rowid.'&socid='.$object->id.'&backtopage='.urlencode($backtopage).'">';
print img_object($langs->trans("Event"),"action");
print '</a></td>';
}
@ -753,7 +755,7 @@ function show_actions_todo($conf,$langs,$db,$object,$objcon='',$noprint=0)
{
$out.='<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create';
if (get_class($object) == 'Societe') $out.='&amp;socid='.$object->id;
$out.='&amp;contactid='.$objcon->id.'&amp;backtopage=1&amp;percentage=-1">';
$out.=(! empty($objcon->id)?'&amp;contactid='.$objcon->id:'').'&amp;backtopage=1&amp;percentage=-1">';
$out.=$langs->trans("AddAnAction").' ';
$out.=img_picto($langs->trans("AddAnAction"),'filenew');
$out.="</a>";
@ -776,10 +778,13 @@ function show_actions_todo($conf,$langs,$db,$object,$objcon='',$noprint=0)
if (get_class($object) == 'Societe') $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as sp ON a.fk_contact = sp.rowid";
$sql.= " WHERE u.rowid = a.fk_user_author";
$sql.= " AND a.entity IN (".getEntity('actioncomm').")";
if (get_class($object) == 'Adherent') $sql.= " AND a.fk_element = m.rowid AND a.elementtype = 'member'";
if (get_class($object) == 'Adherent' && $object->id) $sql.= " AND a.fk_element = ".$object->id;
if (get_class($object) == 'Adherent') {
$sql.= " AND a.fk_element = m.rowid AND a.elementtype = 'member'";
if (! empty($object->id))
$sql.= " AND a.fk_element = ".$object->id;
}
if (get_class($object) == 'Societe' && $object->id) $sql.= " AND a.fk_soc = ".$object->id;
if (is_object($objcon) && $objcon->id) $sql.= " AND a.fk_contact = ".$objcon->id;
if (! empty($objcon->id)) $sql.= " AND a.fk_contact = ".$objcon->id;
$sql.= " AND c.id=a.fk_action";
$sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))";
$sql.= " ORDER BY a.datep DESC, a.id DESC";
@ -825,7 +830,7 @@ function show_actions_todo($conf,$langs,$db,$object,$objcon='',$noprint=0)
$out.='<td colspan="2">'.$actionstatic->getNomUrl(1,40).'</td>';
// Contact pour cette action
if (! $objcon->id && $obj->fk_contact > 0)
if (empty($objcon->id) && $obj->fk_contact > 0)
{
$contactstatic->name=$obj->name;
$contactstatic->firstname=$obj->firstname;
@ -1029,11 +1034,11 @@ function show_actions_done($conf,$langs,$db,$object,$objcon='',$noprint=0)
$out.='</td>';
$out.='<td colspan="5" align="right">';
$permok=$user->rights->agenda->myactions->create;
if (($object->id || $objcon->id) && $permok)
if ((! empty($object->id) || ! empty($objcon->id)) && $permok)
{
$out.='<a href="'.DOL_URL_ROOT.'/comm/action/fiche.php?action=create';
if (get_class($object) == 'Societe') $out.='&amp;socid='.$object->id;
$out.='&amp;contactid='.$objcon->id.'&amp;backtopage=1&amp;percentage=-1">';
$out.=(! empty($objcon->id)?'&amp;contactid='.$objcon->id:'').'&amp;backtopage=1&amp;percentage=-1">';
$out.=$langs->trans("AddAnAction").' ';
$out.=img_picto($langs->trans("AddAnAction"),'filenew');
$out.="</a>";

View File

@ -85,9 +85,9 @@ class ExportCsv extends ModeleExports
/**
* getDriverLabel
*
* @return string
* @return string Return driver label
*/
function getDriverLabel($key='')
function getDriverLabel()
{
return $this->label;
}
@ -97,7 +97,7 @@ class ExportCsv extends ModeleExports
*
* @return string
*/
function getDriverDesc($key='')
function getDriverDesc()
{
return $this->desc;
}
@ -117,7 +117,7 @@ class ExportCsv extends ModeleExports
*
* @return string
*/
function getDriverVersion($key='')
function getDriverVersion()
{
return $this->version;
}
@ -127,7 +127,7 @@ class ExportCsv extends ModeleExports
*
* @return string
*/
function getLibLabel($key='')
function getLibLabel()
{
return $this->label_lib;
}
@ -137,7 +137,7 @@ class ExportCsv extends ModeleExports
*
* @return string
*/
function getLibVersion($key='')
function getLibVersion()
{
return $this->version_lib;
}

View File

@ -85,9 +85,9 @@ class ExportExcel extends ModeleExports
/**
* getDriverLabel
*
* @return string
* @return string Return driver label
*/
function getDriverLabel($key='')
function getDriverLabel()
{
return $this->label;
}
@ -97,7 +97,7 @@ class ExportExcel extends ModeleExports
*
* @return string
*/
function getDriverDesc($key='')
function getDriverDesc()
{
return $this->desc;
}
@ -117,7 +117,7 @@ class ExportExcel extends ModeleExports
*
* @return string
*/
function getDriverVersion($key='')
function getDriverVersion()
{
return $this->version;
}
@ -127,7 +127,7 @@ class ExportExcel extends ModeleExports
*
* @return string
*/
function getLibLabel($key='')
function getLibLabel()
{
return $this->label_lib;
}
@ -137,7 +137,7 @@ class ExportExcel extends ModeleExports
*
* @return string
*/
function getLibVersion($key='')
function getLibVersion()
{
return $this->version_lib;
}

View File

@ -86,9 +86,9 @@ class ExportExcel2007 extends ExportExcel
/**
* getDriverLabel
*
* @return string
* @return string Return driver label
*/
function getDriverLabel($key='')
function getDriverLabel()
{
return $this->label;
}
@ -98,7 +98,7 @@ class ExportExcel2007 extends ExportExcel
*
* @return string
*/
function getDriverDesc($key='')
function getDriverDesc()
{
return $this->desc;
}
@ -118,7 +118,7 @@ class ExportExcel2007 extends ExportExcel
*
* @return string
*/
function getDriverVersion($key='')
function getDriverVersion()
{
return $this->version;
}
@ -128,7 +128,7 @@ class ExportExcel2007 extends ExportExcel
*
* @return string
*/
function getLibLabel($key='')
function getLibLabel()
{
return $this->label_lib;
}
@ -138,7 +138,7 @@ class ExportExcel2007 extends ExportExcel
*
* @return string
*/
function getLibVersion($key='')
function getLibVersion()
{
return $this->version_lib;
}

View File

@ -80,9 +80,9 @@ class ExportTsv extends ModeleExports
/**
* getDriverLabel
*
* @return string
* @return string Return driver label
*/
function getDriverLabel($key='')
function getDriverLabel()
{
return $this->label;
}
@ -92,7 +92,7 @@ class ExportTsv extends ModeleExports
*
* @return string
*/
function getDriverDesc($key='')
function getDriverDesc()
{
return $this->desc;
}
@ -112,7 +112,7 @@ class ExportTsv extends ModeleExports
*
* @return string
*/
function getDriverVersion($key='')
function getDriverVersion()
{
return $this->version;
}
@ -122,7 +122,7 @@ class ExportTsv extends ModeleExports
*
* @return string
*/
function getLibLabel($key='')
function getLibLabel()
{
return $this->label_lib;
}
@ -132,7 +132,7 @@ class ExportTsv extends ModeleExports
*
* @return string
*/
function getLibVersion($key='')
function getLibVersion()
{
return $this->version_lib;
}

View File

@ -99,7 +99,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac
* @param string $key Key of driver
* @return string Picto string
*/
function getPicto($key)
function getPictoForKey($key)
{
return $this->picto[$key];
}
@ -110,7 +110,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac
* @param string $key Key of driver
* @return string Label
*/
function getDriverLabel($key)
function getDriverLabelForKey($key)
{
return $this->driverlabel[$key];
}
@ -121,7 +121,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac
* @param string $key Key of driver
* @return string Description
*/
function getDriverDesc($key)
function getDriverDescForKey($key)
{
return $this->driverdesc[$key];
}
@ -132,7 +132,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac
* @param string $key Key of driver
* @return string Driver version
*/
function getDriverVersion($key)
function getDriverVersionForKey($key)
{
return $this->driverversion[$key];
}
@ -143,7 +143,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac
* @param string $key Key of driver
* @return string Label of library
*/
function getLibLabel($key)
function getLibLabelForKey($key)
{
return $this->liblabel[$key];
}
@ -154,7 +154,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac
* @param string $key Key of driver
* @return string Version of library
*/
function getLibVersion($key)
function getLibVersionForKey($key)
{
return $this->libversion[$key];
}

View File

@ -596,6 +596,7 @@ class pdf_soleil extends ModelePDFFicheinter
* @param PDF &$pdf PDF
* @param Object $object Object to show
* @param Translate $outputlangs Object lang for output
* @param int $hidefreetext 1=Hide free text
* @return void
*/
function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0)

View File

@ -99,10 +99,9 @@ class ImportCsv extends ModeleImports
/**
* getDriverLabel
*
* @param string $key Key
* @return string Label
*/
function getDriverLabel($key='')
function getDriverLabel()
{
return $this->label;
}
@ -110,10 +109,9 @@ class ImportCsv extends ModeleImports
/**
* getDriverDesc
*
* @param string $key Key
* @return string Description
*/
function getDriverDesc($key='')
function getDriverDesc()
{
return $this->desc;
}
@ -131,10 +129,9 @@ class ImportCsv extends ModeleImports
/**
* getDriverVersion
*
* @param string $key Key
* @return string Driver version
*/
function getDriverVersion($key='')
function getDriverVersion()
{
return $this->version;
}
@ -142,10 +139,9 @@ class ImportCsv extends ModeleImports
/**
* getDriverLabel
*
* @param string $key Key
* @return string Label of external lib
*/
function getLibLabel($key='')
function getLibLabel()
{
return $this->label_lib;
}
@ -153,10 +149,9 @@ class ImportCsv extends ModeleImports
/**
* getLibVersion
*
* @param string $key Key
* @return string Version of external lib
*/
function getLibVersion($key='')
function getLibVersion()
{
return $this->version_lib;
}

View File

@ -116,7 +116,7 @@ class ModeleImports
* @param string $key Key
* @return string
*/
function getPicto($key)
function getPictoForKey($key)
{
return $this->picto[$key];
}
@ -127,7 +127,7 @@ class ModeleImports
* @param string $key Key
* @return string
*/
function getDriverLabel($key)
function getDriverLabelForKey($key)
{
return $this->_driverlabel[$key];
}
@ -138,7 +138,7 @@ class ModeleImports
* @param string $key Key
* @return string
*/
function getDriverDesc($key)
function getDriverDescForKey($key)
{
return $this->_driverdesc[$key];
}
@ -149,7 +149,7 @@ class ModeleImports
* @param string $key Key
* @return string
*/
function getDriverVersion($key)
function getDriverVersionForKey($key)
{
return $this->_driverversion[$key];
}
@ -160,7 +160,7 @@ class ModeleImports
* @param string $key Key
* @return string
*/
function getLibLabel($key)
function getLibLabelForKey($key)
{
return $this->_liblabel[$key];
}
@ -171,7 +171,7 @@ class ModeleImports
* @param string $key Key
* @return string
*/
function getLibVersion($key)
function getLibVersionForKey($key)
{
return $this->_libversion[$key];
}

View File

@ -140,7 +140,8 @@ class modCategorie extends DolibarrModules
$this->export_enabled[$r]='$conf->produit->enabled';
$this->export_permission[$r]=array(array("categorie","lire"),array("produit","lire"));
$this->export_fields_array[$r]=array('u.rowid'=>"CategId",'u.label'=>"Label",'u.description'=>"Description",'p.rowid'=>'ProductId','p.ref'=>'Ref');
$this->export_TypeFields_array[$r]=array('u.label'=>"Text",'u.description'=>"Text",'p.rowid'=>'List:Product:label','p.ref'=>'Text');
//$this->export_TypeFields_array[$r]=array('u.label'=>"Text",'u.description'=>"Text",'p.rowid'=>'List:Product:label','p.ref'=>'Text');
$this->export_TypeFields_array[$r]=array('u.label'=>"Text",'u.description'=>"Text",'p.ref'=>'Text');
$this->export_entities_array[$r]=array('p.rowid'=>'product','p.ref'=>'product'); // We define here only fields that use another picto
$this->export_sql_start[$r]='SELECT DISTINCT ';
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'categorie as u, '.MAIN_DB_PREFIX.'categorie_product as cp, '.MAIN_DB_PREFIX.'product as p';
@ -178,7 +179,7 @@ class modCategorie extends DolibarrModules
$this->import_regex_array[$r]=array('ca.type'=>'^[0|1|2|3]');
$this->import_examplevalues_array[$r]=array('ca.label'=>"Supplier Category",'ca.type'=>"1",'ca.description'=>"Imported category");
if (! empty($conf->product->enabled))
{
//Products
@ -190,14 +191,14 @@ class modCategorie extends DolibarrModules
$this->import_tables_array[$r]=array('cp'=>MAIN_DB_PREFIX.'categorie_product');
$this->import_fields_array[$r]=array('cp.fk_categorie'=>"Category*",'cp.fk_product'=>"Product*"
);
$this->import_convertvalue_array[$r]=array(
'cp.fk_categorie'=>array('rule'=>'fetchidfromref','classfile'=>'/categories/class/categorie.class.php','class'=>'Categorie','method'=>'fetch','element'=>'category'),
'cp.fk_product'=>array('rule'=>'fetchidfromref','classfile'=>'/product/class/product.class.php','class'=>'Product','method'=>'fetch','element'=>'product')
);
$this->import_examplevalues_array[$r]=array('cp.fk_categorie'=>"Imported category",'cp.fk_product'=>"PREF123456");
}
if (! empty($conf->societe->enabled))
{
//Customers
@ -209,14 +210,14 @@ class modCategorie extends DolibarrModules
$this->import_tables_array[$r]=array('cs'=>MAIN_DB_PREFIX.'categorie_societe');
$this->import_fields_array[$r]=array('cs.fk_categorie'=>"Category*",'cs.fk_societe'=>"ThirdParty*"
);
$this->import_convertvalue_array[$r]=array(
'cs.fk_categorie'=>array('rule'=>'fetchidfromref','classfile'=>'/categories/class/categorie.class.php','class'=>'Categorie','method'=>'fetch','element'=>'category'),
'cs.fk_societe'=>array('rule'=>'fetchidfromref','classfile'=>'/societe/class/societe.class.php','class'=>'Societe','method'=>'fetch','element'=>'ThirdParty')
);
$this->import_examplevalues_array[$r]=array('cs.fk_categorie'=>"Imported category",'cs.fk_societe'=>"MyBigCompany");
}
if (! empty($conf->fournisseur->enabled))
{
// Suppliers
@ -228,7 +229,7 @@ class modCategorie extends DolibarrModules
$this->import_tables_array[$r]=array('cs'=>MAIN_DB_PREFIX.'categorie_fournisseur');
$this->import_fields_array[$r]=array('cs.fk_categorie'=>"Category*",'cs.fk_societe'=>"Supplier*"
);
$this->import_convertvalue_array[$r]=array(
'cs.fk_categorie'=>array('rule'=>'fetchidfromref','classfile'=>'/categories/class/categorie.class.php','class'=>'Categorie','method'=>'fetch','element'=>'category'),
'cs.fk_societe'=>array('rule'=>'fetchidfromref','classfile'=>'/societe/class/societe.class.php','class'=>'Societe','method'=>'fetch','element'=>'ThirdParty')

View File

@ -174,7 +174,8 @@ class modCommande extends DolibarrModules
$this->export_label[$r]='CustomersOrdersAndOrdersLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
$this->export_permission[$r]=array(array("commande","commande","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','s.fk_pays'=>'Country','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','c.rowid'=>"Id",'c.ref'=>"Ref",'c.ref_client'=>"RefCustomer",'c.fk_soc'=>"IdCompany",'c.date_creation'=>"DateCreation",'c.date_commande'=>"OrderDate",'c.amount_ht'=>"Amount",'c.remise_percent'=>"GlobalDiscount",'c.total_ht'=>"TotalHT",'c.total_ttc'=>"TotalTTC",'c.facture'=>"Billed",'c.fk_statut'=>'Status','c.note'=>"Note",'c.date_livraison'=>'DeliveryDate','cd.rowid'=>'LineId','cd.label'=>"Label",'cd.description'=>"LineDescription",'cd.product_type'=>'TypeOfLineServiceOrProduct','cd.tva_tx'=>"LineVATRate",'cd.qty'=>"LineQty",'cd.total_ht'=>"LineTotalHT",'cd.total_tva'=>"LineTotalVAT",'cd.total_ttc'=>"LineTotalTTC",'p.rowid'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.libelle'=>'List:c_pays:libelle:rowid','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','c.ref'=>"Text",'c.ref_client'=>"Text",'c.date_creation'=>"Date",'c.date_commande'=>"Date",'c.amount_ht'=>"Number",'c.remise_percent'=>"Number",'c.total_ht'=>"Number",'c.total_ttc'=>"Number",'c.facture'=>"Boolean",'c.fk_statut'=>'Status','c.note'=>"Text",'c.date_livraison'=>'Date','cd.description'=>"Text",'cd.product_type'=>'Boolean','cd.tva_tx'=>"Number",'cd.qty'=>"Number",'cd.total_ht'=>"Number",'cd.total_tva'=>"Number",'cd.total_ttc'=>"Number",'p.rowid'=>'List:Product:ref','p.ref'=>'Text','p.label'=>'Text');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.libelle'=>'List:c_pays:libelle:rowid','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','c.ref'=>"Text",'c.ref_client'=>"Text",'c.date_creation'=>"Date",'c.date_commande'=>"Date",'c.amount_ht'=>"Number",'c.remise_percent'=>"Number",'c.total_ht'=>"Number",'c.total_ttc'=>"Number",'c.facture'=>"Boolean",'c.fk_statut'=>'Status','c.note'=>"Text",'c.date_livraison'=>'Date','cd.description'=>"Text",'cd.product_type'=>'Boolean','cd.tva_tx'=>"Number",'cd.qty'=>"Number",'cd.total_ht'=>"Number",'cd.total_tva'=>"Number",'cd.total_ttc'=>"Number",'p.rowid'=>'List:Product:ref','p.ref'=>'Text','p.label'=>'Text');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.libelle'=>'List:c_pays:libelle:rowid','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','c.ref'=>"Text",'c.ref_client'=>"Text",'c.date_creation'=>"Date",'c.date_commande'=>"Date",'c.amount_ht'=>"Number",'c.remise_percent'=>"Number",'c.total_ht'=>"Number",'c.total_ttc'=>"Number",'c.facture'=>"Boolean",'c.fk_statut'=>'Status','c.note'=>"Text",'c.date_livraison'=>'Date','cd.description'=>"Text",'cd.product_type'=>'Boolean','cd.tva_tx'=>"Number",'cd.qty'=>"Number",'cd.total_ht'=>"Number",'cd.total_tva'=>"Number",'cd.total_ttc'=>"Number",'p.rowid'=>'List:Product:ref','p.ref'=>'Text','p.label'=>'Text');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','s.fk_pays'=>'company','s.tel'=>'company','s.siren'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.siret'=>'company','c.rowid'=>"order",'c.ref'=>"order",'c.ref_client'=>"order",'c.fk_soc'=>"order",'c.date_creation'=>"order",'c.date_commande'=>"order",'c.amount_ht'=>"order",'c.remise_percent'=>"order",'c.total_ht'=>"order",'c.total_ttc'=>"order",'c.facture'=>"order",'c.fk_statut'=>"order",'c.note'=>"order",'c.date_livraison'=>"order",'cd.rowid'=>'order_line','cd.label'=>"order_line",'cd.description'=>"order_line",'cd.product_type'=>'order_line','cd.tva_tx'=>"order_line",'cd.qty'=>"order_line",'cd.total_ht'=>"order_line",'cd.total_tva'=>"order_line",'cd.total_ttc'=>"order_line",'p.rowid'=>'product','p.ref'=>'product','p.label'=>'product');
$this->export_dependencies_array[$r]=array('order_line'=>'cd.rowid','product'=>'cd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them

View File

@ -175,7 +175,8 @@ class modFacture extends DolibarrModules
$this->export_icon[$r]='bill';
$this->export_permission[$r]=array(array("facture","facture","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"NotePrivate",'f.note_public'=>"NotePublic",'fd.rowid'=>'LineId','fd.label'=>"Label",'fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'f.note_public'=>"invoice",'fd.rowid'=>'invoice_line','fd.label'=>"invoice_line",'fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product');
$this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them
@ -194,7 +195,8 @@ class modFacture extends DolibarrModules
$this->export_icon[$r]='bill';
$this->export_permission[$r]=array(array("facture","facture","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"NotePrivate",'f.note_public'=>"NotePublic",'p.rowid'=>'PaymentId','pf.amount'=>'AmountPayment','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber');
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'f.note_public'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment');
$this->export_dependencies_array[$r]=array('payment'=>'p.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them

View File

@ -139,7 +139,8 @@ class modFicheinter extends DolibarrModules
$this->export_label[$r]='InterventionCardsAndInterventionLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
$this->export_permission[$r]=array(array("ficheinter","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','s.fk_pays'=>'Country','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','f.rowid'=>"InterId",'f.ref'=>"InterRef",'f.datec'=>"InterDateCreation",'f.duree'=>"InterDuration",'f.fk_statut'=>'InterStatus','f.description'=>"InterNote",'fd.rowid'=>'InterLineId','fd.date'=>"InterLineDate",'fd.duree'=>"InterLineDuration",'fd.description'=>"InterLineDesc");
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.fk_pays'=>'List:c_pays:libelle','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','f.ref'=>"Text",'f.datec'=>"Date",'f.duree'=>"Duree",'f.fk_statut'=>'Statut','f.description'=>"Text",'f.datee'=>"Date",'f.dateo'=>"Date",'f.fulldayevent'=>"Boolean",'fd.date'=>"Date",'fd.duree'=>"Duree",'fd.description'=>"Text",'fd.total_ht'=>"Numeric");
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.fk_pays'=>'List:c_pays:libelle','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','f.ref'=>"Text",'f.datec'=>"Date",'f.duree'=>"Duree",'f.fk_statut'=>'Statut','f.description'=>"Text",'f.datee'=>"Date",'f.dateo'=>"Date",'f.fulldayevent'=>"Boolean",'fd.date'=>"Date",'fd.duree'=>"Duree",'fd.description'=>"Text",'fd.total_ht'=>"Numeric");
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.fk_pays'=>'List:c_pays:libelle','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','f.ref'=>"Text",'f.datec'=>"Date",'f.duree'=>"Duree",'f.fk_statut'=>'Statut','f.description'=>"Text",'f.datee'=>"Date",'f.dateo'=>"Date",'f.fulldayevent'=>"Boolean",'fd.date'=>"Date",'fd.duree'=>"Duree",'fd.description'=>"Text",'fd.total_ht'=>"Numeric");
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','s.fk_pays'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','f.rowid'=>"intervention",'f.ref'=>"intervention",'f.datec'=>"intervention",'f.duree'=>"intervention",'f.fk_statut'=>"intervention",'f.description'=>"intervention",'fd.rowid'=>"inter_line",'fd.date'=>"inter_line",'fd.duree'=>'inter_line','fd.description'=>'inter_line');
$this->export_dependencies_array[$r]=array('inter_line'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them

View File

@ -243,7 +243,8 @@ class modFournisseur extends DolibarrModules
$this->export_icon[$r]='bill';
$this->export_permission[$r]=array(array("fournisseur","facture","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.remise_percent'=>"Discount",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:CompanyName",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Boolean','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:CompanyName",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Boolean','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Boolean','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.remise_percent'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva'=>"invoice_line",'fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product');
$this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them
@ -261,7 +262,8 @@ class modFournisseur extends DolibarrModules
$this->export_icon[$r]='bill';
$this->export_permission[$r]=array(array("fournisseur","facture","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','c.code'=>'CountryCode','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'p.rowid'=>'PaymentId','pf.amount'=>'AmountPayment','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber');
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:CompanyName",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:CompanyName",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','c.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment');
$this->export_dependencies_array[$r]=array('payment'=>'p.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them

View File

@ -150,7 +150,8 @@ class modProjet extends DolibarrModules
'p.rowid'=>"ProjectId",'p.ref'=>"ProjectRef",'p.datec'=>"DateCreation",'p.dateo'=>"DateDebutProjet",'p.datee'=>"DateFinProjet",'p.fk_statut'=>'ProjectStatus','p.description'=>"projectNote",
'pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateo",'pt.datee'=>"TaskDatee",'pt.duration_effective'=>"DurationEffective",'pt.duration_planned'=>"DurationPlanned",'pt.progress'=>"Progress",'pt.description'=>"TaskDesc");
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.fk_pays'=>'List:c_pays:libelle',
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.fk_pays'=>'List:c_pays:libelle',
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','s.fk_pays'=>'List:c_pays:libelle',
's.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text',
'p.rowid'=>"List:projet:ref",'p.ref'=>"Text",'p.datec'=>"Date",'p.dateo'=>"Date",'p.datee'=>"Date",'p.fk_statut'=>'Status','p.description'=>"Text",
'pt.dateo'=>"Date",'pt.datee'=>"Date",'pt.duration_effective'=>"Duree",'pt.duration_planned'=>"Duree",'pt.progress'=>"Number",'pt.description'=>"Text");

View File

@ -168,7 +168,8 @@ class modPropale extends DolibarrModules
$this->export_label[$r]='ProposalsAndProposalsLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
$this->export_permission[$r]=array(array("propale","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.cp'=>'Zip','s.ville'=>'Town','cp.code'=>'Country','s.tel'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','c.rowid'=>"Id",'c.ref'=>"Ref",'c.ref_client'=>"RefCustomer",'c.fk_soc'=>"IdCompany",'c.datec'=>"DateCreation",'c.datep'=>"DatePropal",'c.fin_validite'=>"DateEndPropal",'c.remise_percent'=>"GlobalDiscount",'c.total_ht'=>"TotalHT",'c.total'=>"TotalTTC",'c.fk_statut'=>'Status','c.note'=>"Note",'c.date_livraison'=>'DeliveryDate','cd.rowid'=>'LineId','cd.label'=>"Label",'cd.description'=>"LineDescription",'cd.product_type'=>'TypeOfLineServiceOrProduct','cd.tva_tx'=>"LineVATRate",'cd.qty'=>"LineQty",'cd.total_ht'=>"LineTotalHT",'cd.total_tva'=>"LineTotalVAT",'cd.total_ttc'=>"LineTotalTTC",'p.rowid'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel');
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','cp.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','c.ref'=>"Text",'c.ref_client'=>"Text",'c.datec'=>"Date",'c.datep'=>"Date",'c.fin_validite'=>"Date",'c.remise_percent'=>"Numeric",'c.total_ht'=>"Numeric",'c.total'=>"Numeric",'c.fk_statut'=>'Status','c.note'=>"Text",'c.date_livraison'=>'Date','cd.description'=>"Text",'cd.product_type'=>'Boolean','cd.tva_tx'=>"Numeric",'cd.qty'=>"Numeric",'cd.total_ht'=>"Numeric",'cd.total_tva'=>"Numeric",'cd.total_ttc'=>"Numeric",'p.rowid'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','cp.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','c.ref'=>"Text",'c.ref_client'=>"Text",'c.datec'=>"Date",'c.datep'=>"Date",'c.fin_validite'=>"Date",'c.remise_percent'=>"Numeric",'c.total_ht'=>"Numeric",'c.total'=>"Numeric",'c.fk_statut'=>'Status','c.note'=>"Text",'c.date_livraison'=>'Date','cd.description'=>"Text",'cd.product_type'=>'Boolean','cd.tva_tx'=>"Numeric",'cd.qty'=>"Numeric",'cd.total_ht'=>"Numeric",'cd.total_tva'=>"Numeric",'cd.total_ttc'=>"Numeric",'p.rowid'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','cp.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','c.ref'=>"Text",'c.ref_client'=>"Text",'c.datec'=>"Date",'c.datep'=>"Date",'c.fin_validite'=>"Date",'c.remise_percent'=>"Numeric",'c.total_ht'=>"Numeric",'c.total'=>"Numeric",'c.fk_statut'=>'Status','c.note'=>"Text",'c.date_livraison'=>'Date','cd.description'=>"Text",'cd.product_type'=>'Boolean','cd.tva_tx'=>"Numeric",'cd.qty'=>"Numeric",'cd.total_ht'=>"Numeric",'cd.total_tva'=>"Numeric",'cd.total_ttc'=>"Numeric",'p.ref'=>'Text','p.label'=>'Text');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','cp.code'=>'company','s.tel'=>'company','s.siren'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.siret'=>'company','c.rowid'=>"propal",'c.ref'=>"propal",'c.ref_client'=>"propal",'c.fk_soc'=>"propal",'c.datec'=>"propal",'c.datep'=>"propal",'c.fin_validite'=>"propal",'c.remise_percent'=>"propal",'c.total_ht'=>"propal",'c.total'=>"propal",'c.fk_statut'=>"propal",'c.note'=>"propal",'c.date_livraison'=>"propal",'cd.rowid'=>'propal_line','cd.label'=>"propal_line",'cd.description'=>"propal_line",'cd.product_type'=>'propal_line','cd.tva_tx'=>"propal_line",'cd.qty'=>"propal_line",'cd.total_ht'=>"propal_line",'cd.total_tva'=>"propal_line",'cd.total_ttc'=>"propal_line",'p.rowid'=>'product','p.ref'=>'product','p.label'=>'product');
$this->export_dependencies_array[$r]=array('propal_line'=>'cd.rowid','product'=>'cd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them

View File

@ -122,10 +122,13 @@ class modService extends DolibarrModules
$this->export_permission[$r]=array(array("service","export"));
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",'p.label'=>"Label",'p.description'=>"Description",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",'p.tva_tx'=>'VATRate','p.tosell'=>"OnSell",'p.duration'=>"Duration",'p.datec'=>'DateCreation','p.tms'=>'DateModification');
if (! empty($conf->stock->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Stock'));
//$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.duration'=>"Duree",'p.datec'=>'Date','p.tms'=>'Date');
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.duration'=>"Duree",'p.datec'=>'Date','p.tms'=>'Date');
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Number'));
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
$this->export_entities_array[$r]=array('p.rowid'=>"service",'p.ref'=>"service",'p.label'=>"service",'p.description'=>"service",'p.accountancy_code_sell'=>'service','p.accountancy_code_sell'=>'service','p.note'=>"service",'p.price_base_type'=>"service",'p.price'=>"service",'p.price_ttc'=>"service",'p.tva_tx'=>"service",'p.tosell'=>"service",'p.duration'=>"service",'p.datec'=>"service",'p.tms'=>"service");
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product'));
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'service'));
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'service'));
// Add extra fields
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'";
$resql=$this->db->query($sql);

View File

@ -247,9 +247,10 @@ class modSociete extends DolibarrModules
$this->export_label[$r]='ExportDataset_company_1';
$this->export_icon[$r]='company';
$this->export_permission[$r]=array(array("societe","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"Id",'s.nom'=>"Name",'s.status'=>"Status",'s.client'=>"Customer",'s.fournisseur'=>"Supplier",'s.datec'=>"DateCreation",'s.tms'=>"DateLastModification",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.address'=>"Address",'s.cp'=>"Zip",'s.ville'=>"Town",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.tel'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.email'=>"Email",'s.default_lang'=>"DefaultLang",'s.siren'=>"ProfId1",'s.siret'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note'=>"Note",'t.libelle'=>"ThirdPartyType",'ce.code'=>"Staff","cfj.libelle"=>"JuridicalStatus",'s.fk_prospectlevel'=>'ProspectLevel','s.fk_stcomm'=>'ProspectStatus','d.nom'=>'State');
$this->export_fields_array[$r]=array('s.rowid'=>"Id",'s.nom'=>"Name",'s.status'=>"Status",'s.client'=>"Customer",'s.fournisseur'=>"Supplier",'s.datec'=>"DateCreation",'s.tms'=>"DateLastModification",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.address'=>"Address",'s.cp'=>"Zip",'s.ville'=>"Town",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.tel'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.email'=>"Email",'s.default_lang'=>"DefaultLang",'s.siren'=>"ProfId1",'s.siret'=>"ProfId2",'s.ape'=>"ProfId3",'s.idprof4'=>"ProfId4",'s.idprof5'=>"ProfId5",'s.idprof6'=>"ProfId6",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note'=>"Note",'t.libelle'=>"ThirdPartyType",'ce.code'=>"Staff","cfj.libelle"=>"JuridicalStatus",'s.fk_prospectlevel'=>'ProspectLevel','s.fk_stcomm'=>'ProspectStatus','d.nom'=>'State');
if (! empty($conf->global->SOCIETE_USEPREFIX)) $this->export_fields_array[$r]['s.prefix']='Prefix';
$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Text",'s.client'=>"Boolean",'s.fournisseur'=>"Boolean",'s.datec'=>"Date",'s.tms'=>"Date",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text",'s.address'=>"Text",'s.cp'=>"Text",'s.ville'=>"Text",'p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'s.tel'=>"Text",'s.fax'=>"Text",'s.url'=>"Text",'s.email'=>"Text",'s.default_lang'=>"Text",'s.siret'=>"Text",'s.siren'=>"Text",'s.ape'=>"Text",'s.idprof4'=>"Text",'s.tva_intra'=>"Text",'s.capital'=>"Number",'s.note'=>"Text",'t.libelle'=>"Text",'ce.code'=>"List:c_effectif:libelle:code","cfj.libelle"=>"Text",'s.fk_prospectlevel'=>'List:c_prospectlevel:label:code','s.fk_stcomm'=>'List:c_stcomm:libelle:code','d.nom'=>'List:c_departements:nom:rowid');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>"Text",'s.status'=>"Text",'s.client'=>"Boolean",'s.fournisseur'=>"Boolean",'s.datec'=>"Date",'s.tms'=>"Date",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text",'s.address'=>"Text",'s.cp'=>"Text",'s.ville'=>"Text",'p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'s.tel'=>"Text",'s.fax'=>"Text",'s.url'=>"Text",'s.email'=>"Text",'s.default_lang'=>"Text",'s.siret'=>"Text",'s.siren'=>"Text",'s.ape'=>"Text",'s.idprof4'=>"Text",'s.idprof5'=>"Text",'s.idprof6'=>"Text",'s.tva_intra'=>"Text",'s.capital'=>"Number",'s.note'=>"Text",'t.libelle'=>"Text",'ce.code'=>"List:c_effectif:libelle:code","cfj.libelle"=>"Text",'s.fk_prospectlevel'=>'List:c_prospectlevel:label:code','s.fk_stcomm'=>'List:c_stcomm:libelle:code','d.nom'=>'List:c_departements:nom:rowid');
$this->export_TypeFields_array[$r]=array('s.nom'=>"Text",'s.status'=>"Text",'s.client'=>"Boolean",'s.fournisseur'=>"Boolean",'s.datec'=>"Date",'s.tms'=>"Date",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text",'s.address'=>"Text",'s.cp'=>"Text",'s.ville'=>"Text",'p.libelle'=>"List:c_pays:libelle:rowid",'p.code'=>"Text",'s.tel'=>"Text",'s.fax'=>"Text",'s.url'=>"Text",'s.email'=>"Text",'s.default_lang'=>"Text",'s.siret'=>"Text",'s.siren'=>"Text",'s.ape'=>"Text",'s.idprof4'=>"Text",'s.idprof5'=>"Text",'s.idprof6'=>"Text",'s.tva_intra'=>"Text",'s.capital'=>"Number",'s.note'=>"Text",'t.libelle'=>"Text",'ce.code'=>"List:c_effectif:libelle:code","cfj.libelle"=>"Text",'s.fk_prospectlevel'=>'List:c_prospectlevel:label:code','s.fk_stcomm'=>'List:c_stcomm:libelle:code','d.nom'=>'List:c_departements:nom:rowid');
$this->export_entities_array[$r]=array(); // We define here only fields that use another picto
// Add extra fields
$sql="SELECT name, label FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'company'";

View File

@ -28,7 +28,7 @@ class LogHandler
}
/**
* ¿Is the module active?
* Is the module active ?
*
* @return boolean
*/

View File

@ -1,12 +1,58 @@
<?php
/**
* LogHandlerInterface
*/
interface LogHandlerInterface
{
/**
* Return name of logger
*
* @return string Name of logger
*/
public function getName();
/**
* Return version of logger
*
* @return string Version of logger
*/
public function getVersion();
/**
* Return information on logger
*
* @return string Version of logger
*/
public function getInfo();
/**
* Return array of configuration data
*
* @return array Return array of configuration data
*/
public function configure();
/**
* Return if configuration is valid
*
* @return boolean True if configuration ok
*/
public function checkConfiguration();
/**
* Return if logger active
*
* @return boolen True if active
*/
public function isActive();
/**
* Output log content
*
* @param string $content Content to log
* @return void
*/
public function export($content);
}

View File

@ -2,10 +2,15 @@
require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php';
/**
* Class to manage logging to ChromPHP
*/
class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
{
/**
* {@inheritDoc}
* Return name of logger
*
* @return string Name of logger
*/
public function getName()
{
@ -13,7 +18,9 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Version of the module ('x.y.z' or 'dolibarr' or 'experimental' or 'development')
*
* @return string
*/
public function getVersion()
{
@ -21,7 +28,9 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Content of the info tooltip.
*
* @return false|string
*/
public function getInfo()
{
@ -31,7 +40,9 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Is the module active ?
*
* @return boolean
*/
public function isActive()
{
@ -56,7 +67,9 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Return array of configuration data
*
* @return array Return array of configuration data
*/
public function configure()
{
@ -73,7 +86,9 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Return if configuration is valid
*
* @return boolean True if configuration ok
*/
public function checkConfiguration()
{
@ -95,7 +110,10 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Output log content
*
* @param string $content Content to log
* @return void
*/
public function export($content)
{

View File

@ -2,10 +2,15 @@
require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php';
/**
* Class to manage logging to a file
*/
class mod_syslog_file extends LogHandler implements LogHandlerInterface
{
/**
* {@inheritDoc}
* Return name of logger
*
* @return string Name of logger
*/
public function getName()
{
@ -15,7 +20,9 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Version of the module ('x.y.z' or 'dolibarr' or 'experimental' or 'development')
*
* @return string
*/
public function getVersion()
{
@ -23,7 +30,9 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Content of the info tooltip.
*
* @return false|string
*/
public function getInfo()
{
@ -33,7 +42,9 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Is the module active ?
*
* @return boolean
*/
public function isActive()
{
@ -41,7 +52,9 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Return array of configuration data
*
* @return array Return array of configuration data
*/
public function configure()
{
@ -58,7 +71,9 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Return if configuration is valid
*
* @return boolean True if configuration ok
*/
public function checkConfiguration()
{
@ -79,6 +94,7 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
/**
* Return the parsed logfile path
*
* @return string
*/
private function getFilename()
@ -88,7 +104,9 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface
/**
* Export the message
* @param array $content Array containing the info about the message
*
* @param array $content Array containing the info about the message
* @return void
*/
public function export($content)
{

View File

@ -2,10 +2,15 @@
require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php';
/**
* Class to manage logging to a FirePHP
*/
class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
{
/**
* {@inheritDoc}
* Return name of logger
*
* @return string Name of logger
*/
public function getName()
{
@ -13,7 +18,9 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Version of the module ('x.y.z' or 'dolibarr' or 'experimental' or 'development')
*
* @return string
*/
public function getVersion()
{
@ -21,7 +28,9 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Content of the info tooltip.
*
* @return false|string
*/
public function getInfo()
{
@ -31,7 +40,9 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Is the module active ?
*
* @return boolean
*/
public function isActive()
{
@ -53,9 +64,11 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
return -1;
}
// /**
// * {@inheritDoc}
// */
///**
// * Return array of configuration data
// *
// * @return array Return array of configuration data
// */
// public function configure()
// {
// global $langs;
@ -71,7 +84,9 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
// }
/**
* {@inheritDoc}
* Return if configuration is valid
*
* @return boolean True if configuration ok
*/
public function checkConfiguration()
{
@ -93,7 +108,10 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Output log content
*
* @param string $content Content to log
* @return void
*/
public function export($content)
{

View File

@ -2,10 +2,15 @@
require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php';
/**
* Class to manage logging to syslog
*/
class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
{
/**
* {@inheritDoc}
* Return name of logger
*
* @return string Name of logger
*/
public function getName()
{
@ -13,7 +18,9 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Version of the module ('x.y.z' or 'dolibarr' or 'experimental' or 'development')
*
* @return string
*/
public function getVersion()
{
@ -21,7 +28,9 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Content of the info tooltip.
*
* @return false|string
*/
public function getInfo()
{
@ -31,7 +40,9 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Is the module active ?
*
* @return boolean
*/
public function isActive()
{
@ -45,7 +56,9 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Return array of configuration data
*
* @return array Return array of configuration data
*/
public function configure()
{
@ -61,7 +74,9 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
}
/**
* {@inheritDoc}
* Return if configuration is valid
*
* @return boolean True if configuration ok
*/
public function checkConfiguration()
{
@ -87,7 +102,9 @@ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface
/**
* Export the message
* @param array $content Array containing the info about the message
*
* @param array $content Array containing the info about the message
* @return void
*/
public function export($content)
{

View File

@ -134,6 +134,12 @@ class InterfaceLdapsynchro
$ldap=new Ldap();
$ldap->connect_bind();
if (empty($object->oldcopy) || ! is_object($object->oldcopy))
{
dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING);
$object->oldcopy=dol_clone($object);
}
$oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
@ -165,6 +171,12 @@ class InterfaceLdapsynchro
$ldap=new Ldap();
$ldap->connect_bind();
if (empty($object->oldcopy) || ! is_object($object->oldcopy))
{
dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING);
$object->oldcopy=dol_clone($object);
}
$oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
@ -291,6 +303,7 @@ class InterfaceLdapsynchro
// Groupes
elseif ($action == 'GROUP_CREATE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
if (! empty($conf->ldap->enabled) && ! empty($conf->global->LDAP_SYNCHRO_ACTIVE) && $conf->global->LDAP_SYNCHRO_ACTIVE == 'dolibarr2ldap')
{
$ldap=new Ldap();
@ -313,11 +326,18 @@ class InterfaceLdapsynchro
}
elseif ($action == 'GROUP_MODIFY')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
if (! empty($conf->ldap->enabled) && ! empty($conf->global->LDAP_SYNCHRO_ACTIVE) && $conf->global->LDAP_SYNCHRO_ACTIVE == 'dolibarr2ldap')
{
$ldap=new Ldap();
$ldap->connect_bind();
if (empty($object->oldcopy) || ! is_object($object->oldcopy))
{
dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING);
$object->oldcopy=dol_clone($object);
}
$oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
@ -343,6 +363,7 @@ class InterfaceLdapsynchro
}
elseif ($action == 'GROUP_DELETE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
if (! empty($conf->ldap->enabled) && ! empty($conf->global->LDAP_SYNCHRO_ACTIVE) && $conf->global->LDAP_SYNCHRO_ACTIVE == 'dolibarr2ldap')
{
$ldap=new Ldap();
@ -388,6 +409,12 @@ class InterfaceLdapsynchro
$ldap=new Ldap();
$ldap->connect_bind();
if (empty($object->oldcopy) || ! is_object($object->oldcopy))
{
dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING);
$object->oldcopy=dol_clone($object);
}
$oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
@ -511,6 +538,12 @@ class InterfaceLdapsynchro
$ldap=new Ldap();
$ldap->connect_bind();
if (empty($object->oldcopy) || ! is_object($object->oldcopy))
{
dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING);
$object->oldcopy=dol_clone($object);
}
$oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo);

View File

@ -201,6 +201,8 @@ class Export
*
* @param int $indice Indice of export
* @param array $array_selected Filter on array of fields to export
* @param array $array_filterValue Filter on array of fields to export
* @param array $array_filtered Array with filters values
* @return string SQL String. Example "select s.rowid as r_rowid, s.status as s_status from ..."
*/
function build_sql($indice, $array_selected, $array_filterValue, $array_filtered)
@ -309,14 +311,16 @@ class Export
}
/**
* conditionDate
*
* @param unknown $Field
* @param unknown $Value
* @param unknown $Sens
* @return string
* @param string $Field Field operand 1
* @param string $Value Value operand 2
* @param string $Sens Comparison operator
* @return string
*/
function conditionDate($Field, $Value, $Sens)
{
// FIXME date_format is forbidden, not performant and no portable. Use instead BETWEEN
if (strlen($Value)==4) $Condition=" date_format(".$Field.",'%Y') ".$Sens." ".$Value;
elseif (strlen($Value)==6) $Condition=" date_format(".$Field.",'%Y%m') ".$Sens." '".$Value."'";
else $Condition=" date_format(".$Field.",'%Y%m%d') ".$Sens." ".$Value;
@ -341,21 +345,21 @@ class Export
case 'Date':
case 'Duree':
case 'Numeric':
$szFilterField="<input type=Text name=".$NameField." value='".$ValueField."'>";
$szFilterField='<input type="text" name='.$NameField." value='".$ValueField."'>";
break;
case 'Boolean':
$szFilterField="<select name=".$NameField.">";
$szFilterField="<select name=".$NameField.'" class="flat">';
$szFilterField.='<option ';
if ($ValueField=='') $szFilterField.=' selected ';
$szFilterField.=' value="">Sans</option>';
$szFilterField.=' value="">&nbsp;</option>';
$szFilterField.='<option ';
if ($ValueField=='1') $szFilterField.=' selected ';
$szFilterField.=' value="1">Oui</option>';
$szFilterField.=' value="1">'.yn(1).'</option>';
$szFilterField.='<option ';
if ($ValueField=='0') $szFilterField.=' selected ';
$szFilterField.=' value="0">Non</option>';
$szFilterField.=' value="0">'.yn(0).'</option>';
$szFilterField.="</select>";
break;
case 'List':
@ -396,6 +400,8 @@ class Export
}
}
$szFilterField.="</select>";
$this->db->close();
}
break;
}
@ -450,6 +456,8 @@ class Export
* @param string $model Export format
* @param string $datatoexport Name of dataset to export
* @param array $array_selected Filter on array of fields to export
* @param array $array_filterValue Filter on array of fields with a filter
* @param array $array_filtered Values of filters
* @param string $sqlquery If set, transmit a sql query instead of building it from arrays
* @return int <0 if KO, >0 if OK
*/
@ -708,7 +716,10 @@ class Export
}
/**
* Output list all export models
* TODO Move this into a class htmlxxx.class.php
*
* @return void
*/
function list_export_model()
{

View File

@ -112,6 +112,9 @@ $sqlusedforexport='';
$upload_dir = $conf->export->dir_temp.'/'.$user->id;
$usefilters=($conf->global->MAIN_FEATURES_LEVEL > 1);
//$usefilters=1;
/*
* Actions
@ -182,6 +185,7 @@ if ($action=='unselectfield')
}
}
/*
if ($action=='selectFilterfield')
{
if ($_GET["field"]=='all')
@ -226,6 +230,7 @@ if ($action=='unselectFilterfield')
$_SESSION["export_filtered_fields"]=$array_filtered;
}
}
*/
if ($action=='downfield' || $action=='upfield')
{
@ -559,13 +564,13 @@ if ($step == 2 && $datatoexport)
// Select request if all fields are selected
$sqlmaxforexport=$objexport->build_sql(0, array(), array(), array());
// $this->array_export_module[0]=$module;
// $this->array_export_code[0]=$module->export_code[$r];
// $this->array_export_label[0]=$module->export_label[$r];
// $this->array_export_sql[0]=$module->export_sql[$r];
// $this->array_export_fields[0]=$module->export_fields_array[$r];
// $this->array_export_entities[0]=$module->export_fields_entities[$r];
// $this->array_export_alias[0]=$module->export_fields_alias[$r];
// $this->array_export_module[0]=$module;
// $this->array_export_code[0]=$module->export_code[$r];
// $this->array_export_label[0]=$module->export_label[$r];
// $this->array_export_sql[0]=$module->export_sql[$r];
// $this->array_export_fields[0]=$module->export_fields_array[$r];
// $this->array_export_entities[0]=$module->export_fields_entities[$r];
// $this->array_export_alias[0]=$module->export_fields_alias[$r];
$var=true;
$i = 0;
@ -605,7 +610,6 @@ if ($step == 2 && $datatoexport)
print $form->textwithpicto($text,$htmltext);
//print ' ('.$code.')';
print '</td>';
//$bit=1; FIXME not used ?
}
else
{
@ -617,11 +621,9 @@ if ($step == 2 && $datatoexport)
print '</td>';
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=2&datatoexport='.$datatoexport.'&action=selectfield&field='.$code.'">'.img_right().'</a></td>';
print '<td>&nbsp;</td>';
//$bit=0; FIXME not used ?
}
print '</tr>';
//$save_select.=$bit; FIXME not used ?
}
print '</table>';
@ -639,7 +641,7 @@ if ($step == 2 && $datatoexport)
if (count($array_selected))
{
// If filters exist
if ($conf->global->MAIN_FEATURES_LEVEL > 1 && isset($objexport->array_export_TypeFields[0]) && is_array($objexport->array_export_TypeFields[0]))
if ($usefilters && isset($objexport->array_export_TypeFields[0]) && is_array($objexport->array_export_TypeFields[0]))
{
print '<a class="butAction" href="export.php?step=3&datatoexport='.$datatoexport.'">'.$langs->trans("NextStep").'</a>';
}
@ -714,26 +716,17 @@ if ($step == 3 && $datatoexport)
print '<br>';
// Combo list of export models
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="select_model">';
print '<input type="hidden" name="step" value="3">';
print '<input type="hidden" name="datatoexport" value="'.$datatoexport.'">';
print '<table><tr><td colspan="2">';
print $langs->trans("SelectExportFields").' ';
$htmlother->select_export_model($exportmodelid,'exportmodelid',$datatoexport,1);
print '<input type="submit" class="button" value="'.$langs->trans("Select").'">';
print '</td></tr></table>';
print '</form>';
print $langs->trans("SelectFilterFields").'<br>';
// un formulaire en plus pour recuperer les filtres
print '<form action="export.php?step=4&action=submitFormField&datatoexport='.$datatoexport.'" name="FilterField" method="post">';
print '<form action="'.$_SERVER["PHP_SELF"].'?step=4&action=submitFormField&datatoexport='.$datatoexport.'" name="FilterField" method="post">';
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Entities").'</td>';
print '<td>'.$langs->trans("FilterableFields").'</td>';
print '<td align="center"></td>';
print '<td>'.$langs->trans("FilteredFields").'</td>';
//print '<td>'.$langs->trans("ExportableFields").'</td>';
//print '<td align="center"></td>';
print '<td>'.$langs->trans("ExportableFields").'</td>';
print '<td width="25%">'.$langs->trans("FilteredFieldsValues").'</td>';
print '</tr>';
@ -748,14 +741,13 @@ if ($step == 3 && $datatoexport)
$var=true;
$i = 0;
// on boucle sur les champs filtrable
foreach($Typefieldsarray as $code=>$label)
// on boucle sur les champs
foreach($fieldsarray as $code => $label)
{
$var=!$var;
print "<tr $bc[$var]>";
print "<tr ".$bc[$var].">";
$i++;
$entity=(! empty($objexport->array_export_entities[0][$code])?$objexport->array_export_entities[0][$code]:$objexport->array_export_icon[0]);
$entityicon=(! empty($entitytoicon[$entity])?$entitytoicon[$entity]:$entity);
$entitylang=(! empty($entitytolang[$entity])?$entitytolang[$entity]:$entity);
@ -776,41 +768,28 @@ if ($step == 3 && $datatoexport)
$text=$langs->trans($labelName);
$tablename=getablenamefromfield($code,$sqlmaxforexport);
$htmltext ='<b>'.$langs->trans("Name").':</b> '.$text.' ('.$label.')<br>';
$htmltext ='<b>'.$langs->trans("Name").':</b> '.$text.'<br>';
$htmltext.='<b>'.$langs->trans("Table")." -> ".$langs->trans("Field").":</b> ".$tablename." -> ".preg_replace('/^.*\./','',$code)."<br>";
if (isset($array_filtered[$code]) && $array_filtered[$code])
print '<td>';
print $form->textwithpicto($text,$htmltext);
print '</td>';
print '<td>';
if (! empty($Typefieldsarray[$code]))
{
// Selected fields
print '<td>&nbsp;</td>';
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=3&datatoexport='.$datatoexport.'&action=unselectFilterfield&field='.$code.'">'.img_left().'</a></td>';
print '<td>';
print $form->textwithpicto($text,$htmltext);
print '</td>';
//$bit=1; FIXME not used?
// ici le filtre
print '<td>';
$szInfoFiltre=$objexport->genDocFilter($label);
$szInfoFiltre=$objexport->genDocFilter($Typefieldsarray[$code]);
if ($szInfoFiltre)
print $form->textwithpicto($objexport->build_filterField($label, $labelName, $ValueFilter), $szInfoFiltre);
{
$tmp=$objexport->build_filterField($Typefieldsarray[$code], $code, $ValueFilter);
print $form->textwithpicto($tmp, $szInfoFiltre);
}
else
print $objexport->build_filterField($label, $labelName, $ValueFilter);
print '</td>';
}
else
{
// Fields not selected
print '<td>';
//print $text.'-'.$htmltext."<br>";
print $form->textwithpicto($text,$htmltext);
//print ' ('.$code.')';
print '</td>';
print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?step=3&datatoexport='.$datatoexport.'&action=selectFilterfield&field='.$code.'">'.img_right().'</a></td>';
print '<td colspan=2>&nbsp;</td>';
//$bit=0; FIXME not used?
{
print $objexport->build_filterField($Typefieldsarray[$code], $code, $ValueFilter);
}
}
print '</td>';
print '</tr>';
//$save_selectFilter.=$bit; FIXME not used?
}
print '</table>';
@ -839,6 +818,7 @@ if ($step == 4 && $datatoexport)
/*
* Affichage onglets
*/
$stepoffset=0;
$h = 0;
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=1';
@ -850,15 +830,16 @@ if ($step == 4 && $datatoexport)
$h++;
// If filters exist
if ($conf->global->MAIN_FEATURES_LEVEL > 1 && isset($objexport->array_export_TypeFields[0]) && is_array($objexport->array_export_TypeFields[0]))
if ($usefilters && isset($objexport->array_export_TypeFields[0]) && is_array($objexport->array_export_TypeFields[0]))
{
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=3&datatoexport='.$datatoexport;
$head[$h][1] = $langs->trans("Step")." 3";
$h++;
$stepoffset++;
}
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=4&datatoexport='.$datatoexport;
$head[$h][1] = $langs->trans("Step")." 4";
$head[$h][1] = $langs->trans("Step")." ".(3+$stepoffset);
$hselected=$h;
$h++;
@ -1055,6 +1036,7 @@ if ($step == 5 && $datatoexport)
* Affichage onglets
*/
$h = 0;
$stepoffset=0;
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=1';
$head[$h][1] = $langs->trans("Step")." 1";
@ -1065,19 +1047,20 @@ if ($step == 5 && $datatoexport)
$h++;
// si le filtrage est parametre pour l'export ou pas
if ($conf->global->MAIN_FEATURES_LEVEL > 1 && isset($objexport->array_export_TypeFields[0]) && is_array($objexport->array_export_TypeFields[0]))
if ($usefilters && isset($objexport->array_export_TypeFields[0]) && is_array($objexport->array_export_TypeFields[0]))
{
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=3&datatoexport='.$datatoexport;
$head[$h][1] = $langs->trans("Step")." 3";
$h++;
$stepoffset++;
}
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=3&datatoexport='.$datatoexport;
$head[$h][1] = $langs->trans("Step")." 4";
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=4&datatoexport='.$datatoexport;
$head[$h][1] = $langs->trans("Step")." ".(3+$stepoffset);
$h++;
$head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=5&datatoexport='.$datatoexport;
$head[$h][1] = $langs->trans("Step")." 5";
$head[$h][1] = $langs->trans("Step")." ".(4+$stepoffset);
$hselected=$h;
$h++;
@ -1152,10 +1135,10 @@ if ($step == 5 && $datatoexport)
{
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td width="16">'.img_picto_common($key,$objmodelexport->getPicto($key)).'</td>';
$text=$objmodelexport->getDriverDesc($key);
print '<td>'.$form->textwithpicto($objmodelexport->getDriverLabel($key),$text).'</td>';
print '<td>'.$objmodelexport->getLibLabel($key).'</td><td align="right">'.$objmodelexport->getLibVersion($key).'</td></tr>'."\n";
print '<td width="16">'.img_picto_common($key,$objmodelexport->getPictoForKey($key)).'</td>';
$text=$objmodelexport->getDriverDescForKey($key);
print '<td>'.$form->textwithpicto($objmodelexport->getDriverLabelForKey($key),$text).'</td>';
print '<td>'.$objmodelexport->getLibLabelForKey($key).'</td><td align="right">'.$objmodelexport->getLibVersionForKey($key).'</td></tr>'."\n";
}
print '</table>';

View File

@ -130,11 +130,11 @@ foreach($liste as $key => $val)
{
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td width="16">'.img_picto_common($model->getDriverLabel($key),$model->getPicto($key)).'</td>';
$text=$model->getDriverDesc($key);
print '<td>'.$form->textwithpicto($model->getDriverLabel($key),$text).'</td>';
print '<td>'.$model->getLibLabel($key).'</td>';
print '<td nowrap="nowrap" align="right">'.$model->getLibVersion($key).'</td>';
print '<td width="16">'.img_picto_common($model->getDriverLabelForKey($key),$model->getPictoForKey($key)).'</td>';
$text=$model->getDriverDescForKey($key);
print '<td>'.$form->textwithpicto($model->getDriverLabelForKey($key),$text).'</td>';
print '<td>'.$model->getLibLabelForKey($key).'</td>';
print '<td nowrap="nowrap" align="right">'.$model->getLibVersionForKey($key).'</td>';
print '</tr>';
}

View File

@ -42,7 +42,7 @@ $confirm=GETPOST('confirm','alpha');
// Security check
if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'fournisseur', $facid, 'facture_fourn', 'facture');
$result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture');
// Get parameters
$sortfield = GETPOST("sortfield",'alpha');
@ -130,7 +130,7 @@ if ($object->id > 0)
// Ref
print '<tr><td width="30%" nowrap="nowrap">'.$langs->trans("Ref").'</td><td colspan="3">';
print $form->showrefnav($object, 'facid', $linkback, 1, 'rowid', 'ref', $morehtmlref);
print $form->showrefnav($object, 'facid', $linkback, 1, 'rowid', 'ref');
print '</td>';
print "</tr>\n";
@ -172,12 +172,15 @@ if ($object->id > 0)
}
print ')';
}
// FIXME $facidnext is not defined
/*
if ($facidnext > 0)
{
$facthatreplace=new FactureFournisseur($db);
$facthatreplace->fetch($facidnext);
print ' ('.$langs->transnoentities("ReplacedByInvoice",$facthatreplace->getNomUrl(1)).')';
}
*/
print '</td></tr>';
// Label

View File

@ -1657,7 +1657,7 @@ else
print '<td>';
if ($object->lines[$i]->fk_product)
{
print '<a name="'.$objp->rowid.'"></a>'; // ancre pour retourner sur la ligne
print '<a name="'.$object->lines[$i]->rowid.'"></a>'; // ancre pour retourner sur la ligne
$product_static=new ProductFournisseur($db);
$product_static->fetch($object->lines[$i]->fk_product);
@ -2049,4 +2049,4 @@ else
// End of page
llxFooter();
$db->close();
?>
?>

View File

@ -36,7 +36,7 @@ $langs->load('bills');
$langs->load('banks');
$facid=GETPOST('facid','int');
$action=GETPOST('action');
$action=GETPOST('action','alpha');
$socid=GETPOST('socid','int');
$sortfield = GETPOST("sortfield",'alpha');
@ -86,7 +86,7 @@ if ($action == 'add_paiement')
// Effectue les verifications des parametres
if ($_POST['paiementid'] <= 0)
{
$mesg = '<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('PaymentMode')).'</div>';
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('PaymentMode')), 'errors');
$error++;
}
@ -96,20 +96,20 @@ if ($action == 'add_paiement')
// d'un paiement
if (! $_POST['accountid'])
{
$mesg = '<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('AccountToCredit')).'</div>';
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('AccountToCredit')), 'errors');
$error++;
}
}
if ($total == 0)
{
$mesg = '<div class="error">'.$langs->transnoentities('ErrorFieldRequired',$langs->trans('PaymentAmount')).'</div>';
setEventMessage($langs->trans('ErrorFieldRequired',$langs->trans('PaymentAmount')), 'errors');
$error++;
}
if (empty($datepaye))
{
$mesg = '<div class="error">'.$langs->trans('ErrorFieldRequired',$langs->transnoentities('Date')).'</div>';
setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('Date')), 'errors');
$error++;
}
@ -129,7 +129,7 @@ if ($action == 'add_paiement')
$paiement_id = $paiement->create($user,(GETPOST('closepaidinvoices')=='on'?1:0));
if ($paiement_id < 0)
{
$errmsg='<div class="error">'.$paiement->error.'</div>';
setEventMessage($paiement->error, 'errors');
$error++;
}
}
@ -139,7 +139,7 @@ if ($action == 'add_paiement')
$result=$paiement->addPaymentToBank($user,'payment_supplier','(SupplierInvoicePayment)',$_POST['accountid'],'','');
if ($result < 0)
{
$errmsg='<div class="error">'.$paiement->error.'</div>';
setEventMessage($paiement->error, 'errors');
$error++;
}
}
@ -188,7 +188,7 @@ if ($action == 'create' || $action == 'add_paiement')
$facture = new FactureFournisseur($db);
$facture->fetch($facid);
$datefacture=dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
$datefacture=dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
$dateinvoice=($datefacture==''?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:0):$datefacture);
$sql = 'SELECT s.nom, s.rowid as socid,';
@ -210,9 +210,6 @@ if ($action == 'create' || $action == 'add_paiement')
print_fiche_titre($langs->trans('DoPayment'));
if ($mesg) dol_htmloutput_mesg($mesg);
if ($errmsg) dol_htmloutput_errors($errmsg);
print '<form name="addpaiement" action="paiement.php" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="add_paiement">';
@ -237,7 +234,7 @@ if ($action == 'create' || $action == 'add_paiement')
$form->select_types_paiements(empty($_POST['paiementid'])?'':$_POST['paiementid'],'paiementid');
print '</td>';
print '<td rowspan="3" valign="top">';
print '<textarea name="comment" wrap="soft" cols="60" rows="'._ROWS_3.'">'.(empty($_POST['comment'])?'':$_POST['comment']).'</textarea></td></tr>';
print '<textarea name="comment" wrap="soft" cols="60" rows="'.ROWS_3.'">'.(empty($_POST['comment'])?'':$_POST['comment']).'</textarea></td></tr>';
print '<tr><td>'.$langs->trans('Numero').'</td><td><input name="num_paiement" type="text" value="'.(empty($_POST['num_paiement'])?'':$_POST['num_paiement']).'"></td></tr>';
if (! empty($conf->banque->enabled))
{
@ -254,15 +251,15 @@ if ($action == 'create' || $action == 'add_paiement')
/*
* Autres factures impayees
*/
$sql = 'SELECT f.rowid as facid,f.rowid as ref,f.facnumber,f.total_ttc, f.datef as df';
$sql.= ', sum(pf.amount) as am';
$sql = 'SELECT f.rowid as facid, f.rowid as ref, f.facnumber, f.total_ht, f.total_ttc, f.datef as df';
$sql.= ', SUM(pf.amount) as am';
$sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as f';
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON pf.fk_facturefourn = f.rowid';
$sql.= " WHERE f.entity = ".$conf->entity;
$sql.= ' AND f.fk_soc = '.$facture->socid;
$sql.= ' AND f.paye = 0';
$sql.= ' AND f.fk_statut = 1'; // Statut=0 => non validee, Statut=2 => annulee
$sql.= ' GROUP BY f.rowid,f.facnumber,f.total_ttc,f.datef';
$sql.= ' GROUP BY f.rowid, f.facnumber, f.total_ht, f.total_ttc, f.datef';
$resql = $db->query($sql);
if ($resql)
{
@ -286,6 +283,7 @@ if ($action == 'create' || $action == 'add_paiement')
$var=True;
$total=0;
$total_ttc=0;
$totalrecu=0;
while ($i < $num)
{
@ -311,7 +309,7 @@ if ($action == 'create' || $action == 'add_paiement')
$namef = 'amount_'.$objp->facid;
print '<input type="text" size="8" name="'.$namef.'" value="'.GETPOST($namef).'">';
print "</td></tr>\n";
$total+=$objp->total;
$total+=$objp->total_ht;
$total_ttc+=$objp->total_ttc;
$totalrecu+=$objp->am;
$i++;
@ -349,7 +347,7 @@ if ($action == 'create' || $action == 'add_paiement')
/*
* Show list
*/
if (! $_GET['action'] && ! $_POST['action'])
if (empty($action))
{
if ($page == -1) $page = 0 ;
$limit = $conf->liste_limit;
@ -358,6 +356,12 @@ if (! $_GET['action'] && ! $_POST['action'])
if (! $sortorder) $sortorder='DESC';
if (! $sortfield) $sortfield='p.datep';
$search_ref=GETPOST('search_ref');
$search_account=GETPOST('search_account');
$search_paymenttype=GETPOST('search_paymenttype');
$search_amount=GETPOST('search_amount');
$search_company=GETPOST('search_company');
$sql = 'SELECT p.rowid as pid, p.datep as dp, p.amount as pamount, p.num_paiement,';
$sql.= ' s.rowid as socid, s.nom,';
$sql.= ' c.libelle as paiement_type,';
@ -379,25 +383,25 @@ if (! $_GET['action'] && ! $_POST['action'])
$sql .= ' AND f.fk_soc = '.$socid;
}
// Search criteria
if ($_REQUEST["search_ref"])
if (! empty($search_ref))
{
$sql .= ' AND p.rowid='.$db->escape($_REQUEST["search_ref"]);
$sql .= ' AND p.rowid='.$db->escape($search_ref);
}
if ($_REQUEST["search_account"])
if (! empty($search_account))
{
$sql .= ' AND b.fk_account='.$db->escape($_REQUEST["search_account"]);
$sql .= ' AND b.fk_account='.$db->escape($search_account);
}
if ($_REQUEST["search_paymenttype"])
if (! empty($search_paymenttype))
{
$sql .= " AND c.code='".$db->escape($_REQUEST["search_paymenttype"])."'";
$sql .= " AND c.code='".$db->escape($search_paymenttype)."'";
}
if ($_REQUEST["search_amount"])
if (! empty($search_amount))
{
$sql .= " AND p.amount=".price2num($_REQUEST["search_amount"]);
$sql .= " AND p.amount=".price2num($search_amount);
}
if ($_REQUEST["search_company"])
if (! empty($search_company))
{
$sql .= " AND s.nom LIKE '%".$db->escape($_REQUEST["search_company"])."%'";
$sql .= " AND s.nom LIKE '%".$db->escape($search_company)."%'";
}
$sql.= " GROUP BY p.rowid, p.datep, p.amount, p.num_paiement, s.rowid, s.nom, c.libelle, ba.rowid, ba.label";
if (!$user->rights->societe->client->voir) $sql .= ", sc.fk_soc, sc.fk_user";
@ -412,9 +416,9 @@ if (! $_GET['action'] && ! $_POST['action'])
$var=True;
$paramlist='';
$paramlist.=($_REQUEST["search_ref"]?"&search_ref=".$_REQUEST["search_ref"]:"");
$paramlist.=($_REQUEST["search_company"]?"&search_company=".$_REQUEST["search_company"]:"");
$paramlist.=($_REQUEST["search_amount"]?"&search_amount=".$_REQUEST["search_amount"]:"");
$paramlist.=(! empty($search_ref)?"&search_ref=".$search_ref:"");
$paramlist.=(! empty($search_company)?"&search_company=".$search_company:"");
$paramlist.=(! empty($search_amount)?"&search_amount=".$search_amount:"");
print_barre_liste($langs->trans('SupplierPayments'), $page, 'paiement.php',$paramlist,$sortfield,$sortorder,'',$num);
@ -436,20 +440,20 @@ if (! $_GET['action'] && ! $_POST['action'])
// Lines for filters fields
print '<tr class="liste_titre">';
print '<td align="left">';
print '<input class="fat" type="text" size="4" name="search_ref" value="'.$_REQUEST["search_ref"].'">';
print '<input class="fat" type="text" size="4" name="search_ref" value="'.$search_ref.'">';
print '</td>';
print '<td>&nbsp;</td>';
print '<td align="left">';
print '<input class="fat" type="text" size="6" name="search_company" value="'.$_REQUEST["search_company"].'">';
print '<input class="fat" type="text" size="6" name="search_company" value="'.$search_company.'">';
print '</td>';
print '<td>';
$form->select_types_paiements($_REQUEST["search_paymenttype"],'search_paymenttype','',2,1,1);
$form->select_types_paiements($search_paymenttype,'search_paymenttype','',2,1,1);
print '</td>';
print '<td>';
$form->select_comptes($_REQUEST["search_account"],'search_account',0,'',1);
$form->select_comptes($search_account,'search_account',0,'',1);
print '</td>';
print '<td align="right">';
print '<input class="fat" type="text" size="4" name="search_amount" value="'.$_REQUEST["search_amount"].'">';
print '<input class="fat" type="text" size="4" name="search_amount" value="'.$search_amount.'">';
print '<input type="image" class="liste_titre" name="button_search" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" alt="'.$langs->trans("Search").'">';
print '</td>';
print "</tr>\n";

View File

@ -442,9 +442,9 @@ if ($step == 2 && $datatoimport)
{
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td width="16">'.img_picto_common($key,$objmodelimport->getPicto($key)).'</td>';
$text=$objmodelimport->getDriverDesc($key);
print '<td>'.$form->textwithpicto($objmodelimport->getDriverLabel($key),$text).'</td>';
print '<td width="16">'.img_picto_common($key,$objmodelimport->getPictoForKey($key)).'</td>';
$text=$objmodelimport->getDriverDescForKey($key);
print '<td>'.$form->textwithpicto($objmodelimport->getDriverLabelForKey($key),$text).'</td>';
print '<td align="center"><a href="'.DOL_URL_ROOT.'/imports/emptyexample.php?format='.$key.$param.'" target="_blank">'.$langs->trans("DownloadEmptyExample").'</a></td>';
// Action button
print '<td align="right">';
@ -510,8 +510,8 @@ if ($step == 3 && $datatoimport)
// Source file format
print '<tr><td width="25%">'.$langs->trans("SourceFileFormat").'</td>';
print '<td>';
$text=$objmodelimport->getDriverDesc($format);
print $form->textwithpicto($objmodelimport->getDriverLabel($format),$text);
$text=$objmodelimport->getDriverDescForKey($format);
print $form->textwithpicto($objmodelimport->getDriverLabelForKey($format),$text);
print '</td><td align="right" nowrap="nowrap"><a href="'.DOL_URL_ROOT.'/imports/emptyexample.php?format='.$format.$param.'" target="_blank">'.$langs->trans("DownloadEmptyExample").'</a>';
print '</td></tr>';
@ -715,8 +715,8 @@ if ($step == 4 && $datatoimport)
// Source file format
print '<tr><td width="25%">'.$langs->trans("SourceFileFormat").'</td>';
print '<td>';
$text=$objmodelimport->getDriverDesc($format);
print $form->textwithpicto($objmodelimport->getDriverLabel($format),$text);
$text=$objmodelimport->getDriverDescForKey($format);
print $form->textwithpicto($objmodelimport->getDriverLabelForKey($format),$text);
print '</td></tr>';
// Separator and enclosure
@ -1164,8 +1164,8 @@ if ($step == 5 && $datatoimport)
// Source file format
print '<tr><td width="25%">'.$langs->trans("SourceFileFormat").'</td>';
print '<td>';
$text=$objmodelimport->getDriverDesc($format);
print $form->textwithpicto($objmodelimport->getDriverLabel($format),$text);
$text=$objmodelimport->getDriverDescForKey($format);
print $form->textwithpicto($objmodelimport->getDriverLabelForKey($format),$text);
print '</td></tr>';
// File to import
@ -1499,7 +1499,7 @@ if ($step == 6 && $datatoimport)
print '<tr><td width="25%">'.$langs->trans("SourceFileFormat").'</td>';
print '<td>';
$text=$objmodelimport->getDriverDesc($format);
print $form->textwithpicto($objmodelimport->getDriverLabel($format),$text);
print $form->textwithpicto($objmodelimport->getDriverLabelForKey($format),$text);
print '</td></tr>';
// File to import

View File

@ -121,11 +121,11 @@ foreach($liste as $key)
{
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td width="16">'.img_picto_common($model->getDriverLabel($key),$model->getPicto($key)).'</td>';
$text=$model->getDriverDesc($key);
print '<td>'.$form->textwithpicto($model->getDriverLabel($key),$text).'</td>';
print '<td>'.$model->getLibLabel($key).'</td>';
print '<td nowrap="nowrap" align="right">'.$model->getLibVersion($key).'</td>';
print '<td width="16">'.img_picto_common($model->getDriverLabelForKey($key),$model->getPictoForKey($key)).'</td>';
$text=$model->getDriverDescForKey($key);
print '<td>'.$form->textwithpicto($model->getDriverLabelForKey($key),$text).'</td>';
print '<td>'.$model->getLibLabelForKey($key).'</td>';
print '<td nowrap="nowrap" align="right">'.$model->getLibVersionForKey($key).'</td>';
print '</tr>';
}

View File

@ -253,19 +253,14 @@ UPDATE llx_c_actioncomm set type = 'systemauto' where code IN ('AC_PROP','AC_COM
-- update type of localtax1 for spain
UPDATE llx_c_tva SET localtax1_type = '3' WHERE rowid = 41 AND fk_pays = 4 AND (localtax1_type = '0' OR localtax1_type='1');
UPDATE llx_c_tva SET localtax1_type = '3' WHERE rowid = 42 AND fk_pays = 4 AND (localtax1_type = '0' OR localtax1_type='1');
UPDATE llx_c_tva SET localtax1_type = '3' WHERE rowid = 43 AND fk_pays = 4 AND (localtax1_type = '0' OR localtax1_type='1');
UPDATE llx_c_tva SET taux='21', localtax1 = '5.2', localtax1_type = '3' WHERE rowid = 41 AND fk_pays = 4 AND (localtax1_type = '0' OR localtax1_type='1' OR localtax1_type='3');
UPDATE llx_c_tva SET taux='10', localtax1 = '1.4', localtax1_type = '3' WHERE rowid = 42 AND fk_pays = 4 AND (localtax1_type = '0' OR localtax1_type='1' OR localtax1_type='3');
UPDATE llx_c_tva SET taux='4', localtax1 = '0.5', localtax1_type = '3' WHERE rowid = 43 AND fk_pays = 4 AND (localtax1_type = '0' OR localtax1_type='1' OR localtax1_type='3');
-- update type of localtax2 for spain
UPDATE llx_c_tva SET localtax2_type = '1' WHERE rowid = 41 AND fk_pays = 4 AND localtax2_type = '0';
UPDATE llx_c_tva SET localtax2_type = '1' WHERE rowid = 42 AND fk_pays = 4 AND localtax2_type = '0';
UPDATE llx_c_tva SET localtax2_type = '1' WHERE rowid = 43 AND fk_pays = 4 AND localtax2_type = '0';
-- update localtax values for spain
UPDATE llx_c_tva set localtax1 = '5.2', localtax2 = '-15' where rowid= 41 and fk_pays= 4 AND localtax1_type='3';
UPDATE llx_c_tva set localtax1 = '1.4', localtax2 = '-15' where rowid= 42 and fk_pays= 4 AND localtax1_type='3';
UPDATE llx_c_tva set localtax1 = '0.5', localtax2 = '-15' where rowid= 43 and fk_pays= 4 AND localtax1_type='3';
UPDATE llx_c_tva SET localtax2 = '-15', localtax2_type = '1' WHERE rowid = 41 AND fk_pays = 4 AND (localtax2_type = '0' OR localtax2_type = '1');
UPDATE llx_c_tva SET localtax2 = '-15', localtax2_type = '1' WHERE rowid = 42 AND fk_pays = 4 AND (localtax2_type = '0' OR localtax2_type = '1');
UPDATE llx_c_tva SET localtax2 = '-15', localtax2_type = '1' WHERE rowid = 43 AND fk_pays = 4 AND (localtax2_type = '0' OR localtax2_type = '1');
-- update type of localtax for tunisia
UPDATE llx_c_tva set localtax1 = 1, localtax1_type = '4', localtax2 = 0.4, localtax2_type = '7' where rowid= 101 and fk_pays= 10 AND localtax1_type='0';

View File

@ -123,4 +123,9 @@ SuppliersProducts=Suppliers Products
BankCode=Bank code
DeskCode=Desk code
BankAccountNumber=Account number
BankAccountNumberKey=Key
BankAccountNumberKey=Key
## filters
SelectFilterFields=If you want to filter on some values, just input values here.
FilterableFields=Champs Filtrables
FilteredFields=Filtered fields
FilteredFieldsValues=Value for filter

View File

@ -98,8 +98,8 @@ UpdateConfCPOK=Updated successfully.
ErrorUpdateConfCP=An error occurred during the update, please try again.
AddCPforUsers=Please add the balance of holidays of users by <a href="../define_holiday.php" style="font-weight: normal; color: red; text-decoration: underline;">clicking here</a>.
DelayForSubmitCP=Deadline to apply for holidays
AlertValidatorDelayCP=Prevent the validator if the request for leave to meet the deadline
AlertValidorSoldeCP=Prevent the validator if the user requests holidays exceeding the balance
AlertValidatorDelayCP=Prevent the validator if the holiday request does not match the deadline
AlertValidorSoldeCP=Prevent the validator if the holiday request exceed the balance
nbUserCP=Number of users supported in the module holidays
nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken
nbHolidayEveryMonthCP=Number of holidays added every month

View File

@ -50,7 +50,7 @@ PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carria
PredefinedMailTestHtml=This is a <b>test</b> mail (the word test must be in bold).<br>The two lines are separated by a carriage return.<br><br>__SIGNATURE__
PredefinedMailContentSendInvoice=You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendInvoiceReminder=We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendProposal=You will find here the commercial propoal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendProposal=You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendOrder=You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierOrder=You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__
PredefinedMailContentSendSupplierInvoice=You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__

View File

@ -125,6 +125,7 @@ DeskCode=Code guichet
BankAccountNumber=Numéro compte
BankAccountNumberKey=Clé RIB
## filters
SelectFilterFields=Si vous voulez filtrer sur certaines valeures, saisissez ces valeurs.
FilterableFields=Champs Filtrables
FilteredFields=Champs Filtrés
FilteredFieldsValues=Valeurs de filtrages

File diff suppressed because it is too large Load Diff

View File

@ -93,7 +93,7 @@ ErrorInvoiceAvoirMustBeNegative=Fout, correctiefactuur moet een negatief bedrag
ErrorInvoiceOfThisTypeMustBePositive=Fout, dit type factuur moet een positief bedrag hebben
ErrorCantCancelIfReplacementInvoiceNotValidated=Fout, kan geen factuur annuleren die is vervangen door een andere factuur die nog in klad status is
BillFrom=Van
BillTo=Factureren aan
BillTo=Aan
ActionsOnBill=Acties op factuur
NewBill=Nieuwe factuur
Prélèvements=Domiciliëring
@ -279,3 +279,37 @@ PDFOursinDescription=Factuurmodel oursin
# tourteau PDF Model
PDFTourteauDescription=Factuurmodel Tourteau
# NumRef Modules
# deneb
DenebNumRefModelDesc1=Geeft het nummer in de vorm, PREF-31-12-2004-01, waar pref het voorvoegsel is , gevolgd door de datum (31 december 2004) en een teller.
DenebNumRefModelDesc2=Indien de constante FACTURE_DENEB_DELTA is gedefiniëerd, een compensatie wordt toegepast op de meter
# mars
MarsNumRefModelDesc1=Numéro de facture sous la forme, PREF-10-2004-005, qui correspond à la 5ème facture d'octobre 2004 et où PREF est le préfix de la société.
MarsNumRefModelDesc2=Le nombre final est formaté sur 3 chiffres ou plus.
MarsNumRefModelDesc3=Si la constante FACTURE_MARS_DELTA est définie, un offset est appliqué sur le compteur
# neptune
NeptuneNumRefModelDesc1=Renvoie le numéro de facture sous une forme du préfix FA suivi de l'année sur 2 chiffres et d'un compteur simple sur 4 chiffres.
NeptuneNumRefModelDesc2=Si la constante FACTURE_NEPTUNE_DELTA est définie, un offset est appliqué sur le compteur
# orion
OrionNumRefModelDesc1=Return the number under the format FAYYNNNNN where YY is the year and NNNNN the increment number starting at 1.
OrionNumRefModelDesc2=The year is increased by 1 WITHOUT an initialisation to zero at the start of the fiscal year.
OrionNumRefModelDesc3=Define the variable SOCIETE_FISCAL_MONTH_START with the month at the start of the fiscal year, example: 9 for September.
OrionNumRefModelDesc4=In this example, we shall have on the 1st of September 2006 an invoice named FA700354.
# terre
TerreNumRefModelDesc1=Renvoie le numéro sous la forme %syymm-nnnn où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0
TerreNumRefModelError=Une facture commençant par $fayymm existe en base et est incompatible avec cette numérotation. Supprimer la ou renommer la pour activer ce module.
# titan
TitanNumRefModelDesc1=Return the number with format FAYYNNNNN where YY is the year and NNNNN is the increment number starting from 1.
TitanNumRefModelDesc2=The year is incremented by 1 and the increment number is initialized to zero at the start of the fiscal year.
TitanNumRefModelDesc3=Define the variable SOCIETE_FISCAL_MONTH_START with the month at the start of the fiscal year, example: 9 for September.
TitanNumRefModelDesc4=In this example, we shall have on the 1st September 2006 an invoice named FA0700001

View File

@ -1,22 +1,5 @@
# Dolibarr language file - nl_BE - marque pages
CHARSET=UTF-8
AddThisPageToBookmarks=Voeg deze pagina toe aan bladwijzers
Bookmark=Bladwijzer
Bookmarks=Bladwijzers
Bookm=Bladwijzers
NewBookmark=Nieuwe bladwijzer
ShowBookmark=Toon bladwijzer
BookmarkThisPage=Maak bladwijzer van deze pagina
OpenANewWindow=Open een nieuw venster
ReplaceWindow=Vervang huidig venster
BookmarkTargetNewWindowShort=Nieuw venster
BookmarkTargetReplaceWindowShort=Huidig venster
BookmarkTitle=Titel van de bladwijzer
UrlOrLink=URL
BehaviourOnClick=Gedrag bij het klikken op URL
CreateBookmark=Maak bladwijzer
SetHereATitleForLink=Stel hier een titel in voor de bladwijzer
UseAnExternalHttpLinkOrRelativeDolibarrLink=Gebruik een externe URL of een relatieve URL van Dolibarr
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Selecteer of de bladwijzer moet openen in een nieuw venster of in het huidig venster van de pagina
BookmarksManagement=Bladwijzer beheer
ListOfBookmarks=Lijst van bladwijzers
AddThisPageToBookmarks=Voeg deze pagina toe aan bladwijzers

View File

@ -1,77 +1,85 @@
# Dolibarr language file - nl_BE - commercial
CHARSET=UTF-8
Commercial=Commerciëel
Customer=Klant
Customers=Klanten
Prospect=Potentiële klant
Prospects=Potentiële klanten
CommercialArea=Commerciële ruimte
CommercialCard=Commerciële kaart
CustomerArea=Klanten ruimte
DeleteAction=Verwijder een actie / taak
NewAction=Nieuwe actie / taak
AddAction=Toevoegen actie / taak
AddAnAction=Voeg een actie / taak
AddActionRendezVous=Maak een afspraak
ConfirmDeleteAction=Weet u zeker dat u deze taak wilt verwijderen?
CardAction=Actie kaart
PercentDone=Percentage gedaan
ActionOnCompany=Taak over bedrijf
ActionOnContact=Taak over contact
TaskRDV=Vergaderingen
TaskRDVWith=Ontmoeting met %s
ShowTask=Toon taak
ShowAction=Toon actie
ActionsReport=Verslag acties
SalesRepresentative=Verkoopvertegenwoordiger
SalesRepresentatives=Verkoopvertegenwoordigers
SalesRepresentativeFollowUp=Verkoopvertegenwoordiger (opvolging)
SalesRepresentativeSignature=Verkoopvertegenwoordiger (handtekening)
CommercialInterlocutor=Commerciëel gesprekspartner
ErrorWrongCode=Verkeerde code
NoSalesRepresentativeAffected=Geen bijzondere verkoopvertegenwoordiger getroffen
ShowCustomer=Toon klant
ShowProspect=Toon potentiële klant
ListOfProspects=Lijst van Potentiële klanten
ListOfCustomers=Lijst van klanten
LastDoneTasks=Laatste %s gedane taken
LastRecordedTasks=Laatste taken
LastActionsToDo=Laatste %s oudste acties niet voltooid
DoneAndToDoActionsFor=Gedaan en taken nog te doen voor %s
DoneAndToDoActions=Gedaan en doe taken
DoneActions=Gedane acties
DoneActionsFor=Gedane acties voor %s
ToDoActions=Onvolledige acties
ToDoActionsFor=Onvolledige acties voor %s
SendPropalRef=Stuur commerciëel voorstel %s
SendOrderRef=Stuur bestelling %s
NoRecordedProspects=Geen potentiële klant geregistreerd
StatusActionToDo=Te doen
StatusActionDone=Gedaan
MyActionsAsked=Acties die ik heb geregistreerd
MyActionsToDo=Acties die ik moet doen
MyActionsDone=Acties die ik heb gemaakt
StatusActionInProcess=Gaande
TasksHistoryForThisContact=Acties voor deze contactpersoon
LastProspectDoNotContact=Niet contacteren
LastProspectNeverContacted=Nog nooit gecontacteerd
LastProspectToContact=Contact op te nemen met
LastProspectContactInProcess=Contact in process
LastProspectContactDone=Gecontacteerd
DateActionPlanned=Datum actie gepland voor
DateActionDone=Datum actie gedaan
ActionAskedBy=Actie gevraagd door
ActionAffectedTo=Actie getroffen om
ActionDoneBy=Actie gedaan door
ActionUserAsk=Geregistreerd door
ErrorStatusCantBeZeroIfStarted=Als veld '<b>Datum gedaan</b>' is ingevuld, de actie is gestart (of beëindigd), dus veld '<b>Status</b>' kan niet 0%% zijn. If field '<b>Date done</b>' is filled, action is started (or finished), so field '<b>Status</b>' can't be 0%%.
ActionAC_TEL=Telefoongesprek
ActionAC_FAX=Verzend per fax
ActionAC_PROP=Verzend voorstel
ActionAC_EMAIL=E-mail verzenden
ActionAC_RDV=Vergaderingen
ActionAC_FAC=Stuur factuur
ActionAC_REL=Stuur factuur (herinnering)
ActionAC_CLO=Sluiten
ActionAC_EMAILING=Stuur massa e-mail
ActionAC_COM=Verzend bestelling per mail
# Dolibarr language file - nl_BE - commercial =
CHARSET = UTF-8
Commercial = Commerciëel
CommercialArea = Commerciële ruimte
CommercialCard = Commerciële kaart
CustomerArea = Klanten ruimte
Customer = Klant
Customers = Klanten
Prospect = Potentiële klant
Prospects = Potentiële klanten
DeleteAction = Verwijder een actie / taak
NewAction = Nieuwe actie / taak
AddAction = Toevoegen actie / taak
AddAnAction = Voeg een actie / taak
AddActionRendezVous = Maak een afspraak
Rendez-Vous = Bijeenkomst
ConfirmDeleteAction = Weet u zeker dat u deze taak wilt verwijderen?
CardAction = Actie kaart
PercentDone = Percentage gedaan
ActionOnCompany = Taak over bedrijf
ActionOnContact = Taak over contact
TaskRDV = Vergaderingen
TaskRDVWith = Ontmoeting met %s
ShowTask = Toon taak
ShowAction = Toon actie
ActionsReport = Verslag acties
SalesRepresentative = Verkoopvertegenwoordiger
SalesRepresentatives = Verkoopvertegenwoordigers
SalesRepresentativeFollowUp = Verkoopvertegenwoordiger (opvolging)
SalesRepresentativeSignature = Verkoopvertegenwoordiger (handtekening)
CommercialInterlocutor = Commerciëel gesprekspartner
ErrorWrongCode = Verkeerde code
NoSalesRepresentativeAffected = Geen bijzondere verkoopvertegenwoordiger getroffen
ShowCustomer = Toon klant
ShowProspect = Toon potentiële klant
ListOfProspects = Lijst van Potentiële klanten
ListOfCustomers = Lijst van klanten
LastDoneTasks = Laatste %s gedane taken
LastRecordedTasks = Laatste taken
LastActionsToDo = Laatste %s oudste acties niet voltooid
DoneAndToDoActionsFor = Gedaan en taken nog te doen voor %s
DoneAndToDoActions = Gedaan en doe taken
DoneActions = Gedane acties
DoneActionsFor = Gedane acties voor %s
ToDoActions = Onvolledige acties
ToDoActionsFor = Onvolledige acties voor %s
SendPropalRef = Stuur commerciëel voorstel %s
SendOrderRef = Stuur bestelling %s
StatusNotApplicable = Niet beschikbaar
StatusActionToDo = Te doen
StatusActionDone = Gedaan
MyActionsAsked = Acties die ik heb geregistreerd
MyActionsToDo = Acties die ik moet doen
MyActionsDone = Acties die ik heb gemaakt
StatusActionInProcess = Gaande
TasksHistoryForThisContact = Acties voor deze contactpersoon
LastProspectDoNotContact = Niet contacteren
LastProspectNeverContacted = Nog nooit gecontacteerd
LastProspectToContact = Contact op te nemen met
LastProspectContactInProcess = Contact in process
LastProspectContactDone = Gecontacteerd
DateActionPlanned = Datum actie gepland voor
DateActionDone = Datum actie gedaan
ActionAskedBy = Actie gevraagd door
ActionAffectedTo = Actie getroffen om
ActionDoneBy = Actie gedaan door
ActionUserAsk = Geregistreerd door
ErrorStatusCantBeZeroIfStarted = Als veld '<b>Datum gedaan</b>' is ingevuld, de actie is gestart (of beëindigd), dus veld '<b>Status</b>' kan niet 0%% zijn. If field '<b>Date done</b>' is filled, action is started (or finished), so field '<b>Status</b>' can't be 0%%.
ActionAC_TEL = Telefoongesprek
ActionAC_FAX = Verzend per fax
ActionAC_PROP = Verzend voorstel
ActionAC_EMAIL = E-mail verzenden
ActionAC_RDV = Vergaderingen
ActionAC_FAC = Stuur factuur
ActionAC_REL = Stuur factuur (herinnering)
ActionAC_CLO = Sluiten
ActionAC_EMAILING = Stuur massa e-mail
ActionAC_COM = Verzend bestelling per mail
ActionAC_SHIP = Verstuur bestelling per post
ActionAC_SUP_ORD = Stuur leveranciersbestelling
ActionAC_SUP_INV = Stuur leveranciersfactuur
ActionAC_OTH = Ander
StatusProsp = Status van het prospect
DraftPropals = Klad commerciële voorstellen
SearchPropal = Zoek een commercieel voorstel

View File

@ -1,260 +1,394 @@
# Dolibarr language file - nl_BE - companies
CHARSET=UTF-8
ErrorCompanyNameAlreadyExists=Bedrijfsnaam %s bestaat reeds. Kies een andere naam.
ErrorPrefixAlreadyExists=Prefix %s bestaat reeds. Kies een ander prefix.
ErrorSetACountryFirst=Kies het land eerst
ConfirmDeleteCompany=Bent u zeker dat u dit bedrijf en alle bijhorende informatie wil verwijderen?
MenuNewThirdParty=Nieuwe derde partij
MenuNewCompany=Nieuw bedrijf
MenuNewCustomer=Nieuwe klant
MenuNewProspect=Nieuwe potentiële klant
MenuNewSupplier=Nieuwe leverancier
MenuSocGroup=Groepen
NewCompany=Nieuwe derde partij (potentiële klant, klant, leverancier,...)
NewThirdParty=Nieuwe derde partij (potentiële klant, klant, leverancier,...)
NewSocGroup=Nieuw bedrijvengroep
ProspectionArea=Potentiëel gebied
SocGroup=Groep van bedrijven
IdCompany=Bedrijfs-id
IdContact=Contact-id
Contacts=Contacten
Company=Bedrijf
CompanyName=Bedrijfsnaam
Companies=Bedrijven
ThirdParty=Derde partij
ThirdParties=Derde partijen
ThirdPartyAll=Derde partijen (allemaal)
ThirdPartyProspects=Potentiële klant
ThirdPartyCustomers=Klanten
ThirdPartyCustomersWithIdProf12=Klanten met %s of %s
ThirdPartySuppliers=Leveranciers
ParentCompany=Moederbedrijf
CivilityCode=Civility code
RegisteredOffice=Geregistreerd kantoor
Name=Naam
Lastname=Familienaam
Firstname=Voornaam
PostOrFunction=Functie
UserTitle=Titel
Surname=Familienaam/Pseudoniem
Address=Adres
State=Provincie
Region=Gebied
Country=Land
CountryCode=Landcode
Phone=Tel.nr.
PhonePro=Prof. tel.nr.
PhonePerso=Pers. tel.nr.
PhoneMobile=Mobiel nr.
Fax=Fax
Zip=Postcode
Town=Stad / Gemeente
Web=Website
VATIsUsed=Aan BTW onderworpen
VATIsNotUsed=Niet onderworpen aan BTW
ThirdPartyEMail=%s
##### Professionnal ID #####
ProfId1=Professioneel ID 1
ProfId2=Professioneel ID 2
ProfId3=Professioneel ID 3
ProfId4=Professioneel ID 4
ProfId1AU=ABN
ProfId2AU=-
ProfId3AU=-
ProfId4AU=-
ProfId1BE=Professioneel nummer
ProfId2BE=-
ProfId3BE=-
ProfId4BE=-
ProfId1FR=SIREN
ProfId2FR=SIRET
ProfId3FR=NAF (Old APE)
ProfId4FR=RCS/RM
ProfId1GB=Registratienummer
ProfId2GB=-
ProfId3GB=SIC
ProfId4GB=-
ProfId1PT=NIPC
ProfId2PT=Nummer sociale zekerheid
ProfId3PT=Nummer Commercial Record
ProfId4PT=Conservatory
VATIntra=BTW nummer
VATIntraShort=BTW nummer
VATIntraVeryShort=BTW
VATIntraSyntaxIsValid=Syntax is geldig
VATIntraValueIsValid=Waarde is geldig
ProspectCustomer=Potentiële klant / Klant
Prospect=Potentiële klant
CustomerCard=Klantenkaart
Customer=Klant
CustomerDiscount=Klantenkorting
CustomerRelativeDiscount=Relatieve klantenkorting
CustomerAbsoluteDiscount=Absolute klantenkorting
CustomerRelativeDiscountShort=Relatieve korting
CustomerAbsoluteDiscountShort=Absolute korting
CompanyHasRelativeDiscount=Deze klant heeft een korting van <b>%s%%</b>
CompanyHasNoRelativeDiscount=Deze klant heeft geen standaard relatieve korting
CompanyHasAbsoluteDiscount=Deze klant heeft nog een absolute korting van <b>%s %s</b>
CompanyHasNoAbsoluteDiscount=Deze klant heeft geen absolute korting
CustomerAbsoluteDiscountAllUsers=Absolute korting (toegekend door alle gebruikers)
CustomerAbsoluteDiscountMy=Absolute korting (door uzelf toegekend)
DefaultDiscount=Standaard korting
AvailableGlobalDiscounts=Beschikbare absolute kortingen
DiscountNone=Geen
Supplier=Leverancier
CompanyList=Bedrijvenlijst
AddContact=Voeg contact toe
Contact=Contact
DefaultContact=Standaard contact
AddCompany=Voeg bedrijf toe
AddThirdParty=Voeg derde partij toe
DeleteACompany=Verwijder een bedrijf
PersonalInformations=Persoonlijke gegevens
AccountancyCode=Boekhoudkundige code
CustomerCode=Klantencode
SupplierCode=Leverancierscode
CustomerAccount=Klanten account
SupplierAccount=Leveranciers account
LastProspect=Laatste
ProspectToContact=Potentiële klant naar contact
CompanyDeleted=Bedrijf "%s" verwijderd uit de databank.
ListOfContacts=Lijst van contacten
ListOfProspectsContacts=Lijst van potentiële klanten contacten
ListOfCustomersContacts=Lijst van klanten contacten
ListOfSuppliersContacts=Lijst van leveranciers contacten
ListOfCompanies=Lijst van bedrijven
ListOfThirdParties=Lijst van derde partijen
ShowCompany=Toon bedrijf
ShowContact=Toon contact
ContactsAllShort=Allemaal (geen filter)
ContactType=Contact type
ContactForOrders=Contact voor bestellingen
ContactForProposals=Contact voor voorstellen
ContactForContracts=Contact voor contracten
ContactForInvoices=Contact voor facturen
NoContactForAnyOrder=Dit contact is geen contact voor een order
NoContactForAnyProposal=Dit contact is geen contact voor een commerciëel voorstel
NoContactForAnyContract=Dit contact is geen contact voor een contract
NoContactForAnyInvoice=Dit contact is geen contact voor een factuur
NewContact=Nieuw contact
LastContacts=Laatste contacten
MyContacts=Mijn contacten
Phones=Tel.nrs.
Capital=Hoofdstad
CapitalOf=Hoofdstad van %s
EditCompany=Aanpassen bedrijf
ThisUserIsNot=Deze gebruiker is geen potentiële klant, klant of leverancier
VATIntraCheck=Controleer
VATIntraCheckDesc=De verbinding <b>%s</b> laat toe de europeese BTW testservice te bevragen. Een toegang tot het internet vanaf de server is vereist om deze dienst te laten werken.
VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do
VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site
VATIntraManualCheck=U kan ook zelf de test doen via de europese website <a href="%s" target="_blank">%s</a>
ErrorVATCheckMS_UNAVAILABLE=Test niet mogelijk. Testservice wordt niet voorzien door de lidstaat (%s).
NorProspectNorCustomer=Geen potentiële klant of klant
JuridicalStatus=Juridische status
Staff=Personeel
TE_STARTUP=Starter
TE_GROUP=Groot bedrijf
TE_MEDIUM=Middelgroot bedrijf
TE_ADMIN=Overheidsinstelling
TE_SMALL=Klein bedrijf
TE_RETAIL=Detailhandelaar
TE_WHOLE=Groothandelaar
TE_PRIVATE=Privé persoon
TE_OTHER=Ander
StatusProspect-1=Niet contacteren
StatusProspect0=Nooit gecontacteerd
StatusProspect1=Te contacteren
StatusProspect2=Contact gaande
StatusProspect3=Contact afgelopen
ChangeDoNotContact=Verander toestand naar 'Niet contacteren'
ChangeNeverContacted=Verander toestand naar 'Nooit gecontacteerd'
ChangeToContact=Verander toestand naar 'Te contacteren'
ChangeContactInProcess=Verander toestand naar 'Contact gaande'
ChangeContactDone=Verander toestand naar 'Contact afgelopen'
ProspectsByStatus=Potentiële klanten volgens status
BillingContact=Facturatie contact
NbOfAttachedFiles=Lijst van toegevoegde bestanden
AttachANewFile=Voeg een nieuw bestand toe
FileWasRemoved=Bestand is verwijderd.
NoRIB=Geen RIB definieerd
NoParentCompany=Geen
ExportImport=Import-Export
ExportCardToFormat=Exporteer kaart naar formaat
ContactNotLinkedToCompany=Contact niet verbonden met een derde partij
DolibarrLogin=Dolibarr login
NoDolibarrAccess=Geen Dolibarr toegang
ExportDataset_company_1=Bedrijven/verenigingen en eigenschappen
ExportDataset_company_2=Contacten en eigenschappen
DeliveriesAddress=Leveringsadressen
DeliveryAddress=leveringsadres
DeliveryAddressLabel=leveringsadres label
DeleteDeliveryAddress=Verwijder een leveringsadres
ConfirmDeleteDeliveryAddress=Bent u zeker dat u dit leveringsadres wil verwijderen?
NewDeliveryAddress=Nieuw leveringsadres
AddDeliveryAddress=Voeg adres toe
AddAddress=Voeg adres toe
NoOtherDeliveryAddress=Geen alternatieve leveringsadres gedefiniëerd
JuridicalStatus200=Zelfstandige
DeleteThirdParty=Verwijder een derde partij
DeleteContact=Verwijder een contactpersoon
ConfirmDeleteContact=Weet u zeker dat u deze contactpersoon met alle gegevens wil verwijderen?
MenuNewPrivateIndividual=Nieuwe particulier
NewPrivateIndividual=Nieuwe particulier (potentiële klant, klant, leverancier)
IdThirdParty=Id derde partij
CountryIsInEEC=Land binnen de Europese Economische Gemeenschap
ThirdPartyType=Derde partij soort
Individual=Particulier
ToCreateContactWithSameName=Maakt automatisch een fysiek contact aan met dezelfde informatie
ReportByCustomers=Verslag door klanten
ReportByQuarter=Verslag per kwartaal
WrongCustomerCode=Klantencode ongeldig
WrongSupplierCode=Leverancierscode ongeldig
CustomerCodeModel=Klantencode model
SupplierCodeModel=Leverancierscode model
Gencod=Streepjescode
ProfId1Short=Prof id 1
ProfId2Short=Prof id 2
ProfId3Short=Prof id 3
ProfId4Short=Prof id 4
ProfId1CH=-
ProfId2CH=-
ProfId3CH=Prof. id 1 (Federale nummer)
ProfId4CH=Prof. id 2 (Commerciële Record aantal)
ProfId1TN=Prof. id 1 (RC)
ProfId2TN=Prof. id 2 (Fiscale matricule)
ProfId3TN=Prof. Id 3 (Douane-code)
ProfId4TN=Prof. id 4 (BAN)
CompanyHasCreditNote=Deze klant heeft nog creditnota's voor <b>%s %s</b>
NoContactDefined=Geen contact gedefiniëerd voor deze derde partij
CustomerCodeDesc=Klantencode, uniek voor alle klanten
SupplierCodeDesc=Leverancierscode, uniek voor alle leveranciers
RequiredIfCustomer=Vereist als derde partij een klant of potentiële klant is
RequiredIfSupplier=Vereist als derde partij een leverancier is
ValidityControledByModule=Geldigheid gecontroleerd door module
ThisIsModuleRules=Dit zijn de regels voor deze module
EditDeliveryAddress=Bewerk leveringsadres
VATIntraManualCheck=U kan dit ook manueel raadplegen via de europese website <a href="%s" target="_blank">%s</a>
ProspectLevelShort=Potentiëel
ProspectLevel=Prospect potentiële
ContactPrivate=Privé
ContactPublic=Gedeelde
ContactVisibility=Zichtbaarheid
OthersNotLinkedToThirdParty=Anderen, die niet gebonden zijn aan een derde partij
ProspectStatus=Prospect status
PL_NONE=Geen
PL_UNKNOWN=Onbekend
PL_LOW=Laag
PL_MEDIUM=Medium
PL_HIGH=Hoog
TE_UNKNOWN=-
DeleteFile=Verwijder bestand
ConfirmDeleteFile=Weet u zeker dat u dit bestand wilt verwijderen?
AllocateCommercial=Toewijzing van een commerciële
SelectCountry=Kies een land
SelectCompany=Selecteer een derde partij
Organization=Organisatie
AutomaticallyGenerated=Automatisch gegenereerd
FiscalYearInformation=Informatie over het fiscale jaar
FiscalMonthStart=Startmaand van het boekjaar
TigreNumRefModelDesc1=Terugkeer een aanpasbare klant / leverancier aantal volgens een omschreven masker.
# Dolibarr language file - nl_BE - companies =
CHARSET = UTF-8
ErrorCompanyNameAlreadyExists = Bedrijfsnaam %s bestaat reeds. Kies een andere naam.
ErrorPrefixAlreadyExists = Prefix %s bestaat reeds. Kies een ander prefix.
ErrorSetACountryFirst = Kies het land eerst
SelectThirdParty = Selecteer derde partij
DeleteThirdParty = Verwijder een derde partij
ConfirmDeleteCompany = Bent u zeker dat u dit bedrijf en alle bijhorende informatie wil verwijderen?
DeleteContact = Verwijder een contactpersoon
ConfirmDeleteContact = Weet u zeker dat u deze contactpersoon met alle gegevens wil verwijderen?
MenuNewThirdParty = Nieuwe derde partij
MenuNewCompany = Nieuw bedrijf
MenuNewCustomer = Nieuwe klant
MenuNewProspect = Nieuwe potentiële klant
MenuNewSupplier = Nieuwe leverancier
MenuNewPrivateIndividual = Nieuwe particulier
MenuSocGroup = Groepen
NewCompany = Nieuwe derde partij (potentiële klant, klant, leverancier,...)
NewThirdParty = Nieuwe derde partij (potentiële klant, klant, leverancier,...)
NewSocGroup = Nieuw bedrijvengroep
NewPrivateIndividual = Nieuwe particulier (potentiële klant, klant, leverancier)
ProspectionArea = Potentiëel gebied
SocGroup = Groep van bedrijven
IdThirdParty = Id derde partij
IdCompany = Bedrijfs-id
IdContact = Contact-id
Contacts = Contacten
ThirdPartyContacts = Contactpersonen
ThirdPartyContact = Contactpersoon
StatusContactValidated = Status van contactpersoon
Company = Bedrijf
CompanyName = Bedrijfsnaam
Companies = Bedrijven
CountryIsInEEC = Land binnen de Europese Economische Gemeenschap
ThirdPartyName = Naam
ThirdParty = Derde partij
ThirdParties = Derde partijen
ThirdPartyAll = Derde partijen (allemaal)
ThirdPartyProspects = Potentiële klant
ThirdPartyCustomers = Klanten
ThirdPartyCustomersWithIdProf12 = Klanten met %s of %s
ThirdPartySuppliers = Leveranciers
ThirdPartyType = Derde partij soort
Company/Fundation = Organisatie
Individual = Particulier
ToCreateContactWithSameName = Maakt automatisch een fysiek contact aan met dezelfde informatie
ParentCompany = Moederbedrijf
Subsidiary = Dochteronderneming
Subsidiaries = Dochterondernemingen
NoSubsidiary = Geen dochteronderneming
ReportByCustomers = Verslag door klanten
ReportByQuarter = Verslag per kwartaal
CivilityCode = Civility code
RegisteredOffice = Geregistreerd kantoor
Name = Naam
Lastname = Familienaam
Firstname = Voornaam
PostOrFunction = Functie
UserTitle = Titel
Surname = Familienaam/Pseudoniem
Address = Adres
State = Provincie
Region = Gebied
Country = Land
CountryCode = Landcode
CountryId = Land ID
Phone = Tel.nr.
PhonePro = Prof. tel.nr.
PhonePerso = Pers. tel.nr.
PhoneMobile = Mobiel nr.
Fax = Fax
Zip = Postcode
Town = Stad / Gemeente
Web = Website
Poste =
DefaultLang = Standaard taal
VATIsUsed = Aan BTW onderworpen
VATIsNotUsed = Niet onderworpen aan BTW
##### Local Taxes ##### =
LocalTax1IsUsedES =
LocalTax1IsNotUsedES =
LocalTax2IsUsedES =
LocalTax2IsNotUsedES =
ThirdPartyEMail = %s
WrongCustomerCode = Klantencode ongeldig
WrongSupplierCode = Leverancierscode ongeldig
CustomerCodeModel = Klantencode model
SupplierCodeModel = Leverancierscode model
Gencod = Streepjescode
##### Professional ID ##### =
ProfId1Short = Prof id 1
ProfId2Short = Prof id 2
ProfId3Short = Prof id 3
ProfId4Short = Prof id 4
ProfId5Short =
ProfId6Short =
ProfId1 = Professioneel ID 1
ProfId2 = Professioneel ID 2
ProfId3 = Professioneel ID 3
ProfId4 = Professioneel ID 4
ProfId5 = Professioneel ID 5
ProfId6 = Professioneel ID 6
ProfId1AR =
ProfId2AR =
ProfId3AR =
ProfId4AR =
ProfId5AR =
ProfId6AR =
ProfId1AU = ABN
ProfId2AU = -
ProfId3AU = -
ProfId4AU = -
ProfId5AU =
ProfId6AU =
ProfId1BE = Professioneel nummer
ProfId2BE = -
ProfId3BE = RPR
ProfId4BE = -
ProfId5BE =
ProfId6BE =
ProfId1BR =
ProfId2BR =
ProfId3BR =
ProfId4BR =
#ProfId5BR=CNAE =
#ProfId6BR=INSS =
ProfId1CH = -
ProfId2CH = -
ProfId3CH = Prof. id 1 (Federale nummer)
ProfId4CH = Prof. id 2 (Commerciële Record aantal)
ProfId5CH =
ProfId6CH =
ProfId1CL =
ProfId2CL =
ProfId3CL =
ProfId4CL =
ProfId5CL =
ProfId6CL =
ProfId1CO =
ProfId2CO =
ProfId3CO =
ProfId4CO =
ProfId5CO =
ProfId6CO =
ProfId1DE =
ProfId2DE =
ProfId3DE =
ProfId4DE =
ProfId5DE =
ProfId6DE =
ProfId1ES =
ProfId2ES =
ProfId3ES =
ProfId4ES =
ProfId5ES =
ProfId6ES =
ProfId1FR = SIREN
ProfId2FR = SIRET
ProfId3FR = NAF (Old APE)
ProfId4FR = RCS/RM
ProfId5FR =
ProfId6FR =
ProfId1GB = Registratienummer
ProfId2GB = -
ProfId3GB = SIC
ProfId4GB = -
ProfId5GB =
ProfId6GB =
ProfId1HN =
ProfId2HN =
ProfId3HN =
ProfId4HN =
ProfId5HN =
ProfId6HN =
ProfId1IN =
ProfId2IN =
ProfId3IN =
ProfId4IN =
ProfId5IN =
ProfId6IN =
ProfId1MA =
ProfId2MA =
ProfId3MA =
ProfId4MA =
ProfId5MA =
ProfId6MA =
ProfId1MX =
ProfId2MX =
ProfId3MX =
ProfId4MX =
ProfId5MX =
ProfId6MX =
ProfId1NL =
ProfId2NL =
ProfId3NL =
ProfId4NL =
ProfId5NL =
ProfId6NL =
ProfId1PT = NIPC
ProfId2PT = Nummer sociale zekerheid
ProfId3PT = Nummer Commercial Record
ProfId4PT = Conservatory
ProfId5PT =
ProfId6PT =
ProfId1SN =
ProfId2SN =
ProfId3SN =
ProfId4SN =
ProfId5SN =
ProfId6SN =
ProfId1TN = Prof. id 1 (RC)
ProfId2TN = Prof. id 2 (Fiscale matricule)
ProfId3TN = Prof. Id 3 (Douane-code)
ProfId4TN = Prof. id 4 (BAN)
ProfId5TN =
ProfId6TN =
ProfId1RU =
ProfId2RU =
ProfId3RU =
ProfId4RU =
ProfId5RU =
ProfId6RU =
VATIntra = BTW nummer
VATIntraShort = BTW nummer
VATIntraVeryShort = BTW
VATIntraSyntaxIsValid = Syntax is geldig
VATIntraValueIsValid = Waarde is geldig
ProspectCustomer = Potentiële klant / Klant
Prospect = Potentiële klant
CustomerCard = Klantenkaart
Customer = Klant
CustomerDiscount = Klantenkorting
CustomerRelativeDiscount = Relatieve klantenkorting
CustomerAbsoluteDiscount = Absolute klantenkorting
CustomerRelativeDiscountShort = Relatieve korting
CustomerAbsoluteDiscountShort = Absolute korting
CompanyHasRelativeDiscount = Deze klant heeft een korting van <b>%s%%</b>
CompanyHasNoRelativeDiscount = Deze klant heeft geen standaard relatieve korting
CompanyHasAbsoluteDiscount = Deze klant heeft nog een absolute korting van <b>%s %s</b>
CompanyHasCreditNote = Deze klant heeft nog creditnota's voor <b>%s %s</b>
CompanyHasNoAbsoluteDiscount = Deze klant heeft geen absolute korting
CustomerAbsoluteDiscountAllUsers = Absolute korting (toegekend door alle gebruikers)
CustomerAbsoluteDiscountMy = Absolute korting (door uzelf toegekend)
DefaultDiscount = Standaard korting
AvailableGlobalDiscounts = Beschikbare absolute kortingen
DiscountNone = Geen
Supplier = Leverancier
CompanyList = Bedrijvenlijst
AddContact = Voeg contact toe
AddContactAddress =
EditContact =
EditContactAddress =
Contact = Contact
ContactsAddresses =
NoContactDefined = Geen contact gedefiniëerd voor deze derde partij
DefaultContact = Standaard contact
AddCompany = Voeg bedrijf toe
AddThirdParty = Voeg derde partij toe
DeleteACompany = Verwijder een bedrijf
PersonalInformations = Persoonlijke gegevens
AccountancyCode = Boekhoudkundige code
CustomerCode = Klantencode
SupplierCode = Leverancierscode
CustomerAccount = Klanten account
SupplierAccount = Leveranciers account
CustomerCodeDesc = Klantencode, uniek voor alle klanten
SupplierCodeDesc = Leverancierscode, uniek voor alle leveranciers
RequiredIfCustomer = Vereist als derde partij een klant of potentiële klant is
RequiredIfSupplier = Vereist als derde partij een leverancier is
ValidityControledByModule = Geldigheid gecontroleerd door module
ThisIsModuleRules = Dit zijn de regels voor deze module
LastProspect = Laatste
ProspectToContact = Potentiële klant naar contact
CompanyDeleted = Bedrijf "%s" verwijderd uit de databank.
ListOfContacts = Lijst van contacten
ListOfContactsAddresses =
ListOfProspectsContacts = Lijst van potentiële klanten contacten
ListOfCustomersContacts = Lijst van klanten contacten
ListOfSuppliersContacts = Lijst van leveranciers contacten
ListOfCompanies = Lijst van bedrijven
ListOfThirdParties = Lijst van derde partijen
ShowCompany = Toon bedrijf
ShowContact = Toon contact
ContactsAllShort = Allemaal (geen filter)
ContactType = Contact type
ContactForOrders = Contact voor bestellingen
ContactForProposals = Contact voor voorstellen
ContactForContracts = Contact voor contracten
ContactForInvoices = Contact voor facturen
NoContactForAnyOrder = Dit contact is geen contact voor een order
NoContactForAnyProposal = Dit contact is geen contact voor een commerciëel voorstel
NoContactForAnyContract = Dit contact is geen contact voor een contract
NoContactForAnyInvoice = Dit contact is geen contact voor een factuur
NewContact = Nieuw contact
NewContactAddress =
LastContacts = Laatste contacten
MyContacts = Mijn contacten
Phones = Tel.nrs.
Capital = Kapitaal
CapitalOf = Kapitaal van %s
EditCompany = Aanpassen bedrijf
EditDeliveryAddress = Bewerk leveringsadres
ThisUserIsNot = Deze gebruiker is geen potentiële klant, klant of leverancier
VATIntraCheck = Controleer
VATIntraCheckDesc = De verbinding <b>%s</b> laat toe de europeese BTW testservice te bevragen. Een toegang tot het internet vanaf de server is vereist om deze dienst te laten werken.
VATIntraCheckURL = http://ec.europa.eu/taxation_customs/vies/vieshome.do
VATIntraCheckableOnEUSite = Check Intracomunnautary VAT on European commision site
VATIntraManualCheck = U kan dit ook manueel raadplegen via de europese website <a href="%s" target="_blank">%s</a>
ErrorVATCheckMS_UNAVAILABLE = Test niet mogelijk. Testservice wordt niet voorzien door de lidstaat (%s).
NorProspectNorCustomer = Geen potentiële klant of klant
JuridicalStatus = Juridische status
Staff = Personeel
ProspectLevelShort = Potentiëel
ProspectLevel = Prospect potentiële
ContactPrivate = Privé
ContactPublic = Gedeelde
ContactVisibility = Zichtbaarheid
OthersNotLinkedToThirdParty = Anderen, die niet gebonden zijn aan een derde partij
ProspectStatus = Prospect status
PL_NONE = Geen
PL_UNKNOWN = Onbekend
PL_LOW = Laag
PL_MEDIUM = Medium
PL_HIGH = Hoog
TE_UNKNOWN = -
TE_STARTUP = Starter
TE_GROUP = Groot bedrijf
TE_MEDIUM = Middelgroot bedrijf
TE_ADMIN = Overheidsinstelling
TE_SMALL = Klein bedrijf
TE_RETAIL = Detailhandelaar
TE_WHOLE = Groothandelaar
TE_PRIVATE = Privé persoon
TE_OTHER = Ander
StatusProspect-1 = Niet contacteren
StatusProspect0 = Nooit gecontacteerd
StatusProspect1 = Te contacteren
StatusProspect2 = Contact gaande
StatusProspect3 = Contact afgelopen
ChangeDoNotContact = Verander toestand naar 'Niet contacteren'
ChangeNeverContacted = Verander toestand naar 'Nooit gecontacteerd'
ChangeToContact = Verander toestand naar 'Te contacteren'
ChangeContactInProcess = Verander toestand naar 'Contact gaande'
ChangeContactDone = Verander toestand naar 'Contact afgelopen'
ProspectsByStatus = Potentiële klanten volgens status
BillingContact = Facturatie contact
NbOfAttachedFiles = Lijst van toegevoegde bestanden
AttachANewFile = Voeg een nieuw bestand toe
NoRIB = Geen RIB definieerd
NoParentCompany = Geen
ExportImport = Import-Export
ExportCardToFormat = Exporteer kaart naar formaat
ContactNotLinkedToCompany = Contact niet verbonden met een derde partij
DolibarrLogin = Dolibarr login
NoDolibarrAccess = Geen Dolibarr toegang
ExportDataset_company_1 = Bedrijven/verenigingen en eigenschappen
ExportDataset_company_2 = Contacten en eigenschappen
ImportDataset_company_1 =
ImportDataset_company_2 =
PriceLevel =
DeliveriesAddress = Leveringsadressen
DeliveryAddress = leveringsadres
DeliveryAddressLabel = leveringsadres label
DeleteDeliveryAddress = Verwijder een leveringsadres
ConfirmDeleteDeliveryAddress = Bent u zeker dat u dit leveringsadres wil verwijderen?
NewDeliveryAddress = Nieuw leveringsadres
AddDeliveryAddress = Voeg adres toe
AddAddress = Voeg adres toe
NoOtherDeliveryAddress = Geen alternatieve leveringsadres gedefiniëerd
SupplierCategory =
JuridicalStatus200 = Zelfstandige
DeleteFile = Verwijder bestand
ConfirmDeleteFile = Weet u zeker dat u dit bestand wilt verwijderen?
AllocateCommercial = Toewijzing van een commerciële
SelectCountry = Kies een land
SelectCompany = Selecteer een derde partij
Organization = Organisatie
AutomaticallyGenerated = Automatisch gegenereerd
FiscalYearInformation = Informatie over het fiscale jaar
FiscalMonthStart = Startmaand van het boekjaar
YouMustCreateContactFirst =
ListSuppliersShort =
ListProspectsShort =
ListCustomersShort =
ThirdPartiesArea =
LastModifiedThirdParties =
UniqueThirdParties =
InActivity =
ActivityCeased =
ActivityStateFilter =
# Monkey =
MonkeyNumRefModelDesc =
# Leopard =
LeopardNumRefModelDesc =

View File

@ -43,7 +43,7 @@ ECMDocsByOrders=Documenten in verband met klantenbestellingen
ECMDocsByContracts=Documenten in verband met contracten
ECMDocsByInvoices=Documenten in verband met klantenfacturen
ECMDocsByProducts=Documenten in verband met producten
ECMNoDirectoryYet=Geen directorie aangemaakt
ECMNoDirecotyYet=Geen directorie aangemaakt
ShowECMSection=Toon directorie
DeleteSection=Verwijder directorie
ConfirmDeleteSection=Kunt u bevestigen dat u directorie <b>%s</b> wilt verwijderen?

View File

@ -1,4 +1,4 @@
# Dolibarr language file - nl_BE - main
# Dolibarr language file - nl_BE - main
CHARSET=UTF-8
SeparatorDecimal=,
SeparatorThousand=
@ -53,8 +53,8 @@ Name=Naam
Parameter=Parameter
Parameters=Parameters
Value=Waarde
Code=de code
Type=Het type
Code=Code
Type=Type
Language=Taal
Note=Aantekening
Label=Het etiket
@ -66,7 +66,7 @@ About=Over
Number=Aantal
DevelopmentTeam=Ontwikkelingsteam
Logout=Uitloggen
Setup=Opstelling
Setup=Configuratie
Alert=Alarm
Previous=Vorig
Next=Volgend
@ -375,7 +375,7 @@ File=Bestand
Files=Bestanden
NotAllowed=Niet toegestaan
ReadPermissionNotAllowed=Lees toestemming niet toegestaan
AmountInCurrency=Bedrag in %s valuta
AmountInCurrency=Bedrag in %s
Example=Voorbeeld
NoExample=Geen voorbeeld
FindBug=Rapporteer een bug

View File

@ -1,4 +1,4 @@
# Dolibarr language file - nl_NL - orders
# Dolibarr language file - nl_BE - orders
CHARSET=UTF-8
OrdersArea=Bestellings gebied
OrderCard=Bestellingskaart

View File

@ -78,6 +78,24 @@ EMailTextOrderApproved=Bestelling %s goedgekeurd
EMailTextOrderApprovedBy=Bestelling % is goedgekeurd door %s
EMailTextOrderRefused=Bestelling %s geweigerd
EMailTextOrderRefusedBy=Bestelling %s geweigerd door %s
Bookmark=Bladwijzer
Bookmarks=Bladwijzers
NewBookmark=Nieuwe bladwijzer
ShowBookmark=Toon bladwijzer
BookmarkThisPage=Maak bladwijzer van deze pagina
OpenANewWindow=Open een nieuw venster
ReplaceWindow=Vervang huidig venster
BookmarkTargetNewWindowShort=Nieuw venster
BookmarkTargetReplaceWindowShort=Huidig venster
BookmarkTitle=Titel van de bladwijzer
UrlOrLink=URL
BehaviourOnClick=Gedrag bij het klikken op URL
CreateBookmark=Maak bladwijzer
SetHereATitleForLink=Stel hier een titel in voor de bladwijzer
UseAnExternalHttpLinkOrRelativeDolibarrLink=Gebruik een externe URL of een relatieve URL van Dolibarr
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Selecteer of de bladwijzer moet openen in een nieuw venster of in het huidig venster van de pagina
BookmarksManagement=Bladwijzer beheer
ListOfBookmarks=Lijst van bladwijzers
ErrorWebcalLoginNotDefined=The Webcalendar login associated to your Dolibarr login <b>%s</b> is not defined.
ErrorPhenixLoginNotDefined=The Phenix login associated to your Dolibarr login <b>%s</b> is not defined.
AddCalendarEntry=Voeg item toe in kalender %s

View File

@ -1,4 +1,4 @@
# Dolibarr language file - nl_BE - trips
# Dolibarr language file - nl_BE - trips
CHARSET=UTF-8
Trip=Verplaatsing
Trips=Verplaatsingen

View File

@ -1520,7 +1520,8 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me
print '<a class="help" target="_blank" title="'.$langs->trans($mode == 'wiki' ? 'GoToWikiHelpPage': 'GoToHelpPage');
if ($mode == 'wiki') print ' - '.$langs->trans("PageWiki").' &quot;'.dol_escape_htmltag(strtr($helppage,'_',' ')).'&quot;';
print '" href="';
print sprintf($helpbaseurl,urlencode(html_entity_decode($helppage)));
if ($mode == 'wiki') print sprintf($helpbaseurl,urlencode(html_entity_decode($helppage)));
else print sprintf($helpbaseurl,$helppage);
print '">';
print img_picto('', 'helpdoc').' ';
print $langs->trans($mode == 'wiki' ? 'OnlineHelp': 'Help');
@ -1612,7 +1613,7 @@ function main_area($title='')
/**
* Return helpbaseurl, helppage and mode
*
* @param string $helppagename Page name (EN:xxx,ES:eee,FR:fff...)
* @param string $helppagename Page name ('EN:xxx,ES:eee,FR:fff...' or 'http://localpage')
* @param Translate $langs Language
* @return array Array of help urls
*/

View File

@ -335,7 +335,7 @@ class Product extends CommonObject
$result = $this->_log_price($user);
if ($result > 0)
{
if ($this->update($id, $user, true) > 0)
if ($this->update($id, $user, true, 'add') > 0)
{
// FIXME: not use here
/*
@ -413,9 +413,10 @@ class Product extends CommonObject
* @param int $id Id of product
* @param User $user Object user making update
* @param int $notrigger Disable triggers
* @param string $action Current action for hookmanager
* @return int 1 if OK, -1 if ref already exists, -2 if other error
*/
function update($id, $user, $notrigger=false)
function update($id, $user, $notrigger=false, $action='update')
{
global $langs, $conf;
@ -506,11 +507,14 @@ class Product extends CommonObject
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
if (empty($reshook))
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
}
}
else if ($reshook < 0) $error++;
@ -3021,4 +3025,4 @@ class Product extends CommonObject
$this->note='This is a comment (private)';
}
}
?>
?>

View File

@ -1,7 +1,7 @@
<?php
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005 Brice Davoleau <brice.davoleau@gmail.com>
* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2006-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
@ -32,12 +32,10 @@ require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$langs->load("companies");
$mesg=isset($_GET["mesg"])?'<div class="ok">'.$_GET["mesg"].'</div>':'';
// Security check
$socid = GETPOST('socid','int');
if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'societe', $socid);
$result = restrictedArea($user, 'societe', $socid, '&societe');
/*
@ -145,9 +143,6 @@ if ($socid)
print '</div>';
dol_htmloutput_mesg($mesg);
/*
* Barre d'action
*/

View File

@ -580,11 +580,14 @@ class Societe extends CommonObject
$reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks
if (empty($reshook))
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
{
$result=$this->insertExtraFields();
if ($result < 0)
{
$error++;
}
}
}
else if ($reshook < 0) $error++;
@ -842,6 +845,7 @@ class Societe extends CommonObject
* @param array $filters Array of couple field name/value to filter the companies with the same name
* @param boolean $exact Exact string search (true/false)
* @param boolean $case Case sensitive (true/false)
* @param boolean $similar Add test if string inside name into database, or name into database inside string. Do not use this: Not compatible with other database.
* @param string $clause Clause for filters
* @return array Array of thirdparties object
*/
@ -877,7 +881,8 @@ class Societe extends CommonObject
$sql.= "(";
if ($similar)
{
// For test similitude
// For test similitude (string inside name into database, or name into database inside string)
// Do not use this. Not compatible with other database.
$sql.= "(LOCATE('".$this->db->escape($name)."', nom) > 0 OR LOCATE(nom, '".$this->db->escape($name)."') > 0)";
}
else

View File

@ -1262,7 +1262,7 @@ else
print '<td>'.$langs->trans('Fax').'</td><td><input type="text" name="fax" value="'.$object->fax.'"></td></tr>';
// EMail / Web
print '<tr><td>'.$langs->trans('EMail').($conf->global->SOCIETE_MAIL_REQUIRED?'*':'').'</td><td><input type="text" name="email" size="32" value="'.$object->email.'"></td>';
print '<tr><td>'.$langs->trans('EMail').(! empty($conf->global->SOCIETE_MAIL_REQUIRED)?'*':'').'</td><td><input type="text" name="email" size="32" value="'.$object->email.'"></td>';
print '<td>'.$langs->trans('Web').'</td><td><input type="text" name="url" size="32" value="'.$object->url.'"></td></tr>';
// Prof ids

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -628,7 +628,7 @@ class UserGroup extends CommonObject
$sql.= ", note = '" . $this->db->escape($this->note) . "'";
$sql.= " WHERE rowid = " . $this->id;
dol_syslog("Usergroup::update sql=".$sql);
dol_syslog(get_class($this)."::update sql=".$sql);
$resql = $this->db->query($sql);
if ($resql)
{

View File

@ -139,7 +139,7 @@ class PricesTest extends PHPUnit_Framework_TestCase
$result1=calcul_price_total(1, 1.24, 0, 10, 0, 0, 0, 'HT', 0, 0);
print __METHOD__." result1=".join(', ',$result1)."\n";
// result[0,1,2,3,4,5,6,7,8] (total_ht, total_vat, total_ttc, pu_ht, pu_tva, pu_ttc, total_ht_without_discount, total_vat_without_discount, total_ttc_without_discount)
$this->assertEquals(array(1.24, 0.12, 1.36, 1.24, 0.124, 1.364, 1.24, 0.12, 1.36, 0, 0, 0, 0, 0, 0, 0),$result1);
$this->assertEquals(array(1.24, 0.12, 1.36, 1.24, 0.124, 1.364, 1.24, 0.12, 1.36, 0, 0, 0, 0, 0, 0, 0),$result1,'Test1');
// 10 * 10 HT - 0% discount with 10% vat and 1.4% localtax1 type 1, 0% localtax2 type 0 (method we provide value)
$mysoc->country_code='ES';
@ -148,7 +148,7 @@ class PricesTest extends PHPUnit_Framework_TestCase
$mysoc->localtax2_assuj=0;
$result2=calcul_price_total(10, 10, 0, 10, 1.4, 0, 0, 'HT', 0, 0);
print __METHOD__." result2=".join(', ',$result2)."\n";
$this->assertEquals(array(100, 10, 111.4, 10, 1, 11.14, 100, 10, 111.4, 1.4, 0, 0.14, 0, 0, 1.4, 0),$result2);
$this->assertEquals(array(100, 10, 111.4, 10, 1, 11.14, 100, 10, 111.4, 1.4, 0, 0.14, 0, 0, 1.4, 0),$result2,'Test2');
// 10 * 10 HT - 0% discount with 10% vat and 1.4% localtax1 type 1, 0% localtax2 type 0 (other method autodetect)
$mysoc->country_code='ES';
@ -157,7 +157,7 @@ class PricesTest extends PHPUnit_Framework_TestCase
$mysoc->localtax2_assuj=0;
$result2=calcul_price_total(10, 10, 0, 10, -1, -1, 0, 'HT', 0, 0);
print __METHOD__." result2=".join(', ',$result2)."\n";
$this->assertEquals(array(100, 10, 111.4, 10, 1, 11.14, 100, 10, 111.4, 1.4, 0, 0.14, 0, 0, 1.4, 0),$result2);
$this->assertEquals(array(100, 10, 111.4, 10, 1, 11.14, 100, 10, 111.4, 1.4, 0, 0.14, 0, 0, 1.4, 0),$result2,'Test3');
// 10 * 10 HT - 0% discount with 10% vat, seller not using localtax1, nor localtax2 (method we provide value)
$mysoc->country_code='ES';
@ -167,7 +167,7 @@ class PricesTest extends PHPUnit_Framework_TestCase
$result3=calcul_price_total(10, 10, 0, 10, 0, 0, 0, 'HT', 0, 0); // 10 * 10 HT - 0% discount with 10% vat and 1.4% localtax1, 0% localtax2
print __METHOD__." result3=".join(', ',$result3)."\n";
// result[0,1,2,3,4,5,6,7,8] (total_ht, total_vat, total_ttc, pu_ht, pu_tva, pu_ttc, total_ht_without_discount, total_vat_without_discount, total_ttc_without_discount)
$this->assertEquals(array(100, 10, 110, 10, 1, 11, 100, 10, 110, 0, 0, 0, 0, 0, 0, 0),$result3);
$this->assertEquals(array(100, 10, 110, 10, 1, 11, 100, 10, 110, 0, 0, 0, 0, 0, 0, 0),$result3,'Test4');
//$this->assertEquals(array(100, 10, 111.4, 10, 1, 11.14, 100, 10, 111.4, 1.4, 0, 0.14, 0, 0, 1.4, 0),$result3);
// 10 * 10 HT - 0% discount with 10% vat, seller not using localtax1, nor localtax2 (other method autodetect)
@ -178,7 +178,7 @@ class PricesTest extends PHPUnit_Framework_TestCase
$result3=calcul_price_total(10, 10, 0, 10, -1, -1, 0, 'HT', 0, 0); // 10 * 10 HT - 0% discount with 10% vat and 1.4% localtax1, 0% localtax2
print __METHOD__." result3=".join(', ',$result3)."\n";
// result[0,1,2,3,4,5,6,7,8] (total_ht, total_vat, total_ttc, pu_ht, pu_tva, pu_ttc, total_ht_without_discount, total_vat_without_discount, total_ttc_without_discount)
$this->assertEquals(array(100, 10, 110, 10, 1, 11, 100, 10, 110, 0, 0, 0, 0, 0, 0, 0),$result3);
$this->assertEquals(array(100, 10, 110, 10, 1, 11, 100, 10, 110, 0, 0, 0, 0, 0, 0, 0),$result3,'Test5');
//$this->assertEquals(array(100, 10, 111.4, 10, 1, 11.14, 100, 10, 111.4, 1.4, 0, 0.14, 0, 0, 1.4, 0),$result3);
return true;