Merge remote-tracking branch 'origin/3.5' into develop

Conflicts:
	build/makepack-dolibarr.pl
	htdocs/comm/propal.php
	htdocs/compta/facture.php
	htdocs/fourn/class/fournisseur.commande.class.php
This commit is contained in:
Laurent Destailleur 2014-03-03 19:38:02 +01:00
commit 24b0ea6613
63 changed files with 334 additions and 274 deletions

View File

@ -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:

View File

@ -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 (<IN>) {
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";

View File

@ -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

View File

@ -165,12 +165,16 @@ print '<center><input type="submit" class="button" value="'.$langs->trans("Save"
print '</form>';
dol_fiche_end();
print '<br>';
/*
* 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 '</td>';
print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td></tr>';
// 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 "<tr ".$bc[$var].">";
print '<td>'.dolGetFirstLastname($obj->firstname,$obj->lastname).'</td>';
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
print '<td>'.$label.'</td>';
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=deletenotif&amp;notif='.$obj->rowid.'">'.img_delete().'</a></td>';
print '</tr>';
$i++;
}
$db->free($resql);
}
print '</table>';
print '</form>';
}
// 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 "<tr ".$bc[$var].">";
print '<td>'.dolGetFirstLastname($obj->firstname,$obj->lastname).'</td>';
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
print '<td>'.$label.'</td>';
print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=deletenotif&amp;notif='.$obj->rowid.'">'.img_delete().'</a></td>';
print '</tr>';
$i++;
}
$db->free($resql);
}
print '</table>';
print '</form>';
*/
$db->close();

View File

@ -116,14 +116,14 @@ if ($action == 'add_action')
{
$error++;
$action = 'create';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("DateEnd")).'</div>';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DateEnd")).'</div>';
}
if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && ! GETPOST('label'))
{
$error++;
$action = 'create';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Title")).'</div>';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Title")).'</div>';
}
// Initialisation objet cactioncomm
@ -131,7 +131,7 @@ if ($action == 'add_action')
{
$error++;
$action = 'create';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->trans("Type")).'</div>';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type")).'</div>';
}
else
{

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -2,6 +2,7 @@
/* Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
*
* 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,'','');

View File

@ -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));
}
/**

View File

@ -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 '</td>';

View File

@ -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');

View File

@ -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');

View File

@ -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');

View File

@ -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');

View File

@ -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');

View File

@ -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');

View File

@ -991,7 +991,7 @@ if ($action == 'create')
// Contract
if ($conf->contrat->enabled)
{
$langs->load("contrat");
$langs->load("contracts");
print '<tr><td valign="top">'.$langs->trans("Contract").'</td><td>';
$numcontrat=$formcontract->select_contract($soc->id,GETPOST('contratid','int'),'contratid',0,1);
if ($numcontrat==0)

View File

@ -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)
{

View File

@ -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++; }
}
}

View File

@ -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='<div class="error">'.$langs->trans($commande->error).'</div>';
}
}
@ -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 "<tr ".$bc[$var].">";
print '<td>';
print '<a href="'.DOL_URL_ROOT.'/product/fournisseurs.php?id='.$objp->fk_product.'">'.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.'</a>';
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 '<br>'.nl2br($objp->description);
print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">';
print '<input name="pu_'.$i.'" type="hidden" value="'.$objp->subprice.'">';
print '<input name="product_'.$i.'" type="hidden" value="'.$objp->fk_product.'">'."\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 '<input name="pu_'.$i.'" type="hidden" value="'.$up_ht_disc.'">'."<!-- This is a up including discount -->\n";
print "</td>\n";
print '<td align="right">'.$objp->qty.'</td>';
@ -346,7 +354,7 @@ if ($id > 0 || ! empty($ref))
print '</form>';
}
dol_fiche_end();
// List of already dispatching
@ -369,9 +377,9 @@ if ($id > 0 || ! empty($ref))
if ($num > 0)
{
print "<br/>\n";
print_titre($langs->trans("ReceivingForSameOrder"));
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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, ...)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 '<table class="noborder" width="100%">';

View File

@ -236,9 +236,12 @@ if ($resql)
// Country
print '<tr><td>'.$langs->trans('Country').'</td><td colspan="3">';
$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 '</td></tr>';
// Status

View File

@ -17,13 +17,13 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
/**
* \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='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup');
print "<br>";
$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"));

View File

@ -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).'<br>'."\n";

View File

@ -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).'<br>'."\n";

View File

@ -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;