Merge branch 'develop' of https://github.com/Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
e7520b4bc7
@ -7,6 +7,7 @@ This directory contains files used by makepack-dolibarr.pl
|
|||||||
script to build a package, ready to be distributed,
|
script to build a package, ready to be distributed,
|
||||||
with format .DEB (for Debian, Ubuntu, ...).
|
with format .DEB (for Debian, Ubuntu, ...).
|
||||||
|
|
||||||
|
|
||||||
# To build a debian package, you need first
|
# To build a debian package, you need first
|
||||||
# With Ubuntu 12.04
|
# With Ubuntu 12.04
|
||||||
# apt-get install debhelper dpkg-source gpg lintian git-buildpackage pkg-php-tools schroot sbuild
|
# apt-get install debhelper dpkg-source gpg lintian git-buildpackage pkg-php-tools schroot sbuild
|
||||||
@ -14,17 +15,42 @@ with format .DEB (for Debian, Ubuntu, ...).
|
|||||||
# apt-get install debhelper dpkg gnupg lintian git-buildpackage pkg-php-tools schroot sbuild
|
# apt-get install debhelper dpkg gnupg lintian git-buildpackage pkg-php-tools schroot sbuild
|
||||||
|
|
||||||
|
|
||||||
# This is standard command to work on Debian packaging:
|
# To generate gpg key for email used into changelog
|
||||||
#
|
* Check your existing keys/emails
|
||||||
# gpg --gen-key Generate a GPG key (-> pubring.gpg + secring.gpg)
|
> gpg --list-key
|
||||||
#
|
* Generate a new one, if none exists for email you use as author
|
||||||
|
> gpg --gen-key Generate a GPG key (-> pubring.gpg + secring.gpg)
|
||||||
|
Files are saved int .gnupg directory
|
||||||
|
* Create a file ~/.gpb.conf by
|
||||||
|
> cat >~/.gbp.conf <<END
|
||||||
|
[DEFAULT]
|
||||||
|
pristine-tar = True
|
||||||
|
|
||||||
|
[git-buildpackage]
|
||||||
|
sign-tags = True
|
||||||
|
export-dir = ../build-area/
|
||||||
|
|
||||||
|
[git-import-orig]
|
||||||
|
filter-pristine-tar = True
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
# To use Alioth.debian.org
|
||||||
|
* Create a login
|
||||||
|
* Setup your ssh as described into page: http://wiki.debian.org/Alioth/SSH
|
||||||
|
* Ask to be included into project collab-maint: http://alioth.debian.org/projects/collab-maint/
|
||||||
|
|
||||||
|
|
||||||
|
# To translate .po files
|
||||||
# debconf-updatepo To run into po dir to regenate templates.pot
|
# debconf-updatepo To run into po dir to regenate templates.pot
|
||||||
# podebconf-report-po --from email@email.com To send email to ask translations
|
# podebconf-report-po --from email@email.com To send email to ask translations
|
||||||
# Edit manually file XX.po and remove all lines "#, fuzzy" when translation is complete
|
# Edit manually file XX.po and remove all lines "#, fuzzy" when translation is complete
|
||||||
# msgfmt -v -c -o /dev/null XX.po To have status of translation for language XX
|
# msgfmt -v -c -o /dev/null XX.po To have status of translation for language XX
|
||||||
#
|
|
||||||
|
# To check package integrity
|
||||||
# lintian --pedantic -E -I package.deb To test a package
|
# lintian --pedantic -E -I package.deb To test a package
|
||||||
#
|
|
||||||
|
# To manipulate packages
|
||||||
# dpkg -l List all packages
|
# dpkg -l List all packages
|
||||||
# dpkg -b To build binary only package
|
# dpkg -b To build binary only package
|
||||||
# dpkg -c package.deb List content of package
|
# dpkg -c package.deb List content of package
|
||||||
@ -39,6 +65,9 @@ with format .DEB (for Debian, Ubuntu, ...).
|
|||||||
#
|
#
|
||||||
# gdebi package.deb Install a package + dependencies
|
# gdebi package.deb Install a package + dependencies
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
|
||||||
To submit a package to Debian:
|
To submit a package to Debian:
|
||||||
|
|
||||||
- Post an ITP with reportbugs :
|
- Post an ITP with reportbugs :
|
||||||
@ -63,6 +92,8 @@ http://bugs.debian.org/package
|
|||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
|
|
||||||
|
To generate a package
|
||||||
|
|
||||||
Create a chroot called "unstable-amd64-sbuild"
|
Create a chroot called "unstable-amd64-sbuild"
|
||||||
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
|
> sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian
|
||||||
|
|
||||||
@ -70,44 +101,29 @@ Puis pour se connecter
|
|||||||
> schroot
|
> schroot
|
||||||
|
|
||||||
|
|
||||||
To create a gpg key for email used into changelog
|
|
||||||
Check your existing keys/emails
|
|
||||||
> gpg --list-key
|
|
||||||
Generate a new one
|
|
||||||
> gpg --gen-key
|
|
||||||
Files are saved int .gnupg directory
|
|
||||||
|
|
||||||
To use Alioth.debian.org
|
|
||||||
* Create a login
|
|
||||||
* Setup your ssh as described into page: http://wiki.debian.org/Alioth/SSH
|
|
||||||
* Ask to be included into project collab-maint: http://alioth.debian.org/projects/collab-maint/
|
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
|
||||||
To update tcpdf package:
|
To update tcpdf package:
|
||||||
|
|
||||||
* You can git clone tcpdf
|
* You can git clone tcpdf
|
||||||
> git clone git.debian.org:/git/collab-maint/tcpdf.git [tcpdf-debian]
|
> git clone git.debian.org:/git/collab-maint/tcpdf.git [tcpdf-debian]
|
||||||
|
or better
|
||||||
|
> mkdir gitdebian
|
||||||
|
> cd gitdebian
|
||||||
|
> gbp-clone git.debian.org:/git/collab-maint/tcpdf.git
|
||||||
|
|
||||||
|
* You can then create a PHP project from Eclipse called tcpdf-debian
|
||||||
|
from git clone dir and make link to git.
|
||||||
|
|
||||||
|
* If local branch upstream and pristine-tar does not exists, create it
|
||||||
|
from origin/upstream and origin/pristine.
|
||||||
|
|
||||||
* Into root dir, launch:
|
* Into root dir, launch:
|
||||||
> debian/get-orig-source.sh
|
> debian/get-orig-source.sh
|
||||||
|
|
||||||
* Créer un fichier ~/.gpb.conf par
|
|
||||||
> cat >~/.gbp.conf <<END
|
|
||||||
[DEFAULT]
|
|
||||||
pristine-tar = True
|
|
||||||
|
|
||||||
[git-buildpackage]
|
|
||||||
sign-tags = True
|
|
||||||
export-dir = ../build-area/
|
|
||||||
|
|
||||||
[git-import-orig]
|
|
||||||
filter-pristine-tar = True
|
|
||||||
END
|
|
||||||
|
|
||||||
* Create branch upstream from origin/upstream
|
|
||||||
|
|
||||||
* Staying into git root directory, run
|
* Staying into git root directory, run
|
||||||
> git-import-orig -vv ../tcpdf_6.0.020+dfsg.orig.tar.xz
|
> git-import-orig -vv ../tcpdf_x.y.z+dfsg.orig.tar.xz
|
||||||
|
|
||||||
Note: If there was errors managed manually, you may need to make a git commit
|
Note: If there was errors managed manually, you may need to make a git commit
|
||||||
|
|
||||||
@ -135,8 +151,20 @@ http://packages.qa.debian.org/t/tcpdf.html
|
|||||||
* Package will be into release when test will be moved as stable.
|
* Package will be into release when test will be moved as stable.
|
||||||
|
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
|
||||||
To update dolibarr debian package
|
To update dolibarr debian package
|
||||||
|
|
||||||
* You can git clone debian git repo
|
* You can git clone debian git repo
|
||||||
git.debian.org:/git/collab-maint/dolibarr.git
|
> git clone git.debian.org:/git/collab-maint/dolibarr.git [dolibarr-debian]
|
||||||
|
or better
|
||||||
|
> mkdir gitdebian
|
||||||
|
> cd gitdebian
|
||||||
|
> gbp-clone git.debian.org:/git/collab-maint/dolibarr.git
|
||||||
|
|
||||||
|
* You can then create a PHP project from Eclipse called dolibarr-debian
|
||||||
|
from git clone dir and make link to git.
|
||||||
|
|
||||||
|
* If local branch upstream and pristine-tar does not exists, create it
|
||||||
|
from origin/upstream and origin/pristine.
|
||||||
|
|
||||||
|
|||||||
@ -422,12 +422,12 @@ class Categorie
|
|||||||
{
|
{
|
||||||
$objparent = $this->db->fetch_object($resql);
|
$objparent = $this->db->fetch_object($resql);
|
||||||
|
|
||||||
if (!empty($objparent->fk_parent))
|
if (!empty($objparent->fk_parent))
|
||||||
{
|
{
|
||||||
$cat = new Categorie($this->db);
|
$cat = new Categorie($this->db);
|
||||||
$cat->id=$objparent->fk_parent;
|
$cat->id=$objparent->fk_parent;
|
||||||
$result=$cat->add_type($obj, $type);
|
$result=$cat->add_type($obj, $type);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
$this->error=$cat->error;
|
$this->error=$cat->error;
|
||||||
$error++;
|
$error++;
|
||||||
@ -441,7 +441,7 @@ class Categorie
|
|||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error)
|
if ($error)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -485,7 +485,7 @@ class Categorie
|
|||||||
function del_type($obj,$type)
|
function del_type($obj,$type)
|
||||||
{
|
{
|
||||||
global $user,$langs,$conf;
|
global $user,$langs,$conf;
|
||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
if ($type == 'company') $type='societe';
|
if ($type == 'company') $type='societe';
|
||||||
@ -613,6 +613,7 @@ class Categorie
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."categorie";
|
$sql.= " FROM ".MAIN_DB_PREFIX."categorie";
|
||||||
$sql.= " WHERE fk_parent != 0";
|
$sql.= " WHERE fk_parent != 0";
|
||||||
$sql.= " AND entity IN (".getEntity('category',1).")";
|
$sql.= " AND entity IN (".getEntity('category',1).")";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::load_motherof sql=".$sql);
|
dol_syslog(get_class($this)."::load_motherof sql=".$sql);
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
|
|||||||
@ -111,6 +111,7 @@ if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.t
|
|||||||
else $sql.= " AND f.type IN (0,1,2,3)";
|
else $sql.= " AND f.type IN (0,1,2,3)";
|
||||||
if ($date_start && $date_end) $sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
|
if ($date_start && $date_end) $sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
|
||||||
|
|
||||||
|
dol_syslog("sql=".$sql);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -147,7 +148,7 @@ if ($result)
|
|||||||
$compta_localtax1= (! empty($account_localtax1[2])?$account_localtax1[2]:$langs->trans("CodeNotDef"));
|
$compta_localtax1= (! empty($account_localtax1[2])?$account_localtax1[2]:$langs->trans("CodeNotDef"));
|
||||||
$account_localtax2=getLocalTaxesFromRate($obj->tva_tx, 2, $mysoc);
|
$account_localtax2=getLocalTaxesFromRate($obj->tva_tx, 2, $mysoc);
|
||||||
$compta_localtax2= (! empty($account_localtax2[2])?$account_localtax2[2]:$langs->trans("CodeNotDef"));
|
$compta_localtax2= (! empty($account_localtax2[2])?$account_localtax2[2]:$langs->trans("CodeNotDef"));
|
||||||
|
|
||||||
$tabfac[$obj->rowid]["date"] = $obj->datef;
|
$tabfac[$obj->rowid]["date"] = $obj->datef;
|
||||||
$tabfac[$obj->rowid]["ref"] = $obj->ref_supplier;
|
$tabfac[$obj->rowid]["ref"] = $obj->ref_supplier;
|
||||||
$tabfac[$obj->rowid]["type"] = $obj->type;
|
$tabfac[$obj->rowid]["type"] = $obj->type;
|
||||||
@ -239,7 +240,7 @@ foreach ($tabfac as $key => $val)
|
|||||||
print '<td align="right">'.($mt>=0?price($mt):'')."</td>";
|
print '<td align="right">'.($mt>=0?price($mt):'')."</td>";
|
||||||
print '<td align="right">'.($mt<0?price(-$mt):'')."</td>";
|
print '<td align="right">'.($mt<0?price(-$mt):'')."</td>";
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -116,6 +116,7 @@ $sql.= " AND fd.product_type IN (0,1)";
|
|||||||
if ($date_start && $date_end) $sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
|
if ($date_start && $date_end) $sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
|
||||||
$sql.= " ORDER BY f.rowid";
|
$sql.= " ORDER BY f.rowid";
|
||||||
|
|
||||||
|
dol_syslog("sql=".$sql);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -151,7 +152,7 @@ if ($result)
|
|||||||
$compta_localtax1= (! empty($account_localtax1[3])?$account_localtax1[3]:$langs->trans("CodeNotDef"));
|
$compta_localtax1= (! empty($account_localtax1[3])?$account_localtax1[3]:$langs->trans("CodeNotDef"));
|
||||||
$account_localtax2=getLocalTaxesFromRate($obj->tva_tx, 2, $mysoc);
|
$account_localtax2=getLocalTaxesFromRate($obj->tva_tx, 2, $mysoc);
|
||||||
$compta_localtax2= (! empty($account_localtax2[3])?$account_localtax2[3]:$langs->trans("CodeNotDef"));
|
$compta_localtax2= (! empty($account_localtax2[3])?$account_localtax2[3]:$langs->trans("CodeNotDef"));
|
||||||
|
|
||||||
//la ligne facture
|
//la ligne facture
|
||||||
$tabfac[$obj->rowid]["date"] = $obj->datef;
|
$tabfac[$obj->rowid]["date"] = $obj->datef;
|
||||||
$tabfac[$obj->rowid]["ref"] = $obj->facnumber;
|
$tabfac[$obj->rowid]["ref"] = $obj->facnumber;
|
||||||
@ -225,7 +226,7 @@ foreach ($tabfac as $key => $val)
|
|||||||
array(
|
array(
|
||||||
'var' => $tablocaltax2[$key],
|
'var' => $tablocaltax2[$key],
|
||||||
'label' => $langs->transcountry('LT2', $mysoc->country_code)
|
'label' => $langs->transcountry('LT2', $mysoc->country_code)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($lines as $line)
|
foreach ($lines as $line)
|
||||||
|
|||||||
@ -124,7 +124,6 @@ class box_ficheinter extends ModeleBoxes
|
|||||||
if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedInterventions"));
|
if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedInterventions"));
|
||||||
|
|
||||||
$db->free($resql);
|
$db->free($resql);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -247,7 +247,7 @@ abstract class CommonDocGenerator
|
|||||||
$array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code)!='PaymentType'.$object->mode_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code):$object->mode_reglement),
|
$array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code)!='PaymentType'.$object->mode_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code):$object->mode_reglement),
|
||||||
$array_key.'_payment_term_code'=>$object->cond_reglement_code,
|
$array_key.'_payment_term_code'=>$object->cond_reglement_code,
|
||||||
$array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code)!='PaymentCondition'.$object->cond_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code):$object->cond_reglement),
|
$array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code)!='PaymentCondition'.$object->cond_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code):$object->cond_reglement),
|
||||||
$array_key.'_total_ht'=>price($object->total_ht2),
|
$array_key.'_total_ht'=>price($object->total_ht),
|
||||||
$array_key.'_total_vat'=>price($object->total_tva),
|
$array_key.'_total_vat'=>price($object->total_tva),
|
||||||
$array_key.'_total_ttc'=>price($object->total_ttc),
|
$array_key.'_total_ttc'=>price($object->total_ttc),
|
||||||
$array_key.'_total_discount_ht' => price($object->getTotalDiscount()),
|
$array_key.'_total_discount_ht' => price($object->getTotalDiscount()),
|
||||||
|
|||||||
@ -3222,5 +3222,17 @@ abstract class CommonObject
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
print '</table>';
|
print '</table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function __clone()
|
||||||
|
{
|
||||||
|
// Force a copy of this->lines, otherwise it will point to same object.
|
||||||
|
if (isset($this->lines) && is_array($this->lines))
|
||||||
|
{
|
||||||
|
for($i=0; $i < count($this->lines); $i++)
|
||||||
|
{
|
||||||
|
$this->lines[$i] = dol_clone($this->lines[$i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -787,7 +787,7 @@ class ExtraFields
|
|||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$this->db->free();
|
$this->db->free($resql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$out.='</select>';
|
$out.='</select>';
|
||||||
|
|||||||
@ -202,8 +202,9 @@ class mailing_contacts1 extends MailingTargets
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c";
|
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c";
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = c.fk_soc";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = c.fk_soc";
|
||||||
$sql.= " WHERE c.entity IN (".getEntity('societe', 1).")";
|
$sql.= " WHERE c.entity IN (".getEntity('societe', 1).")";
|
||||||
$sql.= " AND c.email != ''";
|
$sql.= " AND c.email <> ''";
|
||||||
$sql.= " AND c.no_email = 0";
|
$sql.= " AND c.no_email = 0";
|
||||||
|
$sql.= " AND c.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
foreach($filtersarray as $key)
|
foreach($filtersarray as $key)
|
||||||
{
|
{
|
||||||
if ($key == 'prospects') $sql.= " AND s.client=2";
|
if ($key == 'prospects') $sql.= " AND s.client=2";
|
||||||
|
|||||||
@ -84,9 +84,10 @@ class mailing_contacts2 extends MailingTargets
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as sp";
|
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople as sp";
|
||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = sp.fk_soc";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = sp.fk_soc";
|
||||||
$sql.= " WHERE sp.entity IN (".getEntity('societe', 1).")";
|
$sql.= " WHERE sp.entity IN (".getEntity('societe', 1).")";
|
||||||
$sql.= " AND sp.email != ''"; // Note that null != '' is false
|
$sql.= " AND sp.email <> ''"; // Note that null != '' is false
|
||||||
$sql.= " AND sp.no_email = 0";
|
$sql.= " AND sp.no_email = 0";
|
||||||
//$sql.= " AND sp.poste != ''";
|
//$sql.= " AND sp.poste != ''";
|
||||||
|
$sql.= " AND sp.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
if ($filtersarray[0]<>'all') $sql.= " AND sp.poste ='".$this->db->escape($filtersarray[0])."'";
|
if ($filtersarray[0]<>'all') $sql.= " AND sp.poste ='".$this->db->escape($filtersarray[0])."'";
|
||||||
$sql.= " ORDER BY sp.lastname, sp.firstname";
|
$sql.= " ORDER BY sp.lastname, sp.firstname";
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
|
|||||||
@ -83,9 +83,10 @@ class mailing_contacts3 extends MailingTargets
|
|||||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = sp.fk_soc";
|
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = sp.fk_soc";
|
||||||
if ($filtersarray[0] <> 'all') $sql.= ", ".MAIN_DB_PREFIX."categorie as c";
|
if ($filtersarray[0] <> 'all') $sql.= ", ".MAIN_DB_PREFIX."categorie as c";
|
||||||
if ($filtersarray[0] <> 'all') $sql.= ", ".MAIN_DB_PREFIX."categorie_societe as cs";
|
if ($filtersarray[0] <> 'all') $sql.= ", ".MAIN_DB_PREFIX."categorie_societe as cs";
|
||||||
$sql.= " WHERE sp.email != ''"; // Note that null != '' is false
|
$sql.= " WHERE sp.email <> ''"; // Note that null != '' is false
|
||||||
$sql.= " AND sp.no_email = 0";
|
$sql.= " AND sp.no_email = 0";
|
||||||
$sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
|
$sql.= " AND sp.entity IN (".getEntity('societe', 1).")";
|
||||||
|
$sql.= " AND sp.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
if ($filtersarray[0] <> 'all') $sql.= " AND cs.fk_categorie = c.rowid";
|
if ($filtersarray[0] <> 'all') $sql.= " AND cs.fk_categorie = c.rowid";
|
||||||
if ($filtersarray[0] <> 'all') $sql.= " AND cs.fk_societe = sp.fk_soc";
|
if ($filtersarray[0] <> 'all') $sql.= " AND cs.fk_societe = sp.fk_soc";
|
||||||
if ($filtersarray[0] <> 'all') $sql.= " AND c.label = '".$this->db->escape($filtersarray[0])."'";
|
if ($filtersarray[0] <> 'all') $sql.= " AND c.label = '".$this->db->escape($filtersarray[0])."'";
|
||||||
|
|||||||
@ -169,7 +169,8 @@ class mailing_fraise extends MailingTargets
|
|||||||
$sql.= " a.lastname, a.firstname,";
|
$sql.= " a.lastname, a.firstname,";
|
||||||
$sql.= " a.datefin, a.civilite, a.login, a.societe"; // Other fields
|
$sql.= " a.datefin, a.civilite, a.login, a.societe"; // Other fields
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a";
|
$sql.= " FROM ".MAIN_DB_PREFIX."adherent as a";
|
||||||
$sql.= " WHERE a.email IS NOT NULL";
|
$sql.= " WHERE a.email <> ''"; // Note that null != '' is false
|
||||||
|
$sql.= " AND a.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
if (isset($_POST["filter"]) && $_POST["filter"] == '-1') $sql.= " AND a.statut=-1";
|
if (isset($_POST["filter"]) && $_POST["filter"] == '-1') $sql.= " AND a.statut=-1";
|
||||||
if (isset($_POST["filter"]) && $_POST["filter"] == '1a') $sql.= " AND a.statut=1 AND a.datefin >= '".$this->db->idate($now)."'";
|
if (isset($_POST["filter"]) && $_POST["filter"] == '1a') $sql.= " AND a.statut=1 AND a.datefin >= '".$this->db->idate($now)."'";
|
||||||
if (isset($_POST["filter"]) && $_POST["filter"] == '1b') $sql.= " AND a.statut=1 AND (a.datefin IS NULL or a.datefin < '".$this->db->idate($now)."')";
|
if (isset($_POST["filter"]) && $_POST["filter"] == '1b') $sql.= " AND a.statut=1 AND (a.datefin IS NULL or a.datefin < '".$this->db->idate($now)."')";
|
||||||
|
|||||||
@ -150,8 +150,9 @@ class mailing_pomme extends MailingTargets
|
|||||||
$sql = "SELECT u.rowid as id, u.email as email, null as fk_contact,";
|
$sql = "SELECT u.rowid as id, u.email as email, null as fk_contact,";
|
||||||
$sql.= " u.lastname as name, u.firstname as firstname, u.login, u.office_phone";
|
$sql.= " u.lastname as name, u.firstname as firstname, u.login, u.office_phone";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||||
$sql.= " WHERE u.email != ''"; // u.email IS NOT NULL est implicite dans ce test
|
$sql.= " WHERE u.email <> ''"; // u.email IS NOT NULL est implicite dans ce test
|
||||||
$sql.= " AND u.entity IN (0,".$conf->entity.")";
|
$sql.= " AND u.entity IN (0,".$conf->entity.")";
|
||||||
|
$sql.= " AND u.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
foreach($filtersarray as $key)
|
foreach($filtersarray as $key)
|
||||||
{
|
{
|
||||||
if ($key == '1') $sql.= " AND u.statut=1";
|
if ($key == '1') $sql.= " AND u.statut=1";
|
||||||
|
|||||||
@ -63,23 +63,26 @@ class mailing_thirdparties extends MailingTargets
|
|||||||
{
|
{
|
||||||
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, null as label";
|
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, null as label";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||||
$sql.= " WHERE s.email != ''";
|
$sql.= " WHERE s.email <> ''";
|
||||||
$sql.= " AND s.entity IN (".getEntity('societe', 1).")";
|
$sql.= " AND s.entity IN (".getEntity('societe', 1).")";
|
||||||
|
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
|
$sql = "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_societe as cs, ".MAIN_DB_PREFIX."categorie as c";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_societe as cs, ".MAIN_DB_PREFIX."categorie as c";
|
||||||
$sql.= " WHERE s.email != ''";
|
$sql.= " WHERE s.email <> ''";
|
||||||
$sql.= " AND s.entity IN (".getEntity('societe', 1).")";
|
$sql.= " AND s.entity IN (".getEntity('societe', 1).")";
|
||||||
|
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
$sql.= " AND cs.fk_societe = s.rowid";
|
$sql.= " AND cs.fk_societe = s.rowid";
|
||||||
$sql.= " AND c.rowid = cs.fk_categorie";
|
$sql.= " AND c.rowid = cs.fk_categorie";
|
||||||
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
|
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
|
||||||
$sql.= " UNION ";
|
$sql.= " UNION ";
|
||||||
$sql.= "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
|
$sql.= "SELECT s.rowid as id, s.email as email, s.nom as name, null as fk_contact, null as firstname, c.label as label";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_fournisseur as cs, ".MAIN_DB_PREFIX."categorie as c";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."categorie_fournisseur as cs, ".MAIN_DB_PREFIX."categorie as c";
|
||||||
$sql.= " WHERE s.email != ''";
|
$sql.= " WHERE s.email <> ''";
|
||||||
$sql.= " AND s.entity IN (".getEntity('societe', 1).")";
|
$sql.= " AND s.entity IN (".getEntity('societe', 1).")";
|
||||||
|
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
$sql.= " AND cs.fk_societe = s.rowid";
|
$sql.= " AND cs.fk_societe = s.rowid";
|
||||||
$sql.= " AND c.rowid = cs.fk_categorie";
|
$sql.= " AND c.rowid = cs.fk_categorie";
|
||||||
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
|
$sql.= " AND c.rowid='".$this->db->escape($_POST['filter'])."'";
|
||||||
|
|||||||
@ -100,6 +100,7 @@ class mailing_thirdparties_services_expired extends MailingTargets
|
|||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c";
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."product as p";
|
$sql.= ", ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."product as p";
|
||||||
$sql.= " WHERE s.entity IN (".getEntity('societe', 1).")";
|
$sql.= " WHERE s.entity IN (".getEntity('societe', 1).")";
|
||||||
|
$sql.= " AND s.email NOT IN (SELECT email FROM ".MAIN_DB_PREFIX."mailing_cibles WHERE fk_mailing=".$mailing_id.")";
|
||||||
$sql.= " AND s.rowid = c.fk_soc AND cd.fk_contrat = c.rowid AND s.email != ''";
|
$sql.= " AND s.rowid = c.fk_soc AND cd.fk_contrat = c.rowid AND s.email != ''";
|
||||||
$sql.= " AND cd.statut= 4 AND cd.fk_product=p.rowid AND p.ref = '".$product."'";
|
$sql.= " AND cd.statut= 4 AND cd.fk_product=p.rowid AND p.ref = '".$product."'";
|
||||||
$sql.= " AND cd.date_fin_validite < '".$this->db->idate($now)."'";
|
$sql.= " AND cd.date_fin_validite < '".$this->db->idate($now)."'";
|
||||||
|
|||||||
@ -114,8 +114,8 @@ RulesResultDue=- Il inclut les factures, charges et tva dues, qu'elles soient pa
|
|||||||
RulesResultInOut=- Il inclut les règlements effectivement réalisés pour les factures, les charges et la TVA.<br>- Il se base sur la date de règlement de ces factures, charges et TVA.
|
RulesResultInOut=- Il inclut les règlements effectivement réalisés pour les factures, les charges et la TVA.<br>- Il se base sur la date de règlement de ces factures, charges et TVA.
|
||||||
RulesCADue=- Il inclut les factures clients dues, qu'elles soient payées ou non.<br>- Il se base sur la date de validation de ces factures.<br>
|
RulesCADue=- Il inclut les factures clients dues, qu'elles soient payées ou non.<br>- Il se base sur la date de validation de ces factures.<br>
|
||||||
RulesCAIn=- Il inclut les règlements effectivement reçus des factures clients.<br>- Il se base sur la date de règlement de ces factures<br>
|
RulesCAIn=- Il inclut les règlements effectivement reçus des factures clients.<br>- Il se base sur la date de règlement de ces factures<br>
|
||||||
DepositsAreNotIncluded=- Les factures d'accomptes ne sont pas incluses
|
DepositsAreNotIncluded=- Les factures d'acomptes ne sont pas incluses
|
||||||
DepositsAreIncluded=- Les factures d'accomptes sont incluses
|
DepositsAreIncluded=- Les factures d'acomptes sont incluses
|
||||||
LT2ReportByCustomersInInputOutputModeES=Rapport par client des IRPF
|
LT2ReportByCustomersInInputOutputModeES=Rapport par client des IRPF
|
||||||
VATReportByCustomersInInputOutputMode=Rapport par client des TVA collectées et payées (TVA sur encaissement)
|
VATReportByCustomersInInputOutputMode=Rapport par client des TVA collectées et payées (TVA sur encaissement)
|
||||||
VATReportByCustomersInDueDebtMode=Rapport par client des TVA collectées et payées (TVA sur débit)
|
VATReportByCustomersInDueDebtMode=Rapport par client des TVA collectées et payées (TVA sur débit)
|
||||||
@ -144,8 +144,8 @@ DescPurchasesJournal=Journal des achats
|
|||||||
InvoiceRef=Réf facture
|
InvoiceRef=Réf facture
|
||||||
CodeNotDef=Non défini
|
CodeNotDef=Non défini
|
||||||
AddRemind=Ventiler montant disponible
|
AddRemind=Ventiler montant disponible
|
||||||
RemainToDivide= Reste à répartir :
|
RemainToDivide=Reste à répartir :
|
||||||
WarningDepositsNotIncluded=Les factures d'accomptes ne sont pas encore prises en compte dans cette version avec ce module de comptabilité.
|
WarningDepositsNotIncluded=Les factures d'acomptes ne sont pas encore prises en compte dans cette version avec ce module de comptabilité.
|
||||||
DatePaymentTermCantBeLowerThanObjectDate=La date limite de règlement ne peut être inférieure à la date de l'object
|
DatePaymentTermCantBeLowerThanObjectDate=La date limite de règlement ne peut être inférieure à la date de l'object
|
||||||
Pcg_version=Version du plan
|
Pcg_version=Version du plan
|
||||||
Pcg_type=Classe de compte
|
Pcg_type=Classe de compte
|
||||||
|
|||||||
@ -65,8 +65,8 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"])
|
|||||||
$account->bic = $_POST["bic"];
|
$account->bic = $_POST["bic"];
|
||||||
$account->iban_prefix = $_POST["iban_prefix"];
|
$account->iban_prefix = $_POST["iban_prefix"];
|
||||||
$account->domiciliation = $_POST["domiciliation"];
|
$account->domiciliation = $_POST["domiciliation"];
|
||||||
$account->proprio = $_POST["proprio"];
|
$account->proprio = $_POST["proprio"];
|
||||||
$account->adresse_proprio = $_POST["adresse_proprio"];
|
$account->owner_address = $_POST["owner_address"];
|
||||||
|
|
||||||
$result = $account->update($user);
|
$result = $account->update($user);
|
||||||
if (! $result)
|
if (! $result)
|
||||||
@ -154,7 +154,7 @@ if ($_GET["socid"] && $_GET["action"] != 'edit')
|
|||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">';
|
print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">';
|
||||||
print $account->adresse_proprio;
|
print $account->owner_address;
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
@ -236,8 +236,8 @@ if ($_GET["socid"] && $_GET["action"] == 'edit' && $user->rights->societe->creer
|
|||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">';
|
print '<tr><td valign="top">'.$langs->trans("BankAccountOwnerAddress").'</td><td colspan="4">';
|
||||||
print "<textarea name=\"adresse_proprio\" rows=\"4\" cols=\"40\">";
|
print "<textarea name=\"owner_address\" rows=\"4\" cols=\"40\">";
|
||||||
print $account->adresse_proprio;
|
print $account->owner_address;
|
||||||
print "</textarea></td></tr>";
|
print "</textarea></td></tr>";
|
||||||
|
|
||||||
print '</table><br>';
|
print '</table><br>';
|
||||||
|
|||||||
@ -196,8 +196,8 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print "No unpaid invoices found\n";
|
print "No services to expire found\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
exit(0);
|
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;
|
$allmessage.=$conf->global->SCRIPT_EMAIL_EXPIRE_SERVICES_CUSTOMERS_HEADER;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$allmessage.= "Dear customer".($usehtml?"<br>\n":"\n").($usehtml?"<br>\n":"\n");
|
$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");
|
$allmessage.= "Please, find a summary of the services contracted by you that are about to expire.".($usehtml?"<br>\n":"\n").($usehtml?"<br>\n":"\n");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user