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

This commit is contained in:
Laurent Destailleur 2013-09-06 10:50:44 +02:00
commit 87a4418baf
45 changed files with 211 additions and 171 deletions

View File

@ -51,6 +51,7 @@ For users:
- New : Add category into filter webservice thirdparty method getListOfThirdParties
- New : Allow to define margin or mark rate during quoting, ordering, invoicing
- New : User permissions on margin module
- New : Add ref supplier into muscadet model
For translators:
- Qual: Normalized sort order of all languages files with english reference files.

View File

@ -128,8 +128,10 @@ from origin/upstream and origin/pristine.
Note: If there was errors managed manually, you may need to make a git commit
* Add an entry into debian/changelog
> date -R will return formated string date to use into changelog
> dh "My comment" will add entry.
For example: dch -v x.y.z-1 "New upstream release." for a new version
Warning: Date must have format reported by "date -R"
Warning: Entry added here is used by next step. Name and email must match value into debian/control file.
* We try to build package
@ -138,7 +140,7 @@ Warning: Entry added here is used by next step. Name and email must match value
* If package .deb is ok:
Note: If there was errors managed manually, you may need to make a git commit but do not use option "amend" previous commit
> git-buildpackage --git-tag
> git push
> git push --all
> git push --tags
* Compilation par un développeur debian et envoi par

View File

@ -1,7 +1,6 @@
dolibarr (3.5.0) unstable; urgency=low
[ Laurent Destailleur (eldy) ]
* New upstream release.
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
# For a changelog file dedicated to end users, see /usr/share/doc/dolibarr/ChangeLog.gz

View File

