Merge remote-tracking branch 'origin/3.3' into develop
This commit is contained in:
commit
5c51905f63
@ -5,6 +5,9 @@ English Dolibarr ChangeLog
|
||||
|
||||
***** ChangeLog for 3.3 compared to 3.2.3 *****
|
||||
For users:
|
||||
- New: Add holiday module, to declare and follow holidays of your employees.
|
||||
- New: Add margin management module.
|
||||
- New: Add new theme Amarok.
|
||||
- New: [ task #289 ] Can reorder tasks.
|
||||
- New: Add field "signature" into user card. If filled, text is added
|
||||
at end of predefined email texts. If option MAIN_MAIL_DO_NOT_USE_SIGN is on, this
|
||||
@ -69,13 +72,10 @@ For users:
|
||||
- New: [ task #608 ] Can clone a supplier order with prices updates
|
||||
- New: [ task #559 ] Can define a discount % regarding quantity in supplier prices and price by quantity in customer prices
|
||||
- New: [ task #527 ] After cloning a suplier invoice, go onto invoice ref into edit mode
|
||||
- New: Add new theme Amarok.
|
||||
|
||||
New experimental modules:
|
||||
- New: Add margin management module.
|
||||
New experimental module:
|
||||
- New: Add commissions management module.
|
||||
|
||||
|
||||
- Fix: [ bug #499 ] Supplier order input method not translated
|
||||
- Fix: No images into product description lines as PDF generation does not work with this.
|
||||
- Fix: Errors weren't being shown in customer's & supplier's orders
|
||||
|
||||
@ -22,8 +22,9 @@ AppVerName=DoliWamp-3.3.0-beta
|
||||
OutputBaseFilename=DoliWamp-3.3.0-beta
|
||||
; Define full path from wich all relative path are defined
|
||||
; You must modify this to put here your dolibarr root directory
|
||||
;SourceDir=C:\Documents and Settings\ldestail\git\dolibarr_old
|
||||
SourceDir=Z:\home\ldestail\git\dolibarr
|
||||
;SourceDir=C:\Documents and Settings\ldestailleur\git\dolibarr_old
|
||||
;SourceDir=Z:\home\ldestailleur\git\dolibarr_veryold
|
||||
SourceDir=..\..\..
|
||||
; ----- End of change
|
||||
;OutputManifestFile=build\doliwampbuild.log
|
||||
AppId=doliwamp
|
||||
@ -102,14 +103,14 @@ Source: "build\exe\doliwamp\UsedPort.exe"; DestDir: "{app}\"; Flags: ignoreversi
|
||||
; Put here path of Wampserver applications
|
||||
; Value OK: apache 2.2.6, php 5.2.5 (5.2.11, 5.3.0 and 5.3.1 fails if php_exif, php_pgsql, php_zip is on), mysql 5.0.45 or 5.1.36
|
||||
; Value OK: apache 2.2.11, php 5.3.0 (if no php_exif, php_pgsql, php_zip), mysql 5.0.45 or 5.1.36
|
||||
Source: "C:\Program Files\Wamp\apps\phpmyadmin3.2.0.1\*.*"; DestDir: "{app}\apps\phpmyadmin3.2.0.1"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log"
|
||||
Source: "C:\Program Files\Wamp\apps\phpmyadmin3.2.0.1\*.*"; DestDir: "{app}\apps\phpmyadmin3.2.0.1"; Flags: ignoreversion recursesubdirs; Excludes: "config.inc.php,wampserver.conf,*.log,*_log,darkblue_orange"
|
||||
Source: "C:\Program Files\Wamp\bin\apache\apache2.2.11\*.*"; DestDir: "{app}\bin\apache\apache2.2.11"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,httpd.conf,wampserver.conf,*.log,*_log"
|
||||
Source: "C:\Program Files\Wamp\bin\php\php5.3.0\*.*"; DestDir: "{app}\bin\php\php5.3.0"; Flags: ignoreversion recursesubdirs; Excludes: "php.ini,phpForApache.ini,wampserver.conf,*.log,*_log"
|
||||
Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\mysql\mysql5.0.45"; Flags: ignoreversion recursesubdirs; Excludes: "my.ini,data\*,wampserver.conf,*.log,*_log,MySQLInstanceConfig.exe"
|
||||
; Mysql data files (does not overwrite if exists)
|
||||
Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db"
|
||||
; Dolibarr
|
||||
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\install.forced.php"
|
||||
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php"
|
||||
Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,xdebug\*"
|
||||
Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*,images\dolibarr_screenshot2.png,images\dolibarr_screenshot3.png,images\dolibarr_screenshot4.png,images\dolibarr_screenshot5.png,images\dolibarr_screenshot6.png,images\dolibarr_screenshot7.png,images\dolibarr_screenshot8.png,images\dolibarr_screenshot9.png,images\dolibarr_screenshot10.png,images\dolibarr_screenshot11.png,images\dolibarr_screenshot12.png"
|
||||
Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".cvsignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php"
|
||||
|
||||
@ -45,7 +45,7 @@ if (-d "/usr/src/RPM") { $RPMDIR="/usr/src/RPM"; } # mandrake
|
||||
|
||||
|
||||
use vars qw/ $REVISION $VERSION /;
|
||||
$VERSION="3.2";
|
||||
$VERSION="3.3";
|
||||
|
||||
|
||||
|
||||
|
||||
@ -199,10 +199,11 @@ $dolibarr_main_authentication='dolibarr';
|
||||
// dolibarr_main_force_https
|
||||
// This parameter allows to force the HTTPS mode.
|
||||
// 0 = No forced redirect
|
||||
// 1 = Force redirect to https until SCRIPT_URI start with https
|
||||
// 2 = Force redirect to https until SERVER["HTTPS"] is 'on'
|
||||
// 1 = Force redirect to https, until SCRIPT_URI start with https into response
|
||||
// 2 = Force redirect to https, until SERVER["HTTPS"] is 'on' into response
|
||||
// Warning: If you enable this parameter, your web server must be configured
|
||||
// to respond URL with https protocol.
|
||||
// to respond URL with https protocol. Try different values (1,2) if you
|
||||
// experience problems.
|
||||
// Default value: 0
|
||||
// Possible values: 0, 1 or 2
|
||||
// Examples:
|
||||
@ -263,6 +264,17 @@ $dolibarr_main_db_prefix='';
|
||||
// Examples:
|
||||
// $dolibarr_strict_mode=0;
|
||||
|
||||
// dolibarr_pdf_force_fpdf
|
||||
// Set this to 1 to use the libray FPDF instead of TCPDF. FPDF is not embedded with Dolibarr,
|
||||
// so you also have to uncomment line $dolibarr_lib_FPDF_PATH to provide path to FPDF library.
|
||||
// Warning: FPDF does not support all features supported by TCPDF used by default. So using
|
||||
// this library instead of TCPF will break some features like transparent logo, cyrillic, arab,
|
||||
// and asiatic languages, total number of pages, ...
|
||||
// Default value: 0
|
||||
// Examples:
|
||||
// $dolibarr_pdf_force_fpdf=1;
|
||||
|
||||
|
||||
|
||||
//#################################
|
||||
// Path to external libraries/fonts
|
||||
@ -270,13 +282,14 @@ $dolibarr_main_db_prefix='';
|
||||
|
||||
// Value to overwrite path to use shared libraries instead of embedded one
|
||||
//$dolibarr_lib_ADODB_PATH='/usr/share/php/adodb';
|
||||
//$dolibarr_lib_TCPDF_PATH='/usr/share/php/tcpdf';
|
||||
//$dolibarr_lib_FPDI_PATH='/usr/share/php/fpdi';
|
||||
//$dolibarr_lib_FPDF_PATH='/usr/share/php/fpdf';
|
||||
//$dolibarr_lib_GEOIP_PATH='';
|
||||
//$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
|
||||
//$dolibarr_lib_PHPEXCEL_PATH='';
|
||||
//$dolibarr_lib_ODTPHP_PATH='';
|
||||
//$dolibarr_lib_ODTPHP_PATHTOPCLZIP="/usr/share/php/libphp-pclzip";
|
||||
//$dolibarr_lib_TCPDF_PATH='';
|
||||
// Value to overwrite path to use shared javascript instead of embedded one
|
||||
//$dolibarr_js_CKEDITOR='/javascript/ckeditor';
|
||||
//$dolibarr_js_JQUERY='/javascript/jquery';
|
||||
@ -292,6 +305,7 @@ $dolibarr_main_db_prefix='';
|
||||
//##############################
|
||||
|
||||
// multicompany_transverse_mode
|
||||
// Prerequisite: Need external module "multicompany"
|
||||
// Pyramidal (0): The rights and groups are managed in each entity,
|
||||
// users belong to the entity for their rights.
|
||||
// Transversal (1): The groups can belong only to the master entity
|
||||
|
||||
@ -722,18 +722,13 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@ -756,21 +751,16 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 before VAT
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@ -824,14 +814,10 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
@ -865,17 +851,13 @@ class pdf_einstein extends ModelePDFCommandes
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 after VAT
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
|
||||
@ -852,18 +852,14 @@ class pdf_crabe extends ModelePDFFactures
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@ -885,22 +881,18 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 before VAT
|
||||
}
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@ -954,14 +946,10 @@ class pdf_crabe extends ModelePDFFactures
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
@ -995,17 +983,13 @@ class pdf_crabe extends ModelePDFFactures
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 after VAT
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
// retrieve global local tax
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005 Matthieu Valleton <mv@seeschloss.org>
|
||||
* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -178,14 +178,19 @@ class modCategorie extends DolibarrModules
|
||||
$this->import_fields_array[$r]=array('ca.label'=>"Label*",'ca.type'=>"Type*",'ca.description'=>"Description");
|
||||
|
||||
$this->import_regex_array[$r]=array('ca.type'=>'^[0|1|2|3]');
|
||||
$this->import_examplevalues_array[$r]=array('ca.label'=>"Supplier Category",'ca.type'=>"1",'ca.description'=>"Imported category");
|
||||
$typeexample="";
|
||||
if ($conf->product->enabled) { $typeexample.=($typeexample?"/":"")."0=Product"; }
|
||||
if ($conf->fournisseur->enabled) { $typeexample.=($typeexample?"/":"")."1=Supplier"; }
|
||||
if ($conf->societe->enabled) { $typeexample.=($typeexample?"/":"")."2=Customer-Prospect"; }
|
||||
if ($conf->adherent->enabled) { $typeexample.=($typeexample?"/":"")."3=Member"; }
|
||||
$this->import_examplevalues_array[$r]=array('ca.label'=>"Supplier Category",'ca.type'=>$typeexample,'ca.description'=>"Imported category");
|
||||
|
||||
if (! empty($conf->product->enabled))
|
||||
{
|
||||
//Products
|
||||
$r++;
|
||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
||||
$this->import_label[$r]="CatProdList"; // Translation key
|
||||
$this->import_label[$r]="CatProdLinks"; // Translation key
|
||||
$this->import_icon[$r]=$this->picto;
|
||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||
$this->import_tables_array[$r]=array('cp'=>MAIN_DB_PREFIX.'categorie_product');
|
||||
@ -204,7 +209,7 @@ class modCategorie extends DolibarrModules
|
||||
//Customers
|
||||
$r++;
|
||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
||||
$this->import_label[$r]="CatCusList"; // Translation key
|
||||
$this->import_label[$r]="CatCusLinks"; // Translation key
|
||||
$this->import_icon[$r]=$this->picto;
|
||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||
$this->import_tables_array[$r]=array('cs'=>MAIN_DB_PREFIX.'categorie_societe');
|
||||
@ -223,7 +228,7 @@ class modCategorie extends DolibarrModules
|
||||
// Suppliers
|
||||
$r++;
|
||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
||||
$this->import_label[$r]="CatSupList"; // Translation key
|
||||
$this->import_label[$r]="CatSupLinks"; // Translation key
|
||||
$this->import_icon[$r]=$this->picto;
|
||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||
$this->import_tables_array[$r]=array('cs'=>MAIN_DB_PREFIX.'categorie_fournisseur');
|
||||
|
||||
@ -170,6 +170,7 @@ class modECM extends DolibarrModules
|
||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||
$r++;
|
||||
|
||||
/*
|
||||
$this->menu[$r]=array('fk_menu'=>'r=1',
|
||||
'type'=>'left',
|
||||
'titre'=>'Search',
|
||||
@ -181,7 +182,8 @@ class modECM extends DolibarrModules
|
||||
'enabled'=>'$user->rights->ecm->read',
|
||||
'target'=>'',
|
||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||
$r++;
|
||||
|
||||
$r++;*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -755,18 +755,14 @@ class pdf_azur extends ModelePDFPropales
|
||||
//Local tax 1 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@ -788,22 +784,18 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 before VAT
|
||||
}
|
||||
//Local tax 2 before VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '1':
|
||||
case '3':
|
||||
case '5':
|
||||
case '7':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
// TODO: Place into a function to control showing by country or study better option
|
||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
if ($tvakey!=0) // On affiche pas taux 0
|
||||
{
|
||||
//$this->atleastoneratenotnull++;
|
||||
|
||||
@ -857,14 +849,10 @@ class pdf_azur extends ModelePDFPropales
|
||||
//Local tax 1 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||
{
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
@ -898,17 +886,13 @@ class pdf_azur extends ModelePDFPropales
|
||||
}
|
||||
}
|
||||
}
|
||||
//Local tax 2 after VAT
|
||||
//Local tax 2 after VAT
|
||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||
{
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate ) {
|
||||
switch ($localtax_type) {
|
||||
case '2':
|
||||
case '4':
|
||||
case '6':
|
||||
continue 2;
|
||||
break;
|
||||
}
|
||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||
{
|
||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||
|
||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||
{
|
||||
if ($tvakey>0) // On affiche pas taux 0
|
||||
|
||||
@ -653,7 +653,7 @@ if ($action == 'send' && ! GETPOST('cancel','alpha') && (empty($conf->global->MA
|
||||
}
|
||||
else // Id du contact
|
||||
{
|
||||
$sendto = $object->client->contact_get_email(GETPOST('receiver','alpha'));
|
||||
$sendto = $object->client->contact_get_property(GETPOST('receiver'),'email');
|
||||
$sendtoid = GETPOST('receiver','alpha');
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ create table llx_categorie
|
||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||
fk_parent integer DEFAULT 0 NOT NULL,
|
||||
label varchar(255) NOT NULL, -- category name
|
||||
type tinyint DEFAULT 1 NOT NULL, -- category type (product, supplier, customer)
|
||||
type tinyint DEFAULT 1 NOT NULL, -- category type (product, supplier, customer, member)
|
||||
description text, -- description of the category
|
||||
fk_soc integer DEFAULT NULL, -- attribution of the category has a company (for product only)
|
||||
visible tinyint DEFAULT 1 NOT NULL, -- determine if the products are visible or not
|
||||
|
||||
@ -257,7 +257,7 @@ ModuleFamilyHr=Recursos Humans
|
||||
ModuleFamilyProjects=Projectes/Treball cooperatiu
|
||||
ModuleFamilyOther=Altre
|
||||
ModuleFamilyTechnic=Mòduls eines o Sistema
|
||||
ModuleFamilyExperimental=Mòduls experimentals (no utilitzar en producció)
|
||||
ModuleFamilyExperimental=Mòduls experimentals
|
||||
ModuleFamilyFinancial=Mòduls financers (Comptabilitat/tresoreria)
|
||||
ModuleFamilyECM=Gestió Electrònica de Documents (GED)
|
||||
MenuHandlers=Gestors de menú
|
||||
|
||||
@ -91,4 +91,8 @@ CategId=Category id
|
||||
CatSupList=List of supplier categories
|
||||
CatCusList=List of customer/prospect categories
|
||||
CatProdList=List of products categories
|
||||
CatMemberList=List of members categories
|
||||
CatMemberList=List of members categories
|
||||
CatSupLinks=Links between suppliers and categories
|
||||
CatCusLinks=Links between customers/prospects and categories
|
||||
CatProdLinks=Links between products/services and categories
|
||||
CatMemberLinks=Links between members and categories
|
||||
@ -257,7 +257,7 @@ ModuleFamilyHr=Recursos Humanos
|
||||
ModuleFamilyProjects=Proyectos/Trabajo cooperativo
|
||||
ModuleFamilyOther=Otro
|
||||
ModuleFamilyTechnic=Módulos herramientas o Sistema
|
||||
ModuleFamilyExperimental=Módulos experimentales (no utilizar en producción)
|
||||
ModuleFamilyExperimental=Módulos experimentales
|
||||
ModuleFamilyFinancial=Módulos financieros (Contabilidad/tesorería)
|
||||
ModuleFamilyECM=Gestión Electrónica de Documentos (GED)
|
||||
MenuHandlers=Gestores menú
|
||||
|
||||
@ -91,4 +91,8 @@ CategId=Id catégorie
|
||||
CatSupList=Liste des catégories fournisseurs
|
||||
CatCusList=Liste des catégories clients/prospects
|
||||
CatProdList=Liste des catégories produits
|
||||
CatMemberList=Liste des catégories adhérents
|
||||
CatMemberList=Liste des catégories adhérents
|
||||
CatSupLinks=Liens entre les fournisseurs et les catégories
|
||||
CatCusLinks=Liens entre les clients/prospects et les catégories
|
||||
CatProdLinks=Liens entre les produits/services et les catégories
|
||||
CatMemberLinks=Links entre les adhérents et les catégories
|
||||
@ -202,7 +202,7 @@ ModuleFamilyHr=Recursos Humanos
|
||||
ModuleFamilyProjects=Projetos/Trabalho cooperativo
|
||||
ModuleFamilyOther=Outro
|
||||
ModuleFamilyTechnic=Módulos ferramentas do sistema
|
||||
ModuleFamilyExperimental=Módulos testes (não utilizar em produção)
|
||||
ModuleFamilyExperimental=Módulos testes
|
||||
ModuleFamilyFinancial=Módulos financeiros (Contabilidade/Tesouraria)
|
||||
ModuleFamilyECM=ECM
|
||||
MenuHandlers=Configuradores menu
|
||||
|
||||
@ -652,7 +652,7 @@ ModuleDisabledSoNoEvent = Módulo deficientes evento nunca criado
|
||||
ModuleFamilyBase = Sistema
|
||||
ModuleFamilyCrm = Gestão cliente (CRM)
|
||||
ModuleFamilyECM = ECM
|
||||
ModuleFamilyExperimental = Módulos testes (não utilizar em produção)
|
||||
ModuleFamilyExperimental = Módulos testes
|
||||
ModuleFamilyFinancial = Módulos financeiros (Contabilidade/Tesouraria)
|
||||
ModuleFamilyHr = Recursos Humanos
|
||||
ModuleFamilyOther = Outro
|
||||
|
||||
@ -48,7 +48,7 @@ i18n["sDay"]= "<?php echo $langs->transnoentities("Day") ?>";
|
||||
i18n["sDays"]= "<?php echo $langs->transnoentities("Days") ?>";
|
||||
i18n["sWeek"] = "<?php echo $langs->transnoentities("Week") ?>";
|
||||
i18n["sMonth"] = "<?php echo $langs->transnoentities("Month") ?>";
|
||||
i18n["sQuarter"] = "<?php echo $langs->transnoentities("Quarter") ?>";
|
||||
i18n["sQuarter"] = "<?php echo $langs->transnoentities("Quadri") ?>";
|
||||
i18n["View"] = "<?php echo $langs->transnoentities("View") ?>";
|
||||
i18n["Resource"] = "<?php echo $langs->transnoentities("Resources") ?>";
|
||||
i18n["Duration"] = "<?php echo $langs->transnoentities("Duration") ?>";
|
||||
|
||||
@ -1848,7 +1848,7 @@ div.titre {
|
||||
font-weight: bold;
|
||||
color: rgb(<?php print $colortext; ?>);
|
||||
text-decoration: none;
|
||||
text-shadow: 1px 1px 2px #CFCFCF;
|
||||
text-shadow: 1px 1px 2px #FFFFfF;
|
||||
}
|
||||
|
||||
#dolpaymenttable { width: 600px; font-size: 13px; }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user