diff --git a/ChangeLog b/ChangeLog index f561168c23b..c400db96fe9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -89,6 +89,13 @@ Fix: Action event SHIPPING_VALIDATE is not implemented Fix: The customer code was set to uppercase when using numbering module leopard. We must keep data safe of any change. Fix: Loading actions extrafields fails. +Fix: [ bug #1123 ] Paid deposit invoices are always shown as partially paid when fully paid +Fix: Corrected project contact types translation. +Fix: [ bug #1206 ] PMP price is bad calculated. +Fix: [ bug #520 ] Product statistics and detailed lists are wrong. +Fix: [ bug #1240 ] traduction. +Fix: [ bug #1238 ] When creating accompte with a %, free product are used for calculation. +Fix: [ bug #1280 ] service with not end of date was tagged as expired. ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 825f3047e27..7545912588d 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -16,9 +16,6 @@ use Cwd; $PROJECT="dolibarr"; -$MAJOR="3"; -$MINOR="6"; -$BUILD="0-dev"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate $RPMSUBVERSION="auto"; # auto use value found into BUILD @LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages @@ -40,15 +37,6 @@ $RPMSUBVERSION="auto"; # auto use value found into BUILD "makensis.exe"=>"NSIS" ); -$FILENAME="$PROJECT"; -$FILENAMESNAPSHOT="$PROJECT-snapshot"; -$FILENAMETGZ="$PROJECT-$MAJOR.$MINOR.$BUILD"; -$FILENAMEZIP="$PROJECT-$MAJOR.$MINOR.$BUILD"; -$FILENAMEXZ="$PROJECT-$MAJOR.$MINOR.$BUILD"; -$FILENAMERPM="$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION"; -$FILENAMEDEB="see later"; -$FILENAMEAPS="$PROJECT-$MAJOR.$MINOR.$BUILD.app"; -$FILENAMEEXEDOLIWAMP="DoliWamp-$MAJOR.$MINOR.$BUILD"; if (-d "/usr/src/redhat") { $RPMDIR="/usr/src/redhat"; } # redhat if (-d "/usr/src/packages") { $RPMDIR="/usr/src/packages"; } # opensuse if (-d "/usr/src/RPM") { $RPMDIR="/usr/src/RPM"; } # mandrake @@ -120,6 +108,28 @@ if (! $TEMP || ! -d $TEMP) { $BUILDROOT="$TEMP/buildroot"; +# Get version $MAJOR, $MINOR and $BUILD +$result = open( IN, "<" . $SOURCE . "/htdocs/filefunc.inc.php" ); +if ( !$result ) { die "Error: Can't open descriptor file " . $SOURCE . "/htdocs/filefunc.inc.php\n"; } +while () { + if ( $_ =~ /define\('DOL_VERSION','([\d\.]+)'\)/ ) { $PROJVERSION = $1; break; } +} +close IN; +($MAJOR,$MINOR,$BUILD)=split(/\./,$PROJVERSION,3); +if ($MINOR eq '') { die "Error can't detect version into ".$SOURCE . "/htdocs/filefunc.inc.php"; } + +# Set vars for packaging +$FILENAME = "$PROJECT"; +$FILENAMESNAPSHOT = "$PROJECT-snapshot"; +$FILENAMETGZ = "$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMEZIP = "$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMEXZ = "$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMERPM = "$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION"; +$FILENAMEDEB = "see later"; +$FILENAMEAPS = "$PROJECT-$MAJOR.$MINOR.$BUILD.app"; +$FILENAMEEXEDOLIWAMP = "DoliWamp-$MAJOR.$MINOR.$BUILD"; + + my $copyalreadydone=0; # Use "-" before number of choice to avoid copy my $batch=0; for (0..@ARGV-1) { @@ -133,7 +143,6 @@ for (0..@ARGV-1) { if ($ENV{"DESTIBETARC"} && $BUILD =~ /[a-z]/i) { $DESTI = $ENV{"DESTIBETARC"}; } # Force output dir if env DESTI is defined if ($ENV{"DESTISTABLE"} && $BUILD =~ /^[0-9]+$/) { $DESTI = $ENV{"DESTISTABLE"}; } # Force output dir if env DESTI is defined - print "Makepack version $VERSION\n"; print "Building package name: $PROJECT\n"; print "Building package version: $MAJOR.$MINOR.$BUILD\n"; diff --git a/build/makepack-howto.txt b/build/makepack-howto.txt index 5a130227945..dc149c5e0b8 100644 --- a/build/makepack-howto.txt +++ b/build/makepack-howto.txt @@ -10,7 +10,6 @@ beta version of Dolibarr, step by step. - Check all files are commited. - Update version/info in /ChangeLog - Update version number with x.y.z-w in htdocs/filefunc.inc.php -- Update version number with x.y.z-w in build/makepack-dolibarr.pl - Update version number with x.y.z-w in build/debian/changelog - Update version number with x.y.z-w in build/exe/doliwamp/doliwamp.iss - Update version number with x.y.z-w in build/rpm/*.spec @@ -34,7 +33,6 @@ complete release of Dolibarr, step by step. - Check all files are commited. - Update version/info in ChangeLog - Update version number with x.y.z in htdocs/filefunc.inc.php -- Update version number with x.y.z in build/makepack-dolibarr.pl - Update version number with x.y.z in build/debian/changelog - Update version number with x.y.z in build/exe/doliwamp/doliwamp.iss - Update version number with x.y.z in build/rpm/*.spec diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index f79dc389268..c2d2aa69d61 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -165,12 +165,16 @@ print '
'; +dol_fiche_end(); + print '
'; + /* * Notifications */ +/* Disable this, there is no trigger with elementtype 'withdraw' if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) { $langs->load("mails"); @@ -242,41 +246,43 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) print ''; print ''; + + // List of current notifications for objet_type='withdraw' + $sql = "SELECT u.lastname, u.firstname,"; + $sql.= " nd.rowid, ad.code, ad.label"; + $sql.= " FROM ".MAIN_DB_PREFIX."user as u,"; + $sql.= " ".MAIN_DB_PREFIX."notify_def as nd,"; + $sql.= " ".MAIN_DB_PREFIX."c_action_trigger as ad"; + $sql.= " WHERE u.rowid = nd.fk_user"; + $sql.= " AND nd.fk_action = ad.rowid"; + $sql.= " AND u.entity IN (0,".$conf->entity.")"; + + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; + $var = false; + while ($i < $num) + { + $obj = $db->fetch_object($resql); + $var=!$var; + + print ""; + print ''.dolGetFirstLastname($obj->firstname,$obj->lastname).''; + $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label); + print ''.$label.''; + print 'rowid.'">'.img_delete().''; + print ''; + $i++; + } + $db->free($resql); + } + + print ''; + print ''; } -// List of current notifications for objet_type='withdraw' -$sql = "SELECT u.lastname, u.firstname,"; -$sql.= " nd.rowid, ad.code, ad.label"; -$sql.= " FROM ".MAIN_DB_PREFIX."user as u,"; -$sql.= " ".MAIN_DB_PREFIX."notify_def as nd,"; -$sql.= " ".MAIN_DB_PREFIX."c_action_trigger as ad"; -$sql.= " WHERE u.rowid = nd.fk_user"; -$sql.= " AND nd.fk_action = ad.rowid"; -$sql.= " AND u.entity IN (0,".$conf->entity.")"; - -$resql = $db->query($sql); -if ($resql) -{ - $num = $db->num_rows($resql); - $i = 0; - $var = false; - while ($i < $num) - { - $obj = $db->fetch_object($resql); - $var=!$var; - - print ""; - print ''.dolGetFirstLastname($obj->firstname,$obj->lastname).''; - $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label); - print ''.$label.''; - print 'rowid.'">'.img_delete().''; - print ''; - $i++; - } - $db->free($resql); -} - -print ''; -print ''; +*/ $db->close(); diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index f017009fe79..972cee73a76 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -116,14 +116,14 @@ if ($action == 'add_action') { $error++; $action = 'create'; - $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->trans("DateEnd")).'
'; + $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DateEnd")).'
'; } if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && ! GETPOST('label')) { $error++; $action = 'create'; - $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->trans("Title")).'
'; + $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Title")).'
'; } // Initialisation objet cactioncomm @@ -131,7 +131,7 @@ if ($action == 'add_action') { $error++; $action = 'create'; - $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->trans("Type")).'
'; + $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")).'
'; } else { diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index db9a12669cc..64421622f28 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -825,11 +825,10 @@ else if ($action == 'updateligne' && $user->rights->propal->creer && GETPOST('sa } // Define special_code for special lines - $special_code = 0; - if (! GETPOST('qty')) - $special_code = 3; + $special_code=GETPOST('special_code'); + if (! GETPOST('qty')) $special_code=3; - // Check minimum price + // Check minimum price $productid = GETPOST('productid', 'int'); if (! empty($productid)) { $product = new Product($db); diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index b0a4f0d751f..25f4d458df3 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -2748,10 +2748,10 @@ class PropaleLigne extends CommonObject var $marge_tx; var $marque_tx; - var $special_code; // Liste d'options non cumulabels: + var $special_code; // Tag for special lines (exlusive tags) // 1: frais de port // 2: ecotaxe - // 3: ?? + // 3: option line (when qty = 0) var $info_bits = 0; // Liste d'options cumulables: // Bit 0: 0 si TVA normal - 1 si TVA NPR diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 384aa361e61..d08feba9b14 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -773,9 +773,13 @@ else if ($action == 'add' && $user->rights->facture->creer) { if ($result > 0) { $totalamount = 0; $lines = $srcobject->lines; - $numlines = count($lines); - for($i = 0; $i < $numlines; $i ++) { - $totalamount += $lines [$i]->total_ht; + $numlines=count($lines); + for ($i=0; $i<$numlines; $i++) + { + $qualified=1; + if (empty($lines[$i]->qty)) $qualified=0; // We discard qty=0, it is an option + if (! empty($lines[$i]->special_code)) $qualified=0; // We discard special_code (frais port, ecotaxe, option, ...) + if ($qualified) $totalamount += $lines[$i]->total_ht; } if ($totalamount != 0) { @@ -825,12 +829,12 @@ else if ($action == 'add' && $user->rights->facture->creer) { if (empty($lines) && method_exists($srcobject, 'fetch_lines')) $lines = $srcobject->fetch_lines(); - $fk_parent_line = 0; - $num = count($lines); - - for($i = 0; $i < $num; $i ++) { - $label = (! empty($lines [$i]->label) ? $lines [$i]->label : ''); - $desc = (! empty($lines [$i]->desc) ? $lines [$i]->desc : $lines [$i]->libelle); + $fk_parent_line=0; + $num=count($lines); + for ($i=0;$i<$num;$i++) + { + $label=(! empty($lines[$i]->label)?$lines[$i]->label:''); + $desc=(! empty($lines[$i]->desc)?$lines[$i]->desc:$lines[$i]->libelle); if ($lines [$i]->subprice < 0) { // Negative line, we create a discount line diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index 7ef5f44fb88..86ff46d2a53 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2014 Marcos García * * 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 @@ -209,7 +210,15 @@ class Paiement extends CommonObject } } - if ($invoice->type != 0 && $invoice->type != 1 && $invoice->type != 2) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note. We do nothing more."); + //Invoice types that are eligible for changing status to paid + $affected_types = array( + 0, + 1, + 2, + 3 + ); + + if (!in_array($invoice->type, $affected_types)) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note, nor deposit invoice. We do nothing more."); else if ($remaintopay) dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing more."); else if ($mustwait) dol_syslog("There is ".$mustwait." differed payment to process, we do nothing more."); else $result=$invoice->set_paid($user,'',''); diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index b7ad87e644d..c357d2ee8d9 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -569,7 +569,7 @@ class Contrat extends CommonObject if ($line->statut == 0) $this->nbofserviceswait++; if ($line->statut == 4 && (empty($line->date_fin_prevue) || $line->date_fin_prevue >= $now)) $this->nbofservicesopened++; - if ($line->statut == 4 && $line->date_fin_prevue < $now) $this->nbofservicesexpired++; + if ($line->statut == 4 && (! empty($line->date_fin_prevue) && $line->date_fin_prevue < $now)) $this->nbofservicesexpired++; if ($line->statut == 5) $this->nbofservicesclosed++; $total_ttc+=$objp->total_ttc; // TODO Not saved into database @@ -654,7 +654,7 @@ class Contrat extends CommonObject if ($line->statut == 0) $this->nbofserviceswait++; if ($line->statut == 4 && (empty($line->date_fin_prevue) || $line->date_fin_prevue >= $now)) $this->nbofservicesopened++; - if ($line->statut == 4 && $line->date_fin_prevue < $now) $this->nbofservicesexpired++; + if ($line->statut == 4 && (! empty($line->date_fin_prevue) && $line->date_fin_prevue < $now)) $this->nbofservicesexpired++; if ($line->statut == 5) $this->nbofservicesclosed++; $this->lines[] = $line; @@ -1799,7 +1799,7 @@ class ContratLigne */ function getLibStatut($mode) { - return $this->LibStatut($this->statut,$mode,(isset($this->date_fin_validite)?($this->date_fin_validite < dol_now()?1:0):-1)); + return $this->LibStatut($this->statut,$mode,((! empty($this->date_fin_validite))?($this->date_fin_validite < dol_now()?1:0):-1)); } /** diff --git a/htdocs/contrat/fiche.php b/htdocs/contrat/fiche.php index 4f59e4be4c3..e6396776168 100644 --- a/htdocs/contrat/fiche.php +++ b/htdocs/contrat/fiche.php @@ -92,17 +92,24 @@ if ($action == 'confirm_active' && $confirm == 'yes' && $user->rights->contrat-> else if ($action == 'confirm_closeline' && $confirm == 'yes' && $user->rights->contrat->activer) { - $object->fetch($id); - $result = $object->close_line($user, GETPOST('ligne'), GETPOST('dateend'), urldecode(GETPOST('comment'))); - - if ($result > 0) - { - header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); - exit; - } - else { - $mesg=$object->error; - } + if (! GETPOST('dateend')) + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DateEnd")),'errors'); + } + if (! $error) + { + $object->fetch($id); + $result = $object->close_line($user, GETPOST('ligne'), GETPOST('dateend'), urldecode(GETPOST('comment'))); + if ($result > 0) + { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } + else { + $mesg=$object->error; + } + } } // Si ajout champ produit predefini @@ -245,7 +252,7 @@ if ($action == 'add' && $user->rights->contrat->creer) for ($i=0;$i<$num;$i++) { $product_type=($lines[$i]->product_type?$lines[$i]->product_type:0); - + if ($product_type == 1) { //only services // TODO Exclude also deee // service prédéfini if ($lines[$i]->fk_product > 0) @@ -921,7 +928,7 @@ else { $result=$object->fetch($id,$ref); if ($result < 0) dol_print_error($db,$object->error); - $result=$object->fetch_lines(); + $result=$object->fetch_lines(); // This also init $this->nbofserviceswait, $this->nbofservicesopened, $this->nbofservicesexpired=, $this->nbofservicesclosed if ($result < 0) dol_print_error($db,$object->error); $result=$object->fetch_thirdparty(); if ($result < 0) dol_print_error($db,$object->error); @@ -1506,7 +1513,7 @@ else if ($objp->statut == 4) { print $langs->trans("DateEndReal").' '; - $form->select_date($dateactend,"end",$usehm,$usehm,($objp->date_fin_reelle>0?0:1),"closeline"); + $form->select_date($dateactend,"end",$usehm,$usehm,($objp->date_fin_reelle>0?0:1),"closeline",1,1); } } print ''; diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index f87cf169757..f9647c4e4ca 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -86,7 +86,7 @@ class box_graph_invoices_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->facture->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -95,7 +95,8 @@ class box_graph_invoices_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php index e732270c044..e985ca62912 100644 --- a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php @@ -85,7 +85,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->fournisseur->facture->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -94,7 +94,8 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index 704117834c4..ce4008761b7 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -86,7 +86,7 @@ class box_graph_orders_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->commande->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -95,7 +95,8 @@ class box_graph_orders_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php index 5267bf3ffb5..7abdd742d23 100644 --- a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php @@ -85,7 +85,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->fournisseur->commande->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -94,7 +94,8 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 725ef300125..dd8f7512eb1 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -86,7 +86,8 @@ class box_graph_product_distribution extends ModeleBoxes $param_showinvoicenb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showinvoicenb'; $param_showpropalnb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showpropalnb'; $param_showordernb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showordernb'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $year=GETPOST($param_year,'int'); $showinvoicenb=GETPOST($param_showinvoicenb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_propales_permonth.php b/htdocs/core/boxes/box_graph_propales_permonth.php index 58d00ce97fe..a934fb8e377 100644 --- a/htdocs/core/boxes/box_graph_propales_permonth.php +++ b/htdocs/core/boxes/box_graph_propales_permonth.php @@ -86,7 +86,7 @@ class box_graph_propales_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->propal->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -95,7 +95,8 @@ class box_graph_propales_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propalestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/fichinter/fiche.php b/htdocs/fichinter/fiche.php index 8af37f67361..3bf4e2fefd0 100644 --- a/htdocs/fichinter/fiche.php +++ b/htdocs/fichinter/fiche.php @@ -991,7 +991,7 @@ if ($action == 'create') // Contract if ($conf->contrat->enabled) { - $langs->load("contrat"); + $langs->load("contracts"); print ''.$langs->trans("Contract").''; $numcontrat=$formcontract->select_contract($soc->id,GETPOST('contratid','int'),'contratid',0,1); if ($numcontrat==0) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 6b3565f0672..ed9cd323597 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -224,7 +224,8 @@ class CommandeFournisseur extends CommonOrder $line->tva_tx = $objp->tva_tx; $line->localtax1_tx = $objp->localtax1_tx; $line->localtax2_tx = $objp->localtax2_tx; - $line->subprice = $objp->subprice; + $line->subprice = $objp->subprice; // deprecated + $line->pu_ht = $objp->subprice; // Unit price HT $line->remise_percent = $objp->remise_percent; $line->total_ht = $objp->total_ht; $line->total_tva = $objp->total_tva; @@ -635,7 +636,9 @@ class CommandeFournisseur extends CommonOrder { $mouvP = new MouvementStock($this->db); // We decrement stock of product (and sub-products) - $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("OrderApprovedInDolibarr",$this->ref)); + $up_ht_disc=$this->lines[$i]->subprice; + if (! empty($this->lines[$i]->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) $up_ht_disc=price2num($up_ht_disc * (100 - $this->lines[$i]->remise_percent) / 100, 'MU'); + $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $up_ht_disc, $langs->trans("OrderApprovedInDolibarr",$this->ref)); if ($result < 0) { $error++; } } } @@ -1228,7 +1231,7 @@ class CommandeFournisseur extends CommonOrder * @param int $product Id of product to dispatch * @param double $qty Qty to dispatch * @param int $entrepot Id of warehouse to add product - * @param double $price Price for PMP value calculation + * @param double $price Unit Price for PMP value calculation (Unit price without Tax and taking into account discount) * @param string $comment Comment for stock movement * @return int <0 if KO, >0 if OK */ @@ -1284,6 +1287,7 @@ class CommandeFournisseur extends CommonOrder $mouv = new MouvementStock($this->db); if ($product > 0) { + // $price should take into account discount (except if option STOCK_EXCLUDE_DISCOUNT_FOR_PMP is on) $result=$mouv->reception($user, $product, $entrepot, $qty, $price, $comment); if ($result < 0) { diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index b9bcaaa4a6c..cefceac2047 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -907,7 +907,9 @@ class FactureFournisseur extends CommonInvoice { $mouvP = new MouvementStock($this->db); // We increase stock for product - $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->pu_ht, $langs->trans("InvoiceValidatedInDolibarr",$num)); + $up_ht_disc=$this->lines[$i]->pu_ht; + if (! empty($this->lines[$i]->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) $up_ht_disc=price2num($up_ht_disc * (100 - $this->lines[$i]->remise_percent) / 100, 'MU'); + $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $up_ht_disc, $langs->trans("InvoiceValidatedInDolibarr",$num)); if ($result < 0) { $error++; } } } diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 48a2614deb0..4bc7a22b06b 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -42,7 +42,7 @@ $langs->load('products'); $langs->load('stocks'); // Security check -$id = isset($_GET["id"])?$_GET["id"]:''; +$id = GETPOST("id",'int'); if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'fournisseur', $id, '', 'commande'); @@ -64,7 +64,9 @@ $mesg=''; if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->receptionner) { $commande = new CommandeFournisseur($db); - $commande->fetch($_GET["id"]); + $commande->fetch($id); + + $db->begin(); foreach($_POST as $key => $value) { @@ -73,7 +75,7 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece $prod = "product_".$reg[1]; $qty = "qty_".$reg[1]; $ent = "entrepot_".$reg[1]; - $pu = "pu_".$reg[1]; + $pu = "pu_".$reg[1]; // This is unit price including discount if ($_POST[$ent] > 0) { $result = $commande->DispatchProduct($user, $_POST[$prod], $_POST[$qty], $_POST[$ent], $_POST[$pu], $_POST["comment"]); @@ -96,17 +98,19 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece $result_trigger=$interface->run_triggers('ORDER_SUPPLIER_DISPATCH',$commande,$user,$langs,$conf); if ($result_trigger < 0) { $error++; $commande->errors=$interface->errors; } // Fin appel triggers - - $db->commit(); } if ($result > 0) { + $db->commit(); + header("Location: dispatch.php?id=".$_GET["id"]); exit; } else { + $db->rollback(); + $mesg='
'.$langs->trans($commande->error).'
'; } } @@ -232,12 +236,12 @@ if ($id > 0 || ! empty($ref)) $db->free($resql); } - $sql = "SELECT l.fk_product, l.subprice, SUM(l.qty) as qty,"; + $sql = "SELECT l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,"; $sql.= " p.ref, p.label"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; $sql.= " WHERE l.fk_commande = ".$commande->id; - $sql.= " GROUP BY p.ref, p.label, l.fk_product, l.subprice"; // Calculation of amount dispatched is done per fk_product so we must group by fk_product + $sql.= " GROUP BY p.ref, p.label, l.fk_product, l.subprice, l.remise_percent"; // Calculation of amount dispatched is done per fk_product so we must group by fk_product $sql.= " ORDER BY p.ref, p.label"; $resql = $db->query($sql); @@ -278,17 +282,21 @@ if ($id > 0 || ! empty($ref)) if ($remaintodispatch) { $nbproduct++; - + $var=!$var; print ""; print ''; print ''.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.''; - print ' - '.$objp->label; + print ' - '.$objp->label."\n"; // To show detail cref and description value, we must make calculation by cref //print ($objp->cref?' ('.$objp->cref.')':''); //if ($objp->description) print '
'.nl2br($objp->description); - print ''; - print ''; + print ''."\n"; + + $up_ht_disc=$objp->subprice; + if (! empty($objp->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) $up_ht_disc=price2num($up_ht_disc * (100 - $objp->remise_percent) / 100, 'MU'); + + print ''."\n"; print "\n"; print ''.$objp->qty.''; @@ -346,7 +354,7 @@ if ($id > 0 || ! empty($ref)) print ''; } - + dol_fiche_end(); // List of already dispatching @@ -369,9 +377,9 @@ if ($id > 0 || ! empty($ref)) if ($num > 0) { print "
\n"; - + print_titre($langs->trans("ReceivingForSameOrder")); - + print ''; print ''; diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 56838f58340..287b033cb71 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=إذا كانت بعض الكائنات (فات ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم -TypeContact_project_internal_CONTRIBUTOR=مساهم -TypeContact_project_external_CONTRIBUTOR=مساهم +TypeContact_project_internal_PROJECTCONTRIBUTOR=مساهم +TypeContact_project_external_PROJECTCONTRIBUTOR=مساهم TypeContact_project_task_internal_TASKEXECUTIVE=المهمة التنفيذية TypeContact_project_task_external_TASKEXECUTIVE=المهمة التنفيذية -TypeContact_project_task_internal_CONTRIBUTOR=مساهم -TypeContact_project_task_external_CONTRIBUTOR=مساهم +TypeContact_project_task_internal_TASKCONTRIBUTOR=مساهم +TypeContact_project_task_external_TASKCONTRIBUTOR=مساهم # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index 8bface2fd6a..ed3f3c1cd8c 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -100,12 +100,12 @@ ErrorShiftTaskDate=Невъзможно е да се смени датата н ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Ръководител на проекта TypeContact_project_external_PROJECTLEADER=Ръководител на проекта -TypeContact_project_internal_CONTRIBUTOR=Сътрудник -TypeContact_project_external_CONTRIBUTOR=Сътрудник +TypeContact_project_internal_PROJECTCONTRIBUTOR=Сътрудник +TypeContact_project_external_PROJECTCONTRIBUTOR=Сътрудник TypeContact_project_task_internal_TASKEXECUTIVE=Задача изпълнителен TypeContact_project_task_external_TASKEXECUTIVE=Задача изпълнителен -TypeContact_project_task_internal_CONTRIBUTOR=Сътрудник -TypeContact_project_task_external_CONTRIBUTOR=Сътрудник +TypeContact_project_task_internal_TASKCONTRIBUTOR=Сътрудник +TypeContact_project_task_external_TASKCONTRIBUTOR=Сътрудник # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index e744b64bea4..3be39e7be4e 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projecte %s creat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Cap de projecte TypeContact_project_external_PROJECTLEADER=Cap de projecte -TypeContact_project_internal_CONTRIBUTOR=Participant -TypeContact_project_external_CONTRIBUTOR=Participant +TypeContact_project_internal_PROJECTCONTRIBUTOR=Participant +TypeContact_project_external_PROJECTCONTRIBUTOR=Participant TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_CONTRIBUTOR=Participant -TypeContact_project_task_external_CONTRIBUTOR=Participant +TypeContact_project_task_internal_TASKCONTRIBUTOR=Participant +TypeContact_project_task_external_TASKCONTRIBUTOR=Participant # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index b3b344a7bda..01b965f08c1 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt vytvořil %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedoucí projektu TypeContact_project_external_PROJECTLEADER=Vedoucí projektu -TypeContact_project_internal_CONTRIBUTOR=Přispěvatel -TypeContact_project_external_CONTRIBUTOR=Přispěvatel +TypeContact_project_internal_PROJECTCONTRIBUTOR=Přispěvatel +TypeContact_project_external_PROJECTCONTRIBUTOR=Přispěvatel TypeContact_project_task_internal_TASKEXECUTIVE=Úkol výkonný TypeContact_project_task_external_TASKEXECUTIVE=Úkol výkonný -TypeContact_project_task_internal_CONTRIBUTOR=Přispěvatel -TypeContact_project_task_external_CONTRIBUTOR=Přispěvatel +TypeContact_project_task_internal_TASKCONTRIBUTOR=Přispěvatel +TypeContact_project_task_external_TASKCONTRIBUTOR=Přispěvatel SelectElement=Vyberte prvek AddElement=Odkaz na elementu # Documents models diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index 0d763a3bad4..d5a7bfe9d85 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Hvis nogle objekter (faktura, ordre, ...), der t ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleder TypeContact_project_external_PROJECTLEADER=Projektleder -TypeContact_project_internal_CONTRIBUTOR=Bidragyder -TypeContact_project_external_CONTRIBUTOR=Bidragyder +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragyder +TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragyder TypeContact_project_task_internal_TASKEXECUTIVE=Task udøvende TypeContact_project_task_external_TASKEXECUTIVE=Task udøvende -TypeContact_project_task_internal_CONTRIBUTOR=Bidragyder -TypeContact_project_task_external_CONTRIBUTOR=Bidragyder +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragyder +TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragyder # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/de_AT/projects.lang b/htdocs/langs/de_AT/projects.lang index c823c655d0c..b226bb6e8c3 100644 --- a/htdocs/langs/de_AT/projects.lang +++ b/htdocs/langs/de_AT/projects.lang @@ -88,10 +88,10 @@ NoTasks=Keine Aufgaben für dieses Projekt LinkedToAnotherCompany=Mit Partner verknüpft TypeContact_project_internal_PROJECTLEADER=Projektleiter TypeContact_project_external_PROJECTLEADER=Projektleiter -TypeContact_project_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_internal_PROJECTCONTRIBUTOR=Mitwirkender +TypeContact_project_external_PROJECTCONTRIBUTOR=Mitwirkender TypeContact_project_task_internal_TASKEXECUTIVE=Task Exekutive TypeContact_project_task_external_TASKEXECUTIVE=Task Exekutive -TypeContact_project_task_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_task_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_task_internal_TASKCONTRIBUTOR=Mitwirkender +TypeContact_project_task_external_TASKCONTRIBUTOR=Mitwirkender DocumentModelBaleine=Eine vollständige Projektberichtsvorlage (Logo, ...) diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index abf32062e00..2ea879d1339 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt %s erstellt ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleiter TypeContact_project_external_PROJECTLEADER=Projektleiter -TypeContact_project_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_internal_PROJECTCONTRIBUTOR=Mitwirkender +TypeContact_project_external_PROJECTCONTRIBUTOR=Mitwirkender TypeContact_project_task_internal_TASKEXECUTIVE=Verantwortlich TypeContact_project_task_external_TASKEXECUTIVE=Verantwortlich -TypeContact_project_task_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_task_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_task_internal_TASKCONTRIBUTOR=Mitwirkender +TypeContact_project_task_external_TASKCONTRIBUTOR=Mitwirkender SelectElement=Element wählen AddElement=Mit Element verknüpfen # Documents models diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index c8b56e0cf57..fea4a433082 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Έργο %s δημιουργήθηκε ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Επικεφαλής του σχεδίου TypeContact_project_external_PROJECTLEADER=Επικεφαλής του σχεδίου -TypeContact_project_internal_CONTRIBUTOR=Συνεισφέρων -TypeContact_project_external_CONTRIBUTOR=Συνεισφέρων +TypeContact_project_internal_PROJECTCONTRIBUTOR=Συνεισφέρων +TypeContact_project_external_PROJECTCONTRIBUTOR=Συνεισφέρων TypeContact_project_task_internal_TASKEXECUTIVE=Εκτελεστική ομάδα TypeContact_project_task_external_TASKEXECUTIVE=Εκτελεστική ομάδα -TypeContact_project_task_internal_CONTRIBUTOR=Συνεισφέρων -TypeContact_project_task_external_CONTRIBUTOR=Συνεισφέρων +TypeContact_project_task_internal_TASKCONTRIBUTOR=Συνεισφέρων +TypeContact_project_task_external_TASKCONTRIBUTOR=Συνεισφέρων SelectElement=Επιλέξτε το στοιχείο AddElement=Σύνδεση με το στοιχείο # Documents models diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index c6355cdec95..e05da0b2fbe 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -109,12 +109,12 @@ ProjectCreatedInDolibarr=Project %s created ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader -TypeContact_project_internal_CONTRIBUTOR=Contributor -TypeContact_project_external_CONTRIBUTOR=Contributor +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Task executive TypeContact_project_task_external_TASKEXECUTIVE=Task executive -TypeContact_project_task_internal_CONTRIBUTOR=Contributor -TypeContact_project_task_external_CONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Select element AddElement=Link to element # Documents models diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 04e5723e9f2..06e966fbe4a 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -109,12 +109,12 @@ ProjectCreatedInDolibarr=Proyecto %s creado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto TypeContact_project_external_PROJECTLEADER=Jefe de proyecto -TypeContact_project_internal_CONTRIBUTOR=Participante -TypeContact_project_external_CONTRIBUTOR=Participante +TypeContact_project_internal_PROJECTCONTRIBUTOR=Participante +TypeContact_project_external_PROJECTCONTRIBUTOR=Participante TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_CONTRIBUTOR=Participante -TypeContact_project_task_external_CONTRIBUTOR=Participante +TypeContact_project_task_internal_TASKCONTRIBUTOR=Participante +TypeContact_project_task_external_TASKCONTRIBUTOR=Participante SelectElement=Seleccione elemento AddElement=Vincular a elmento # Documents models diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index 0892e2155fa..b4388a06fda 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt %s on loodud ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektijuht TypeContact_project_external_PROJECTLEADER=Projektijuht -TypeContact_project_internal_CONTRIBUTOR=Osavõtja -TypeContact_project_external_CONTRIBUTOR=Osavõtja +TypeContact_project_internal_PROJECTCONTRIBUTOR=Osavõtja +TypeContact_project_external_PROJECTCONTRIBUTOR=Osavõtja TypeContact_project_task_internal_TASKEXECUTIVE=Ülesande täitja TypeContact_project_task_external_TASKEXECUTIVE=Ülesande täitja -TypeContact_project_task_internal_CONTRIBUTOR=Osavõtja -TypeContact_project_task_external_CONTRIBUTOR=Osavõtja +TypeContact_project_task_internal_TASKCONTRIBUTOR=Osavõtja +TypeContact_project_task_external_TASKCONTRIBUTOR=Osavõtja SelectElement=Vali element AddElement=Seosta elemendiga # Documents models diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index f3871e7af90..530b07d96ea 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -100,12 +100,12 @@ LinkedToAnotherCompany=ربط طرف ثالث آخر ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم -TypeContact_project_internal_CONTRIBUTOR=مساهم -TypeContact_project_external_CONTRIBUTOR=مساهم +TypeContact_project_internal_PROJECTCONTRIBUTOR=مساهم +TypeContact_project_external_PROJECTCONTRIBUTOR=مساهم TypeContact_project_task_internal_TASKEXECUTIVE=المهمة التنفيذية TypeContact_project_task_external_TASKEXECUTIVE=المهمة التنفيذية -TypeContact_project_task_internal_CONTRIBUTOR=مساهم -TypeContact_project_task_external_CONTRIBUTOR=مساهم +TypeContact_project_task_internal_TASKCONTRIBUTOR=مساهم +TypeContact_project_task_external_TASKCONTRIBUTOR=مساهم # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index ed55afceea0..29a3f4a0bac 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Jos jotkin esineet (lasku, tilaus, ...), jotka k ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektin johtaja TypeContact_project_external_PROJECTLEADER=Projektin johtaja -TypeContact_project_internal_CONTRIBUTOR=Avustaja -TypeContact_project_external_CONTRIBUTOR=Avustaja +TypeContact_project_internal_PROJECTCONTRIBUTOR=Avustaja +TypeContact_project_external_PROJECTCONTRIBUTOR=Avustaja TypeContact_project_task_internal_TASKEXECUTIVE=Tehtävä johtoon TypeContact_project_task_external_TASKEXECUTIVE=Tehtävä johtoon -TypeContact_project_task_internal_CONTRIBUTOR=Avustaja -TypeContact_project_task_external_CONTRIBUTOR=Avustaja +TypeContact_project_task_internal_TASKCONTRIBUTOR=Avustaja +TypeContact_project_task_external_TASKCONTRIBUTOR=Avustaja # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index fe04f4155e6..f6e5abb1fde 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projet %s créé ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chef de projet TypeContact_project_external_PROJECTLEADER=Chef de projet -TypeContact_project_internal_CONTRIBUTOR=Intervenant -TypeContact_project_external_CONTRIBUTOR=Intervenant +TypeContact_project_internal_PROJECTCONTRIBUTOR=Intervenant +TypeContact_project_external_PROJECTCONTRIBUTOR=Intervenant TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_CONTRIBUTOR=Intervenant -TypeContact_project_task_external_CONTRIBUTOR=Intervenant +TypeContact_project_task_internal_TASKCONTRIBUTOR=Intervenant +TypeContact_project_task_external_TASKCONTRIBUTOR=Intervenant SelectElement=Séléctionnez l'élément AddElement=Link to element # Documents models diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index eb933a11671..5ce34c1de3d 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -100,12 +100,12 @@ Projects=פרוייקטים ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=מנהל הפרויקט TypeContact_project_external_PROJECTLEADER=מנהל הפרויקט -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 12da2a5d228..3044f32e83d 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Ha egyes tárgyakat (számla, megrendelés, ...) ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekt vezető TypeContact_project_external_PROJECTLEADER=Projekt vezető -TypeContact_project_internal_CONTRIBUTOR=Hozzájáruló -TypeContact_project_external_CONTRIBUTOR=Hozzájáruló +TypeContact_project_internal_PROJECTCONTRIBUTOR=Hozzájáruló +TypeContact_project_external_PROJECTCONTRIBUTOR=Hozzájáruló TypeContact_project_task_internal_TASKEXECUTIVE=Kivitelező TypeContact_project_task_external_TASKEXECUTIVE=Task Kivitelező -TypeContact_project_task_internal_CONTRIBUTOR=Hozzájáruló -TypeContact_project_task_external_CONTRIBUTOR=Hozzájáruló +TypeContact_project_task_internal_TASKCONTRIBUTOR=Hozzájáruló +TypeContact_project_task_external_TASKCONTRIBUTOR=Hozzájáruló # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 974d142477e..05580f4da4c 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Ef sumir hlutir (nótum röð ...), sem tilheyra ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leiðtogi TypeContact_project_external_PROJECTLEADER=Project leiðtogi -TypeContact_project_internal_CONTRIBUTOR=Framlög -TypeContact_project_external_CONTRIBUTOR=Framlög +TypeContact_project_internal_PROJECTCONTRIBUTOR=Framlög +TypeContact_project_external_PROJECTCONTRIBUTOR=Framlög TypeContact_project_task_internal_TASKEXECUTIVE=Verkefni framkvæmdastjóri TypeContact_project_task_external_TASKEXECUTIVE=Verkefni framkvæmdastjóri -TypeContact_project_task_internal_CONTRIBUTOR=Framlög -TypeContact_project_task_external_CONTRIBUTOR=Framlög +TypeContact_project_task_internal_TASKCONTRIBUTOR=Framlög +TypeContact_project_task_external_TASKCONTRIBUTOR=Framlög # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index c880b241de0..a52561d7ced 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Progetto %s creato ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Capo progetto TypeContact_project_external_PROJECTLEADER=Capo progetto -TypeContact_project_internal_CONTRIBUTOR=Collaboratore -TypeContact_project_external_CONTRIBUTOR=Collaboratore +TypeContact_project_internal_PROJECTCONTRIBUTOR=Collaboratore +TypeContact_project_external_PROJECTCONTRIBUTOR=Collaboratore TypeContact_project_task_internal_TASKEXECUTIVE=Responsabile del compito TypeContact_project_task_external_TASKEXECUTIVE=Responsabile del compito -TypeContact_project_task_internal_CONTRIBUTOR=Collaboratore -TypeContact_project_task_external_CONTRIBUTOR=Collaboratore +TypeContact_project_task_internal_TASKCONTRIBUTOR=Collaboratore +TypeContact_project_task_external_TASKCONTRIBUTOR=Collaboratore # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 4f973791ff1..189d145d30d 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=いくつかのオブジェクト(請求書、 ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=プロジェクトリーダー TypeContact_project_external_PROJECTLEADER=プロジェクトリーダー -TypeContact_project_internal_CONTRIBUTOR=貢献者 -TypeContact_project_external_CONTRIBUTOR=貢献者 +TypeContact_project_internal_PROJECTCONTRIBUTOR=貢献者 +TypeContact_project_external_PROJECTCONTRIBUTOR=貢献者 TypeContact_project_task_internal_TASKEXECUTIVE=タスクの幹部 TypeContact_project_task_external_TASKEXECUTIVE=タスクの幹部 -TypeContact_project_task_internal_CONTRIBUTOR=貢献者 -TypeContact_project_task_external_CONTRIBUTOR=貢献者 +TypeContact_project_task_internal_TASKCONTRIBUTOR=貢献者 +TypeContact_project_task_external_TASKCONTRIBUTOR=貢献者 # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index f2c0c2b86c6..d432ae0110e 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -100,12 +100,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index 9863f492886..e7f8f07c1a8 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekta %s izveidots ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekta vadītājs TypeContact_project_external_PROJECTLEADER=Projekta vadītājs -TypeContact_project_internal_CONTRIBUTOR=Ziedotājs -TypeContact_project_external_CONTRIBUTOR=Ziedotājs +TypeContact_project_internal_PROJECTCONTRIBUTOR=Ziedotājs +TypeContact_project_external_PROJECTCONTRIBUTOR=Ziedotājs TypeContact_project_task_internal_TASKEXECUTIVE=Uzdevums izpildvaras TypeContact_project_task_external_TASKEXECUTIVE=Uzdevums izpildvaras -TypeContact_project_task_internal_CONTRIBUTOR=Ziedotājs -TypeContact_project_task_external_CONTRIBUTOR=Ziedotājs +TypeContact_project_task_internal_TASKCONTRIBUTOR=Ziedotājs +TypeContact_project_task_external_TASKCONTRIBUTOR=Ziedotājs SelectElement=Izvēlieties elementu AddElement=Saite uz elementa # Documents models diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 3192a8b9906..a815942786a 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Dersom noen objekter (faktura, orden, ...), som ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Prosjektleder TypeContact_project_external_PROJECTLEADER=Prosjektleder -TypeContact_project_internal_CONTRIBUTOR=Bidragsyter -TypeContact_project_external_CONTRIBUTOR=Bidragsyter +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragsyter +TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragsyter TypeContact_project_task_internal_TASKEXECUTIVE=Oppgave Executive TypeContact_project_task_external_TASKEXECUTIVE=Oppgave Executive -TypeContact_project_task_internal_CONTRIBUTOR=Bidragsyter -TypeContact_project_task_external_CONTRIBUTOR=Bidragsyter +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragsyter +TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragsyter # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 7bbb40e726a..13e821b635d 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Als sommige objecten (factuur, order, ...), die ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projectmanager TypeContact_project_external_PROJECTLEADER=Projectleider -TypeContact_project_internal_CONTRIBUTOR=Bijdrager -TypeContact_project_external_CONTRIBUTOR=Bijdrager +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bijdrager +TypeContact_project_external_PROJECTCONTRIBUTOR=Bijdrager TypeContact_project_task_internal_TASKEXECUTIVE=Verantwoordelijke TypeContact_project_task_external_TASKEXECUTIVE=Verantwoordelijke -TypeContact_project_task_internal_CONTRIBUTOR=Bijdrager -TypeContact_project_task_external_CONTRIBUTOR=Bijdrager +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bijdrager +TypeContact_project_task_external_TASKCONTRIBUTOR=Bijdrager # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index b904fe7bf14..2d18566bd28 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Jeżeli pewne obiekty (faktura, zamówienie, ... ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Kierownik projektu TypeContact_project_external_PROJECTLEADER=Kierownik projektu -TypeContact_project_internal_CONTRIBUTOR=Współpracownik -TypeContact_project_external_CONTRIBUTOR=Współpracownik +TypeContact_project_internal_PROJECTCONTRIBUTOR=Współpracownik +TypeContact_project_external_PROJECTCONTRIBUTOR=Współpracownik TypeContact_project_task_internal_TASKEXECUTIVE=zadań wykonawczych TypeContact_project_task_external_TASKEXECUTIVE=zadań wykonawczych -TypeContact_project_task_internal_CONTRIBUTOR=Współpracownik -TypeContact_project_task_external_CONTRIBUTOR=Współpracownik +TypeContact_project_task_internal_TASKCONTRIBUTOR=Współpracownik +TypeContact_project_task_external_TASKCONTRIBUTOR=Współpracownik # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index cb65c540b0b..cbf4e4c2125 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -98,12 +98,12 @@ CantRemoveProject=Este projeto não pode ser eliminado porque está referenciado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chefe de projeto TypeContact_project_external_PROJECTLEADER=Chefe de projeto -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Elements to referring the project # AddElement=Refering # Documents models diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index 2b451b9ae64..754f227ad50 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projeto %s criado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Líder do projeto TypeContact_project_external_PROJECTLEADER=Líder do projeto -TypeContact_project_internal_CONTRIBUTOR=Contribuinte -TypeContact_project_external_CONTRIBUTOR=Contribuinte +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contribuinte +TypeContact_project_external_PROJECTCONTRIBUTOR=Contribuinte TypeContact_project_task_internal_TASKEXECUTIVE=Tarefa executiva TypeContact_project_task_external_TASKEXECUTIVE=Tarefa executiva -TypeContact_project_task_internal_CONTRIBUTOR=Contribuinte -TypeContact_project_task_external_CONTRIBUTOR=Contribuinte +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contribuinte +TypeContact_project_task_external_TASKCONTRIBUTOR=Contribuinte # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index dc42525b5ba..a87be81b54e 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Proiect %s creat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Şef de Proiect TypeContact_project_external_PROJECTLEADER=Şef de Proiect -TypeContact_project_internal_CONTRIBUTOR=Contribuabil -TypeContact_project_external_CONTRIBUTOR=Contribuabil +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contribuabil +TypeContact_project_external_PROJECTCONTRIBUTOR=Contribuabil TypeContact_project_task_internal_TASKEXECUTIVE=Responsabil TypeContact_project_task_external_TASKEXECUTIVE=Responsabil -TypeContact_project_task_internal_CONTRIBUTOR=Contributor -TypeContact_project_task_external_CONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Selectați elementul AddElement=Link către element # Documents models diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 5ebb02e57da..93d6b39abaf 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Если некоторые объекты (сч ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Руководитель проекта TypeContact_project_external_PROJECTLEADER=Руководитель проекта -TypeContact_project_internal_CONTRIBUTOR=Участник -TypeContact_project_external_CONTRIBUTOR=Участник +TypeContact_project_internal_PROJECTCONTRIBUTOR=Участник +TypeContact_project_external_PROJECTCONTRIBUTOR=Участник TypeContact_project_task_internal_TASKEXECUTIVE=Целевая исполнительной TypeContact_project_task_external_TASKEXECUTIVE=Целевая исполнительной -TypeContact_project_task_internal_CONTRIBUTOR=Участник -TypeContact_project_task_external_CONTRIBUTOR=Участник +TypeContact_project_task_internal_TASKCONTRIBUTOR=Участник +TypeContact_project_task_external_TASKCONTRIBUTOR=Участник # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index 3ab27d7082e..21ba3463855 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt vytvoril %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedúci projektu TypeContact_project_external_PROJECTLEADER=Vedúci projektu -TypeContact_project_internal_CONTRIBUTOR=Prispievateľ -TypeContact_project_external_CONTRIBUTOR=Prispievateľ +TypeContact_project_internal_PROJECTCONTRIBUTOR=Prispievateľ +TypeContact_project_external_PROJECTCONTRIBUTOR=Prispievateľ TypeContact_project_task_internal_TASKEXECUTIVE=Úloha výkonný TypeContact_project_task_external_TASKEXECUTIVE=Úloha výkonný -TypeContact_project_task_internal_CONTRIBUTOR=Prispievateľ -TypeContact_project_task_external_CONTRIBUTOR=Prispievateľ +TypeContact_project_task_internal_TASKCONTRIBUTOR=Prispievateľ +TypeContact_project_task_external_TASKCONTRIBUTOR=Prispievateľ SelectElement=Vyberte prvok AddElement=Odkaz na elementu # Documents models diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index ba174911afd..e3da05f6a2b 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Če nekateri objekti (računi, naročila, ...), ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vodja projekta TypeContact_project_external_PROJECTLEADER=Vodja projekta -TypeContact_project_internal_CONTRIBUTOR=Sodelavec -TypeContact_project_external_CONTRIBUTOR=Sodelavec +TypeContact_project_internal_PROJECTCONTRIBUTOR=Sodelavec +TypeContact_project_external_PROJECTCONTRIBUTOR=Sodelavec TypeContact_project_task_internal_TASKEXECUTIVE=Odgovorna oseba TypeContact_project_task_external_TASKEXECUTIVE=Odgovorna oseba -TypeContact_project_task_internal_CONTRIBUTOR=Sodelavec -TypeContact_project_task_external_CONTRIBUTOR=Sodelavec +TypeContact_project_task_internal_TASKCONTRIBUTOR=Sodelavec +TypeContact_project_task_external_TASKCONTRIBUTOR=Sodelavec # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index b3cbf169cf1..753b37b07d0 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Om vissa objekt (faktura, order, ...), som tillh ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektledare TypeContact_project_external_PROJECTLEADER=Projektledare -TypeContact_project_internal_CONTRIBUTOR=Medarbetare -TypeContact_project_external_CONTRIBUTOR=Medarbetare +TypeContact_project_internal_PROJECTCONTRIBUTOR=Medarbetare +TypeContact_project_external_PROJECTCONTRIBUTOR=Medarbetare TypeContact_project_task_internal_TASKEXECUTIVE=Uppgift verkställande TypeContact_project_task_external_TASKEXECUTIVE=Uppgift verkställande -TypeContact_project_task_internal_CONTRIBUTOR=Medarbetare -TypeContact_project_task_external_CONTRIBUTOR=Medarbetare +TypeContact_project_task_internal_TASKCONTRIBUTOR=Medarbetare +TypeContact_project_task_external_TASKCONTRIBUTOR=Medarbetare # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index b9998410e6a..31780df9c55 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=%s projesi oluşturuldu ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Proje önderi TypeContact_project_external_PROJECTLEADER=Proje önderi -TypeContact_project_internal_CONTRIBUTOR=Katılımcı -TypeContact_project_external_CONTRIBUTOR=Katılımcı +TypeContact_project_internal_PROJECTCONTRIBUTOR=Katılımcı +TypeContact_project_external_PROJECTCONTRIBUTOR=Katılımcı TypeContact_project_task_internal_TASKEXECUTIVE=Görev yöneticisi TypeContact_project_task_external_TASKEXECUTIVE=Görev yöneticisi -TypeContact_project_task_internal_CONTRIBUTOR=Katılımcı -TypeContact_project_task_external_CONTRIBUTOR=Katılımcı +TypeContact_project_task_internal_TASKCONTRIBUTOR=Katılımcı +TypeContact_project_task_external_TASKCONTRIBUTOR=Katılımcı SelectElement=Öğe seç AddElement=Öğeye bağlan # Documents models diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index f2c0c2b86c6..d432ae0110e 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -100,12 +100,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index e7a268f0f6d..c42a2421d60 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Đã tạo dự án %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Người lãnh đạo dự án TypeContact_project_external_PROJECTLEADER=Người lãnh đạo dự án -TypeContact_project_internal_CONTRIBUTOR=Người đóng góp -TypeContact_project_external_CONTRIBUTOR=Người đóng góp +TypeContact_project_internal_PROJECTCONTRIBUTOR=Người đóng góp +TypeContact_project_external_PROJECTCONTRIBUTOR=Người đóng góp TypeContact_project_task_internal_TASKEXECUTIVE=Thi hành tác vụ TypeContact_project_task_external_TASKEXECUTIVE=Thi hành tác vụ -TypeContact_project_task_internal_CONTRIBUTOR=Người đóng góp -TypeContact_project_task_external_CONTRIBUTOR=Người đóng góp +TypeContact_project_task_internal_TASKCONTRIBUTOR=Người đóng góp +TypeContact_project_task_external_TASKCONTRIBUTOR=Người đóng góp # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 5a7ca3536ee..a11a7412e4b 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=项目 %s 创建 ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=项目负责人 TypeContact_project_external_PROJECTLEADER=项目负责人 -TypeContact_project_internal_CONTRIBUTOR=投稿 -TypeContact_project_external_CONTRIBUTOR=投稿 +TypeContact_project_internal_PROJECTCONTRIBUTOR=投稿 +TypeContact_project_external_PROJECTCONTRIBUTOR=投稿 TypeContact_project_task_internal_TASKEXECUTIVE=执行任务 TypeContact_project_task_external_TASKEXECUTIVE=执行任务 -TypeContact_project_task_internal_CONTRIBUTOR=投稿 -TypeContact_project_task_external_CONTRIBUTOR=投稿 +TypeContact_project_task_internal_TASKCONTRIBUTOR=投稿 +TypeContact_project_task_external_TASKCONTRIBUTOR=投稿 # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 0358036dea3..43c0fe1a4d4 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=如果某些對象(發票,訂單,...), ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=項目負責人 TypeContact_project_external_PROJECTLEADER=項目負責人 -TypeContact_project_internal_CONTRIBUTOR=投稿 -TypeContact_project_external_CONTRIBUTOR=投稿 +TypeContact_project_internal_PROJECTCONTRIBUTOR=投稿 +TypeContact_project_external_PROJECTCONTRIBUTOR=投稿 TypeContact_project_task_internal_TASKEXECUTIVE=執行任務 TypeContact_project_task_external_TASKEXECUTIVE=執行任務 -TypeContact_project_task_internal_CONTRIBUTOR=投稿 -TypeContact_project_task_external_CONTRIBUTOR=投稿 +TypeContact_project_task_internal_TASKCONTRIBUTOR=投稿 +TypeContact_project_task_external_TASKCONTRIBUTOR=投稿 # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 7dc9d4917a6..daa2ae08854 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -114,8 +114,8 @@ $result = $db->query($sql); while ($objp = $db->fetch_object($result)) { $status=1; - if (! $objp->tosell && ! $objp->tobuy) $status=0; - $prodser[$objp->fk_product_type][$status]=$objp->total; + if (! $objp->tosell && ! $objp->tobuy) $status=0; // To sell OR to buy + $prodser[$objp->fk_product_type][$status]+=$objp->total; } print '
'; diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index f8135b69566..5b7b56d6720 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -236,9 +236,12 @@ if ($resql) // Country print ''; // Status diff --git a/htdocs/projet/admin/project.php b/htdocs/projet/admin/project.php index aa5aa11bb89..c50ddd1a290 100644 --- a/htdocs/projet/admin/project.php +++ b/htdocs/projet/admin/project.php @@ -17,13 +17,13 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . -*/ + */ /** * \file htdocs/admin/project.php * \ingroup project * \brief Page to setup project module -*/ + */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; @@ -47,7 +47,7 @@ $type='project'; /* * Actions -*/ + */ if ($action == 'updateMask') { @@ -286,15 +286,13 @@ $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup'); -print "
"; - $head=project_admin_prepare_head(); -dol_fiche_head($head, 'project', $langs->trans("ModuleSetup")); +dol_fiche_head($head, 'project', $langs->trans("Project"), 0, 'project'); /* * Projects Numbering model -*/ + */ print_titre($langs->trans("ProjectsNumberingModules")); diff --git a/htdocs/projet/admin/project_extrafields.php b/htdocs/projet/admin/project_extrafields.php index 8f4b6a6ce36..6b26e8bc8f5 100644 --- a/htdocs/projet/admin/project_extrafields.php +++ b/htdocs/projet/admin/project_extrafields.php @@ -70,7 +70,7 @@ print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup'); $head = project_admin_prepare_head(); -dol_fiche_head($head, 'attributes', $langs->trans("Project"), 0, 'user'); +dol_fiche_head($head, 'attributes', $langs->trans("Project"), 0, 'project'); print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; diff --git a/htdocs/projet/admin/project_task_extrafields.php b/htdocs/projet/admin/project_task_extrafields.php index 782ae78d787..0ab60425a19 100644 --- a/htdocs/projet/admin/project_task_extrafields.php +++ b/htdocs/projet/admin/project_task_extrafields.php @@ -70,7 +70,7 @@ print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup'); $head = project_admin_prepare_head(); -dol_fiche_head($head, 'attributes_task', $langs->trans("Project"), 0, 'user'); +dol_fiche_head($head, 'attributes_task', $langs->trans("Project"), 0, 'project'); print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index c01a01223b7..4ba023380f8 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2280,7 +2280,7 @@ li.cal_event { border: none; list-style-type: none; } background-color:white; border:1px solid #888; margin:0px; - padding:0px; +/* padding:0px; This make combo crazy */ } .ui-autocomplete ul { list-style-type:none;
'.$langs->trans('Country').''; - $img=picto_from_langcode($entrepot->country_code); - print ($img?$img.' ':''); - print $entrepot->country; + if (! empty($entrepot->country_code)) + { + $img=picto_from_langcode($entrepot->country_code); + print ($img?$img.' ':''); + print $entrepot->country; + } print '