@ -59,6 +59,24 @@ License: GPL-3+
`/usr/share/common-licenses/GPL-2'.
Files: docs/images/*
Copyright: Laurent Destailleur
License: CC-BY-SA-3.0
You are free:
to Share (to copy, distribute and transmit the work) and
to Remix (to adapt the work) under the following conditions:
.
Attribution - You must attribute the work in the manner specified by the
author or licensor (but not in any way that suggests that they endorse you
or your use of the work).
.
Share Alike - If you alter, transform, or build upon this work, you may
distribute the resulting work only under the same, similar or a compatible
license.
.
For more information, see http://creativecommons.org/licenses/by-sa/3.0/
Files: htdocs/includes/fpdi/*
Copyright: FPDFI team
License: GPL-2+

40
build/debian/get-orig-source.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/sh
# run with
# debian/get-orig-source.sh [x.y.z]
tmpdir=$(mktemp -d)
echo "tmpdir = $tmpdir"
if [ -n "$1" ]; then
uscan_opts="--download-version=$1"
fi
uscan --noconf --force-download --no-symlink --verbose --destdir=$tmpdir $uscan_opts
cd $tmpdir
tgzfile=$(echo *.tar.gz)
version=$(echo "$tgzfile" | perl -pi -e 's/^dolibarr_//; s/\.zip$//; s/_/./g; s/\+nmu1//; s/$/+dfsg/;')
# Extract the zip file
tar -xvf $tgzfile
srcdir=$(find . -maxdepth 1 -mindepth 1 -type d | sed -e 's/\.\///')
if [ ! -d "$srcdir" ]; then
echo "ERROR: Failed to identify the extracted directory in $tmpdir (got $srcdir)" >&2
rm -rf $tmpdir
exit 1
fi
# Repack as tar.xz
tar Jcf dolibarr_${version}.orig.tar.xz $srcdir
cd - >/dev/null
if [ -e ../dolibarr_${version}.orig.tar.xz ]; then
echo "Not overwriting ../dolibarr_${version}.orig.tar.xz";
else
echo "Created ../dolibarr_${version}.orig.tar.xz"
mv $tmpdir/dolibarr_${version}.orig.tar.xz ../
fi
#rm -rf $tmpdir

View File

@ -1,4 +1,5 @@
# watch control file for uscan
version=3
http://sf.net/dolibarr/dolibarr-(.+)\.tgz
#http://sf.net/dolibarr/dolibarr-(.+)\.tgz
http://www.dolibarr.org/files/stable/package_debian-ubuntu/dolibarr_(.+)\.tar\.gz

View File

@ -611,7 +611,7 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = ../../build ../../dev ../../doc ../../document ../../documents ../../htdocs/conf/conf.php ../../htdocs/custom ../../htdocs/document ../../htdocs/documents ../../htdocs/includes
EXCLUDE = ../../build ../../dev ../../doc ../../document ../../documents ../../htdocs/conf/conf.php ../../htdocs/custom ../../htdocs/document ../../htdocs/documents ../../htdocs/includes
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded

View File

@ -552,7 +552,7 @@ if ($nboftargetok) {
$build = $newbuild;
$build =~ s/-.*$//g;
# now build is 0 for example
# "$build .= '+nmu1';
# $build .= '+nmu1';
# now build is 0+nmu1 for example
print "Remove target ${FILENAMEDEB}_all.deb...\n";

View File

@ -30,7 +30,7 @@ return "Regis Houssin";
# script_dolibarr_versions()
sub script_dolibarr_versions
{
return ( "3.5.0", "3.4.0", "3.3.3", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
return ( "3.5.0", "3.4.1", "3.4.0", "3.3.3", "3.3.2", "3.3.1", "3.3.0", "3.2.1", "3.1.1" );
}
sub script_dolibarr_category

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -55,11 +55,8 @@ p {
/* ------------------- Menu ------------------- */
.menu_principal {
margin: 0 auto;
margin-left: 15px;
margin-bottom: 20px;
margin-right: 20px;
font-size: 14px;
margin: 0 20px 20px 15px;
font-size: 14px;
width: 735px;
height: 84px;
background: #CCCCCC;
@ -77,9 +74,8 @@ p {
.menu {
margin: 0;
padding: 0;
list-style-type: none;
padding-top: 10px;
list-style-type: none;
padding: 10px 0 0;
}
.menu li {
@ -143,9 +139,8 @@ p {
}
p.titre {
margin: 0;
margin-bottom: 20px;
text-align: center;
margin: 0 0 20px;
text-align: center;
font-weight: bold;
font-size: 1.4em;
color: #5ca64d;
@ -153,11 +148,10 @@ p.titre {
}
.cadre_article {
margin: 0 auto;
width: 180px;
width: 180px;
text-align: center;
margin-bottom: 10px;
padding-bottom: 10px;
margin: 0 auto 10px;
padding-bottom: 10px;
border-bottom: 1px solid #eee;
}
@ -205,10 +199,9 @@ p.titre {
}
.formulaire_login table {
margin: 0 auto;
padding-left: 60px;
margin-bottom: 20px;
background: url('../img/login.png') bottom left no-repeat;
padding-left: 60px;
margin: 0 auto 20px;
background: url('../img/login.png') bottom left no-repeat;
}
.formulaire_login table tr {
@ -430,9 +423,8 @@ background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0,
/* Titre */
.err_titre {
font-weight: bold;
margin: 0;
margin-bottom: 10px;
padding: 0;
margin: 0 0 10px;
padding: 0;
}
/* Description */
@ -454,9 +446,8 @@ background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0,
/* Titre */
.msg_titre {
font-weight: bold;
margin: 0;
margin-bottom: 10px;
padding: 0;
margin: 0 0 10px;
padding: 0;
}
/* Description */

View File

@ -508,7 +508,7 @@ class Categorie
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('CATEGORY_UNLINK',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; $this->error=$this->error; }
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
if (! $error) return 1;

View File

@ -2868,7 +2868,7 @@ class Facture extends CommonInvoice
$sql.= ' WHERE fk_facture = '.$this->id;
$sql.= ' AND traite = 0';
dol_syslot(get_clas($this)."::demande_prelevement sql=".$sql);
dol_syslog(get_class($this)."::demande_prelevement sql=".$sql);
$resql=$this->db->query($sql);
if ($resql)
{

View File

@ -83,7 +83,7 @@ function pt ($db, $sql, $date)
$db->free($result);
}
else {
dolibar_print_error($db);
dol_print_error($db);
}
}

View File

@ -405,10 +405,9 @@ class Paiement extends CommonObject
$acc = new Account($this->db);
$result=$acc->fetch($this->fk_account);
$totalamount=$this->amount;
if (empty($totalamount)) $totalamount=$this->total; // For backward compatibility
if ($mode == 'payment') $totalamount=$totalamount;
if ($mode == 'payment_supplier') $totalamount=-$totalamount;
if (empty($this->amount)) $totalamount=$this->total; // For backward compatibility
if ($mode == 'payment') $totalamount=$this->amount;
if ($mode == 'payment_supplier') $totalamount=-$this->amount;
// Insert payment into llx_bank
$bank_line_id = $acc->addline(

View File

@ -88,7 +88,7 @@ function pt ($db, $sql, $date)
$db->free($result);
}
else {
dolibar_print_error($db);
dol_print_error($db);
}
}

View File

@ -97,7 +97,6 @@ class FormFile
$max=$conf->global->MAIN_UPLOAD_DOC; // En Kb
$maxphp=@ini_get('upload_max_filesize'); // En inconnu
if (preg_match('/m$/i',$maxphp)) $maxphp=$maxphp*1024;
if (preg_match('/k$/i',$maxphp)) $maxphp=$maxphp;
// Now $max and $maxphp are in Kb
if ($maxphp > 0) $max=min($max,$maxphp);

View File

@ -685,7 +685,7 @@ class DoliDBSqlite
*/
function escape($stringtoencode)
{
return PDO::quote($stringtoencode);
return $this->db->quote($stringtoencode);
}
/**
@ -856,7 +856,7 @@ class DoliDBSqlite
*/
function last_insert_id($tab,$fieldid='rowid')
{
return PDO::lastInsertId();
return $this->db->lastInsertId();
}
/**

View File

@ -43,7 +43,7 @@ body.FileArea
body, td, input, select
{
font-size: 11px;
font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana;
font-family: 'Microsoft Sans Serif', Arial, Helvetica, Verdana, sans-serif;
}
.ActualFolder
@ -68,12 +68,12 @@ body, td, input, select
.FolderListCurrentFolder img
{
background-image: url(../../../../themes/common/treemenu/folder-expanded.gif);
background-image: url(../../../../theme/common/treemenu/folder-expanded.gif);
}
.FolderListFolder img
{
background-image: url(../../../../themes/common/treemenu/folder.gif);
background-image: url(../../../../theme/common/treemenu/folder.gif);
}
.fullHeight {

View File

@ -190,9 +190,8 @@ function dpClickDay(year,month,day,format)
closeDPBox();
}
function dpHighlightDay(year,month,day,tradMonths){
function dpHighlightDay(year,month,day,months){
var displayinfo=getObjectFromID("dpExp");
var months = tradMonths;
displayinfo.innerHTML=months[month-1]+" "+day+", "+year;
}
@ -478,9 +477,7 @@ function getDateFromFormat(val,format)
if (seconde==null||(seconde<0)||(seconde>60)) { return 0; }
// alert(year+' '+month+' '+day+' '+hour+' '+minute+' '+seconde);
var newdate=new Date(year,month-1,day,hour,minute,seconde);
return newdate;
return new Date(year,month-1,day,hour,minute,seconde);
}
/*
@ -588,8 +585,7 @@ function cleanSerialize(expr) {
var reg = new RegExp("(&)", "g");
var reg2 = new RegExp("[^A-Z0-9,]", "g");
var liste1 = expr.replace(reg, ",");
var liste = liste1.replace(reg2, "");
return liste;
return liste = liste1.replace(reg2, "");
}
@ -794,7 +790,7 @@ function confirmConstantAction(action, url, code, input, box, entity, yesButton,
(function( $ ) {
$.widget( "ui.combobox", {
options: {
minLengthToAutocomplete: 0,
minLengthToAutocomplete: 0
},
_create: function() {
var savMinLengthToAutocomplete = this.options.minLengthToAutocomplete;

View File

@ -21,14 +21,11 @@
// in [-]HH:MM format...
// won't yet work with non-even tzs
function fetchTimezone()
{
var localclock = new Date();
// returns negative offset from GMT in minutes
var tzRaw = localclock.getTimezoneOffset();
var tzHour = Math.floor( Math.abs(tzRaw) / 60);
var tzMin = Math.abs(tzRaw) % 60;
var tzString = ((tzRaw >= 0) ? "-" : "") + ((tzHour < 10) ? "0" : "") + tzHour +
":" + ((tzMin < 10) ? "0" : "") + tzMin;
return tzString;
function fetchTimezone() {
var localclock = new Date(),
// returns negative offset from GMT in minutes
tzRaw = localclock.getTimezoneOffset(),
tzHour = Math.floor(Math.abs(tzRaw) / 60),
tzMin = Math.abs(tzRaw) % 60;
return ((tzRaw >= 0) ? "-" : "") + ((tzHour < 10) ? "0" : "") + tzHour + ":" + ((tzMin < 10) ? "0" : "") + tzMin;
}

View File

@ -742,13 +742,18 @@ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=n
{
$globencoded=str_replace('[','\[',$file_osencoded);
$globencoded=str_replace(']','\]',$globencoded);
foreach (glob($globencoded) as $filename)
$listofdir=glob($globencoded);
if (! empty($listofdir) && is_array($listofdir))
{
if ($nophperrors) $ok=@unlink($filename); // The unlink encapsulated by dolibarr
else $ok=unlink($filename); // The unlink encapsulated by dolibarr
if ($ok) dol_syslog("Removed file ".$filename, LOG_DEBUG);
else dol_syslog("Failed to remove file ".$filename, LOG_WARNING);
foreach ($listofdir as $filename)
{
if ($nophperrors) $ok=@unlink($filename); // The unlink encapsulated by dolibarr
else $ok=unlink($filename); // The unlink encapsulated by dolibarr
if ($ok) dol_syslog("Removed file ".$filename, LOG_DEBUG);
else dol_syslog("Failed to remove file ".$filename, LOG_WARNING);
}
}
else dol_syslog("No files to delete found", LOG_WARNING);
}
else
{

View File

@ -274,7 +274,7 @@ function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x=0, $s
imagepng($imgThumb, $imgThumbName, $newquality);
break;
case 4: // Bmp
image2wmp($imgThumb, $imgThumbName);
image2wbmp($imgThumb, $imgThumbName);
break;
}
@ -534,7 +534,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $
// Not supported by PHP GD
break;
case IMAGETYPE_WBMP: // 15
image2wmp($imgThumb, $imgThumbName);
image2wbmp($imgThumb, $imgThumbName);
break;
}

View File

@ -211,7 +211,6 @@ class modCategorie extends DolibarrModules
'u.label' => "category",
'u.description' => "category",
'p.rowid' => 'contact',
'p.rowid' => 'contact',
'p.civilite' => 'contact',
'p.lastname' => 'contact',
'p.firstname' => 'contact',

View File

@ -142,7 +142,7 @@ class modProduct extends DolibarrModules
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Number",'p.surface'=>"Number",'p.volume'=>"Number",'p.weight'=>"Number",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.pmp'=>'Number'));
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product'));
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product'));
// Add extra fields

View File

@ -126,7 +126,7 @@ class modService extends DolibarrModules
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.duration'=>"Duree",'p.datec'=>'Date','p.tms'=>'Date');
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Number'));
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
$this->export_entities_array[$r]=array('p.rowid'=>"service",'p.ref'=>"service",'p.label'=>"service",'p.description'=>"service",'p.accountancy_code_sell'=>'service','p.accountancy_code_sell'=>'service','p.note'=>"service",'p.price_base_type'=>"service",'p.price'=>"service",'p.price_ttc'=>"service",'p.tva_tx'=>"service",'p.tosell'=>"service",'p.duration'=>"service",'p.datec'=>"service",'p.tms'=>"service");
$this->export_entities_array[$r]=array('p.rowid'=>"service",'p.ref'=>"service",'p.label'=>"service",'p.description'=>"service",'p.accountancy_code_sell'=>'service','p.note'=>"service",'p.price_base_type'=>"service",'p.price'=>"service",'p.price_ttc'=>"service",'p.tva_tx'=>"service",'p.tosell'=>"service",'p.duration'=>"service",'p.datec'=>"service",'p.tms'=>"service");
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'service'));
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'service'));
// Add extra fields

View File

@ -123,7 +123,7 @@ class modStock extends DolibarrModules
$this->export_label[$r]="WarehousesAndProducts"; // Translation key (used only if key ExportDataset_xxx_z not found)
$this->export_permission[$r]=array(array("stock","lire"));
$this->export_fields_array[$r]=array('e.rowid'=>'IdWarehouse','e.label'=>'LocationSummary','e.description'=>'DescWareHouse','e.lieu'=>'LieuWareHouse','e.address'=>'Address','e.zip'=>'Zip','e.town'=>'Town','p.rowid'=>"ProductId",'p.ref'=>"Ref",'p.fk_product_type'=>"Type",'p.label'=>"Label",'p.description'=>"Description",'p.note'=>"Note",'p.price'=>"Price",'p.tva_tx'=>'VAT','p.tosell'=>"OnSell",'p.duration'=>"Duration",'p.datec'=>'DateCreation','p.tms'=>'DateModification','ps.reel'=>'Stock');
$this->export_TypeFields_array[$r]=array('e.rowid'=>'List:entrepot:LabelWareHouse','e.label'=>'Text','e.label'=>'Text','e.lieu'=>'Text','e.address'=>'Text','e.zip'=>'Text','e.town'=>'Text','p.rowid'=>"List:produit:label",'p.ref'=>"Text",'p.fk_product_type'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.note'=>"Text",'p.price'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.duration'=>"Duree",'p.datec'=>'Date','p.tms'=>'Date','ps.reel'=>'Number');
$this->export_TypeFields_array[$r]=array('e.rowid'=>'List:entrepot:LabelWareHouse','e.label'=>'Text','e.lieu'=>'Text','e.address'=>'Text','e.zip'=>'Text','e.town'=>'Text','p.rowid'=>"List:produit:label",'p.ref'=>"Text",'p.fk_product_type'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.note'=>"Text",'p.price'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.duration'=>"Duree",'p.datec'=>'Date','p.tms'=>'Date','ps.reel'=>'Number');
$this->export_entities_array[$r]=array('e.rowid'=>'warehouse','e.label'=>'warehouse','e.description'=>'warehouse','e.lieu'=>'warehouse','e.address'=>'warehouse','e.zip'=>'warehouse','e.town'=>'warehouse','p.rowid'=>"product",'p.ref'=>"product",'p.fk_product_type'=>"product",'p.label'=>"product",'p.description'=>"product",'p.note'=>"product",'p.price'=>"product",'p.tva_tx'=>'product','p.tosell'=>"product",'p.duration'=>"product",'p.datec'=>'product','p.tms'=>'product','ps.reel'=>'stock');
$this->export_aggregate_array[$r]=array('ps.reel'=>'SUM'); // TODO Not used yet
$this->export_dependencies_array[$r]=array('stock'=>array('p.rowid','e.rowid')); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them

View File

@ -952,6 +952,14 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
$pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R');
if ($object->ref_supplier)
{
$posy+=4;
$pdf->SetXY($posx,$posy);
$pdf->SetTextColor(0,0,60);
$pdf->MultiCell(100, 3, $outputlangs->transnoentities("RefSupplier")." : " . $outputlangs->convToOutputCharset($object->ref_supplier), '', 'R');
}
$posy+=2;
$pdf->SetFont('','', $default_font_size -1);

View File

@ -1481,7 +1481,7 @@ else
$formmail->withfrom=1;
$liste=array();
foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key=>$value) $liste[$key]=$value;
$formmail->withto=GETPOST("sendto")?GETOST("sendto"):$liste;
$formmail->withto=GETPOST("sendto")?GETPOST("sendto"):$liste;
$formmail->withtocc=$liste;
$formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC;
$formmail->withtopic=$langs->trans('SendShippingRef','__SHIPPINGREF__');
@ -1558,4 +1558,4 @@ else
llxFooter();
$db->close();
?>
?>

View File

@ -1712,7 +1712,7 @@ else if ($id > 0 || ! empty($ref))
$formmail->withfrom=1;
$liste=array();
foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key=>$value) $liste[$key]=$value;
$formmail->withto=GETPOST("sendto")?GETOST("sendto"):$liste;
$formmail->withto=GETPOST("sendto")?GETPOST("sendto"):$liste;
$formmail->withtocc=$liste;
$formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC;
$formmail->withtopic=$langs->trans('SendInterventionRef','__FICHINTERREF__');

View File

@ -1944,7 +1944,7 @@ elseif (! empty($object->id))
$formmail->withfrom=1;
$liste=array();
foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key=>$value) $liste[$key]=$value;
$formmail->withto=GETPOST("sendto")?GETOST("sendto"):$liste;
$formmail->withto=GETPOST("sendto")?GETPOST("sendto"):$liste;
$formmail->withtocc=$liste;
$formmail->withtoccc=(! empty($conf->global->MAIN_EMAIL_USECCC)?$conf->global->MAIN_EMAIL_USECCC:false);
$formmail->withtopic=$langs->trans('SendOrderRef','__ORDERREF__');

View File

@ -460,7 +460,7 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
else
{
$db->commit();
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
$result=supplier_invoice_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
if ($result <= 0)
@ -469,7 +469,7 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
exit;
}
}
header("Location: ".$_SERVER['PHP_SELF']."?id=".$id);
exit;
}
@ -1213,7 +1213,7 @@ if ($action == 'create')
print '<tr><td>'.$langs->trans('DateMaxPayment').'</td><td>';
$form->select_date($datedue,'ech','','','',"add",1,1);
print '</td></tr>';
// Payment term
print '<tr><td class="nowrap">'.$langs->trans('PaymentConditionsShort').'</td><td colspan="2">';
$form->select_conditions_paiements(isset($_POST['cond_reglement_id'])?$_POST['cond_reglement_id']:$cond_reglement_id,'cond_reglement_id');
@ -1656,7 +1656,7 @@ else
}
print "</td>";
print '</tr>';
// Mode of payment
$langs->load('bills');
$form = new Form($db);
@ -1683,7 +1683,7 @@ else
print '<tr><td>'.$langs->trans('AmountHT').'</td><td align="right">'.price($object->total_ht,1,$langs,0,-1,-1,$conf->currency).'</td><td colspan="2" align="left">&nbsp;</td></tr>';
print '<tr><td>'.$langs->trans('AmountVAT').'</td><td align="right">'.price($object->total_tva,1,$langs,0,-1,-1,$conf->currency).'</td><td colspan="2" align="left">';
if (! empty($conf->global->MAIN_FEATURES_LEVEL))
if (! empty($conf->global->MAIN_FEATURES_LEVEL))
{
if (GETPOST('calculationrule')) $calculationrule=GETPOST('calculationrule','alpha');
else $calculationrule=(empty($conf->global->MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND)?'totalofround':'roundoftotal');
@ -2146,7 +2146,7 @@ else
// Make payments
if ($action != 'edit' && $object->statut == 1 && $object->paye == 0 && $user->societe_id == 0)
{
print '<a class="butAction" href="paiement.php?id='.$object->id.'&amp;action=create">'.$langs->trans('DoPayment').'</a>';
print '<a class="butAction" href="paiement.php?facid='.$object->id.'&amp;action=create">'.$langs->trans('DoPayment').'</a>'; // must use facid because id is for payment id not invoice
}
// Classify paid
@ -2276,7 +2276,7 @@ else
$formmail->withfrom=1;
$liste=array();
foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key=>$value) $liste[$key]=$value;
$formmail->withto=GETPOST("sendto")?GETOST("sendto"):$liste;
$formmail->withto=GETPOST("sendto")?GETPOST("sendto"):$liste;
$formmail->withtocc=$liste;
$formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC;
$formmail->withtopic=$langs->trans('SendBillRef','__FACREF__');

View File

@ -638,7 +638,7 @@ if (empty($id) || $action == 'add' || $action == 'request')
case 'nodatedebut' :
$errors[] = $langs->trans('NoDateDebut');
break;
case 'nodatedebut' :
case 'nodatefin' :
$errors[] = $langs->trans('NoDateFin');
break;
case 'DureeHoliday' :
@ -808,7 +808,7 @@ else
case 'nodatedebut' :
$errors[] = $langs->transnoentitiesnoconv('NoDateDebut');
break;
case 'nodatedebut' :
case 'nodatefin' :
$errors[] = $langs->transnoentitiesnoconv('NoDateFin');
break;
case 'DureeHoliday' :

View File

@ -21,15 +21,12 @@ font-size:13px;
font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
/* background-color: #F4F4F4; */
margin-left: 30px;
margin-right: 30px;
margin-top: 15px;
margin-bottom: 10px;
margin: 15px 30px 10px;
}
div.titre {
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
}
span.titre {
@ -39,26 +36,26 @@ background: #FFFFFF;
color: #4965B3;
border: 1px solid #8CACBB;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
}
div.soustitre {
font-size: 15px;
font-weight: bold;
color: #4965B3;
padding: 0em 1.2em 0.5em 2em;
padding: 0 1.2em 0.5em 2em;
margin: 1.2em 1.2em 1.2em 1.2em;
border-bottom: 1px solid #8CACBB;
border-right: 1px solid #8CACBB;
text-align: right;
}
inputdisabled
input:disabled
{
background: #FDFDFD;
border: 1px solid #ACBCBB;
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
padding: 0 0 0 0;
margin: 0 0 0 0;
}
input[type=text], input[type=password] {
@ -69,9 +66,8 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus
box-shadow: 0 0 5px #C091AF;
}
input:-webkit-autofill {
background-color: #FBFFEA !important;
background-image: none !important;
-webkit-box-shadow: 0 0 0 50px #FBFFEA inset;
background: #FBFFEA none !important;
-webkit-box-shadow: 0 0 0 50px #FBFFEA inset;
}
table.main {
@ -91,11 +87,8 @@ color: #000000;
table.listofchoices, tr.listofchoices, td.listofchoices {
border-collapse: collapse;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 4px;
padding-right: 4px;
color: #000000;
padding: 4px;
color: #000000;
border: 1px solid #888888 !important;
}
@ -137,7 +130,7 @@ div.error {
color: #550000;
font-weight: bold;
padding: 0.2em 0.2em 0.2em 0.2em;
margin: 0.5em 0em 0.5em 0em;
margin: 0.5em 0 0.5em 0;
border: 1px solid #6C7C8B;
}
font.error {
@ -199,7 +192,7 @@ background-color: #B5C5C5;
td.label {
color: #5945A3;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
border-bottom: 1px solid #CCCCDB;
}
@ -207,7 +200,7 @@ border-bottom: 1px solid #CCCCDB;
td.comment {
color: black;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
text-decoration:none;
font-size: 11px;
border-bottom: 1px solid #CCCCDB;
@ -239,14 +232,13 @@ ul {
.button {
background-color: #FFFFFF;
background-position: bottom;
background: #FFFFFF bottom;
border: 1px solid #C0C0C0;
padding: 0.3em 0.7em;
margin: 0em 0.5em;
-moz-border-radius:0px 5px 0px 5px;
-webkit-border-radius:0px 5px 0px 5px;
border-radius:0px 5px 0px 5px;
margin: 0 0.5em;
-moz-border-radius:0 5px 0 5px;
-webkit-border-radius:0 5px 0 5px;
border-radius:0 5px 0 5px;
-moz-box-shadow: 2px 2px 3px #CCC;
-webkit-box-shadow: 2px 2px 3px #CCC;
box-shadow: 2px 2px 3px #CCC;

View File

@ -402,7 +402,7 @@ if (! $error && $db->connected && $action == "set")
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$srcroot=$main_dir.'/install/doctemplates';
$destroot=$main_data_dir.'/doctemplates';
$docs=array('thirdparties' => 'thirdparty', 'proposals' => 'proposal', 'orders' => 'order', 'invoices' => 'invoice', 'projects' => 'project', 'projects' => 'task_summary', 'tasks' => 'task_summary');
$docs=array('thirdparties' => 'thirdparty', 'proposals' => 'proposal', 'orders' => 'order', 'invoices' => 'invoice', 'projects' => 'project', 'tasks' => 'task_summary');
foreach($docs as $cursordir => $cursorfile)
{
$src=$srcroot.'/'.$cursordir.'/template_'.$cursorfile.'.odt';

View File

@ -20,7 +20,7 @@
.survey_invitation
{
font-color: #445566;
color: #445566;
font-weight: bold;
}
@ -141,7 +141,7 @@ div.bandeau{
color:white;
vertical-align:middle;
font-size:35px;
font-family:arial;
font-family:arial, sans-serif;
padding:8px;
height:35px;
position:static;
@ -166,7 +166,7 @@ div.bandeautitre{
font-weight:bold;
text-align:center;
vertical-align:middle;
font-family:arial;
font-family:arial, sans-serif;
padding:3px;
position:static;
top:57px;
@ -179,7 +179,7 @@ div.sousbandeau{
font-size:11px;
color:black;
vertical-align:middle;
font-family:arial;
font-family:arial, sans-serif;
padding:3px;
position:static;
top:80px;
@ -200,7 +200,7 @@ div.bandeaupied{
background-color: #0b419b;
color:white;
font-size:11px;
font-family:arial;
font-family:arial, sans-serif;
padding:6px;
position:fixed;
bottom:6px;
@ -221,7 +221,7 @@ div.bandeaupiedmobile{
background-color: #0b419b;
color:white;
font-size:11px;
font-family:arial;
font-family:arial, sans-serif;
padding:6px;
position:static;
}
@ -234,7 +234,7 @@ div.sousbandeau a, div.sousbandeau span.sousbandeaulangue a {
text-align:center;
margin-left:10px;
margin-right:10px;
font-family:arial;
font-family:arial, sans-serif;
color:white;
font-size:10px;
text-decoration:none;
@ -247,18 +247,18 @@ span.sousbandeaulangue {
/*corps de la page index.php*/
div.corps{
font-size:12px;
font-family:arial;
font-family:arial, sans-serif;
position:static;
padding:15px;
}
div.corps table{
font-family:arial;
font-family:arial, sans-serif;
font-size:12px;
font-weight:bold;
}
div.corpscentre{
font-size:12px;
font-family:arial;
font-family:arial, sans-serif;
text-align:center;
position:absolute;
top:150px;
@ -280,7 +280,7 @@ div.jourschoisis {
/*presenation des pages*/
div.bodydate {
padding:10px;
font-family:arial;
font-family:arial, sans-serif;
font-size:12px;
text-align:center;
position:static;
@ -289,14 +289,14 @@ div.bodydate {
right:20px;
}
div.bodydate table{
font-family:arial;
font-family:arial, sans-serif;
font-size:12px;
font-weight:bold;
}
/*cadre de commentaires*/
div.presentationdate {
width:100%;
font-family:arial;
font-family:arial, sans-serif;
text-align:center;
font-size:12px;
border-top:1px solid;
@ -311,12 +311,11 @@ div.presentationdate {
div.presentationdatefin {
width:40%;
padding:10px;
font-family:arial;
font-family:arial, sans-serif;
text-align:center;
font-size:12px;
border-width:1px;
border-style:solid;
margin-top: 10px;
font-size:12px;
border: 1px solid;
margin-top: 10px;
margin-left: 30%;
margin-right: 30%;
position:static;
@ -324,7 +323,7 @@ div.presentationdatefin {
/*cadre principal de studs.php*/
div.cadre {
padding:10px;
font-family:arial;
font-family:arial, sans-serif;
font-size:12px;
position:static;
top:235px;
@ -406,7 +405,7 @@ div.calendrier {
background-color: #AAA;
width:490px;
font-size:12px;
font-family:arial;
font-family:arial, sans-serif;
margin-left: 30%;
margin-right: 30%;
position:static;
@ -415,7 +414,7 @@ div.calendrier {
div.calendrier td.joursemaine {
width:65px;
text-align: center;
font-family:arial;
font-family:arial, sans-serif;
font-size:14px;
border: 2px;
background-color: white;
@ -423,7 +422,7 @@ div.calendrier td.joursemaine {
div.calendrier td.jourwe {
width:65px;
text-align: center;
font-family:arial;
font-family:arial, sans-serif;
font-size:14px;
border: 2px;
background-color: #C0C0C0;
@ -433,7 +432,7 @@ div.calendrier td.avant {
width:65px;
text-align: center;
border: 2px;
font-family:arial;
font-family:arial, sans-serif;
font-size:13px;
background-color: #DDDDDD;
}
@ -454,7 +453,7 @@ div.calendrier td.choisi {
/* Le paragraphe de fin */
p.affichageresultats{
text-align: center;
font-family:arial;
font-family:arial, sans-serif;
font-size:13px;
}
@ -468,7 +467,7 @@ div.comment span.usercomment{
a.affichageexport{
text-align: center;
font-family:arial;
font-family:arial, sans-serif;
font-size:10px;
margin-left:10px;
text-decoration: none;
@ -483,11 +482,11 @@ div.titregestionadmin{
.bouton {
width: 65px;
border:0px;
padding:0px 0 0 0;
margin:0px;
border:0;
padding:0 0 0 0;
margin:0;
cursor:pointer;
font-family:arial;
font-family:arial, sans-serif;
font-size:13px;
}
/*les boutons pour choisir un jour non selectionné*/
@ -505,7 +504,7 @@ div.nouveau_sondage a {
}
div.nouveau_sondage span img {
vertical-align: middle;
border: 0px;
border: 0;
}
div.nouveau_sondage span {
margin-left: 20px;
@ -514,7 +513,7 @@ div.nouveau_sondage span {
div.error, div.addcomment {
text-align:center;
border: 1px;
font-family: arial;
font-family: arial, sans-serif;
font-size: 13px;
}
ul.exports {

View File

@ -1036,7 +1036,7 @@ class Task extends CommonObject
$clone_task->fk_project = $project_id;
$clone_task->fk_task_parent = $parent_task_id;
$clone_task->date_c = $datec;
$clone_task->planned_workload = $clone_task->planned_workload;
$clone_task->planned_workload = $origin_task->planned_workload;
$clone_task->rang = $origin_task->rang;
//Manage Task Date

View File

@ -23,7 +23,7 @@
?>
<div id="principal_content" style="margin-left: 0px;">
<div id="principal_content" style="margin-left: 0;">
<div style="margin-left: 0; position: relative;" class="gantt"
id="GanttChartDIV"></div>

View File

@ -210,7 +210,7 @@ if (count($tasksarray)>0)
{
$s.=$langs->trans("Internals").': ';
$i=0;
foreach($idofusers as $key => $valid)
foreach($idofusers as $valid)
{
$userstatic->fetch($valid);
if ($i) $s.=',';
@ -224,7 +224,7 @@ if (count($tasksarray)>0)
if ($s) $s.=' - ';
$s.=$langs->trans("Externals").': ';
$i=0;
foreach($idofthirdparty as $key => $valid)
foreach($idofthirdparty as $valid)
{
$companystatic->fetch($valid);
if ($i) $s.=',';

View File

@ -290,7 +290,6 @@ abstract class ActionsCardCommon
}
else
{
$this->object->id = $this->object->id;
$reload = 0;
$this->errors = $this->object->errors;
$action = "edit";

View File

@ -20,15 +20,12 @@ font-size:12px;
font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
/* background-color: #F4F4F4; */
margin-left: 10px;
margin-right: 10px;
margin-top: 5px;
margin-bottom: 5px;
margin: 5px 10px;
}
div.titre {
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
}
span.titre {
@ -37,7 +34,7 @@ font-weight: bold;
background: #FFFFFF;
color: #4965B3;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
border: 1px solid #AAAAAA;
}
@ -45,19 +42,19 @@ div.soustitre {
font-size: 15px;
font-weight: bold;
color: #4965B3;
padding: 0em 1.2em 0.5em 2em;
padding: 0 1.2em 0.5em 2em;
margin: 1.2em 1.2em 1.2em 1.2em;
border-bottom: 1px solid #8CACBB;
border-right: 1px solid #8CACBB;
text-align: right;
}
inputdisabled
input:disabled
{
background: #FDFDFD;
border: 1px solid #ACBCBB;
padding: 0px 0px 0px 0px;
margin: 0px 0px 0px 0px;
padding: 0 0 0 0;
margin: 0 0 0 0;
}
table.main {
@ -77,7 +74,7 @@ color: #777711;
div.error {
color: #550000; font-weight: bold;
padding: 0.2em 0.2em 0.2em 0.2em;
margin: 0.5em 0em 0.5em 0em;
margin: 0.5em 0 0.5em 0;
border: 1px solid #6C7C8B;
}
@ -124,7 +121,7 @@ td.label {
background: #dcdcd3;
color: #5945A3;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
border-bottom: 1px solid #8CACBB;
}
@ -132,7 +129,7 @@ td.comment {
background: #dcdcd3;
color: black;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
margin: 0 0 0 0;
text-decoration:none;
font-size: 13px;
border-bottom: 1px solid #8CACBB;

View File

@ -358,8 +358,6 @@ function getProductOrService($authentication,$id='',$ref='',$ref_ext='')
'localtax1_tx' => $product->localtax1_tx,
'localtax2_tx' => $product->localtax2_tx,
'price_base_type' => $product->price_base_type,
'stock_real' => $product->stock_reel,
'stock_alert' => $product->seuil_stock_alerte,
'pmp' => $product->pmp,

View File

@ -196,8 +196,8 @@ if ($resql)
}
}
else
{
print "No unpaid invoices found\n";
{
print "No services to expire found\n";
}
exit(0);
@ -261,7 +261,7 @@ function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldtarget,$durati
$allmessage.=$conf->global->SCRIPT_EMAIL_EXPIRE_SERVICES_CUSTOMERS_HEADER;
}
else
{
{
$allmessage.= "Dear customer".($usehtml?"<br>\n":"\n").($usehtml?"<br>\n":"\n");
$allmessage.= "Please, find a summary of the services contracted by you that are about to expire.".($usehtml?"<br>\n":"\n").($usehtml?"<br>\n":"\n");
}