Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
a9bbb82e98
@ -151,6 +151,7 @@ if ($action == 'export_csv')
|
|||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
|
|
||||||
$filename = 'balance';
|
$filename = 'balance';
|
||||||
|
$type_export = 'balance';
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
$result = $object->fetchAllBalance($sortorder, $sortfield, 0, 0, $filter);
|
$result = $object->fetchAllBalance($sortorder, $sortfield, 0, 0, $filter);
|
||||||
|
|||||||
@ -218,6 +218,7 @@ class AccountancyExport
|
|||||||
|
|
||||||
// Define name of file to save
|
// Define name of file to save
|
||||||
$filename = 'general_ledger-'.$this->getFormatCode($conf->global->ACCOUNTING_EXPORT_MODELCSV);
|
$filename = 'general_ledger-'.$this->getFormatCode($conf->global->ACCOUNTING_EXPORT_MODELCSV);
|
||||||
|
$type_export = 'general_ledger';
|
||||||
|
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
|
|||||||
@ -750,6 +750,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
|
|
||||||
$filename = 'journal';
|
$filename = 'journal';
|
||||||
|
$type_export = 'journal';
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
// CSV header line
|
// CSV header line
|
||||||
|
|||||||
@ -429,6 +429,7 @@ $userstatic = new User($db);
|
|||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
|
|
||||||
$filename = 'journal';
|
$filename = 'journal';
|
||||||
|
$type_export = 'journal';
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
// Model Cegid Expert Export
|
// Model Cegid Expert Export
|
||||||
|
|||||||
@ -586,6 +586,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
|
|
||||||
$filename = 'journal';
|
$filename = 'journal';
|
||||||
|
$type_export = 'journal';
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
$companystatic = new Fournisseur($db);
|
$companystatic = new Fournisseur($db);
|
||||||
|
|||||||
@ -547,6 +547,7 @@ if ($action == 'exportcsv') { // ISO and not UTF8 !
|
|||||||
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
$sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV;
|
||||||
|
|
||||||
$filename = 'journal';
|
$filename = 'journal';
|
||||||
|
$type_export = 'journal';
|
||||||
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
include DOL_DOCUMENT_ROOT . '/accountancy/tpl/export_journal.tpl.php';
|
||||||
|
|
||||||
$companystatic = new Client($db);
|
$companystatic = new Client($db);
|
||||||
|
|||||||
@ -35,9 +35,8 @@ $endaccountingperiod = dol_print_date(dol_now(), '%Y%m%d');
|
|||||||
header('Content-Type: text/csv');
|
header('Content-Type: text/csv');
|
||||||
|
|
||||||
|
|
||||||
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == "11") // Specific filename for FEC model export
|
if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == "11" && $type_export == "general_ledger") // Specific filename for FEC model export into the general ledger
|
||||||
{
|
{
|
||||||
|
|
||||||
// FEC format is defined here: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000027804775&cidTexte=LEGITEXT000006069583&dateTexte=20130802&oldAction=rechCodeArticle
|
// FEC format is defined here: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000027804775&cidTexte=LEGITEXT000006069583&dateTexte=20130802&oldAction=rechCodeArticle
|
||||||
if (empty($search_date_end))
|
if (empty($search_date_end))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -42,7 +42,7 @@ class AssetType extends CommonObject
|
|||||||
/**
|
/**
|
||||||
* @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png
|
* @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png
|
||||||
*/
|
*/
|
||||||
public $picto = 'group';
|
public $picto = 'invoice';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
|
* 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
|
||||||
@ -51,9 +51,9 @@ class AssetType extends CommonObject
|
|||||||
public $ismultientitymanaged = 1;
|
public $ismultientitymanaged = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string Asset type label
|
* @var string Asset type label
|
||||||
*/
|
*/
|
||||||
public $label;
|
public $label;
|
||||||
|
|
||||||
/** @var string Accountancy code asset */
|
/** @var string Accountancy code asset */
|
||||||
public $accountancy_code_asset;
|
public $accountancy_code_asset;
|
||||||
@ -107,12 +107,14 @@ class AssetType extends CommonObject
|
|||||||
$sql.= ", accountancy_code_asset";
|
$sql.= ", accountancy_code_asset";
|
||||||
$sql.= ", accountancy_code_depreciation_asset";
|
$sql.= ", accountancy_code_depreciation_asset";
|
||||||
$sql.= ", accountancy_code_depreciation_expense";
|
$sql.= ", accountancy_code_depreciation_expense";
|
||||||
|
$sql.= ", note";
|
||||||
$sql.= ", entity";
|
$sql.= ", entity";
|
||||||
$sql.= ") VALUES (";
|
$sql.= ") VALUES (";
|
||||||
$sql.= "'".$this->db->escape($this->label)."'";
|
$sql.= "'".$this->db->escape($this->label)."'";
|
||||||
$sql.= ", '".$this->db->escape($this->accountancy_code_asset)."'";
|
$sql.= ", '".$this->db->escape($this->accountancy_code_asset)."'";
|
||||||
$sql.= ", '".$this->db->escape($this->accountancy_code_depreciation_asset)."'";
|
$sql.= ", '".$this->db->escape($this->accountancy_code_depreciation_asset)."'";
|
||||||
$sql.= ", '".$this->db->escape($this->accountancy_code_depreciation_expense)."'";
|
$sql.= ", '".$this->db->escape($this->accountancy_code_depreciation_expense)."'";
|
||||||
|
$sql.= ", '".$this->db->escape($this->note)."'";
|
||||||
$sql.= ", ".$conf->entity;
|
$sql.= ", ".$conf->entity;
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
@ -179,7 +181,8 @@ class AssetType extends CommonObject
|
|||||||
$sql.= "label = '".$this->db->escape($this->label) ."',";
|
$sql.= "label = '".$this->db->escape($this->label) ."',";
|
||||||
$sql.= "accountancy_code_asset = '".$this->db->escape($this->accountancy_code_asset)."',";
|
$sql.= "accountancy_code_asset = '".$this->db->escape($this->accountancy_code_asset)."',";
|
||||||
$sql.= "accountancy_code_depreciation_asset = '".$this->db->escape($this->accountancy_code_depreciation_asset)."',";
|
$sql.= "accountancy_code_depreciation_asset = '".$this->db->escape($this->accountancy_code_depreciation_asset)."',";
|
||||||
$sql.= "accountancy_code_depreciation_expense = '".$this->db->escape($this->accountancy_code_depreciation_expense)."'";
|
$sql.= "accountancy_code_depreciation_expense = '".$this->db->escape($this->accountancy_code_depreciation_expense)."',";
|
||||||
|
$sql.= "note = '".$this->db->escape($this->note) ."'";
|
||||||
$sql.= " WHERE rowid =".$this->id;
|
$sql.= " WHERE rowid =".$this->id;
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
|
|||||||
@ -49,10 +49,13 @@ $offset = $limit * $page ;
|
|||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
if (! $sortorder) { $sortorder="DESC"; }
|
if (! $sortorder) { $sortorder="DESC"; }
|
||||||
if (! $sortfield) { $sortfield="d.lastname"; }
|
if (! $sortfield) { $sortfield="a.label"; }
|
||||||
|
|
||||||
$label=GETPOST("label","alpha");
|
$label=GETPOST("label","alpha");
|
||||||
$comment=GETPOST("comment");
|
$accountancy_code_asset=GETPOST('accountancy_code_asset','string');
|
||||||
|
$accountancy_code_depreciation_asset=GETPOST('accountancy_code_depreciation_asset','string');
|
||||||
|
$accountancy_code_depreciation_expense=GETPOST('accountancy_code_depreciation_expense','string');
|
||||||
|
$comment=GETPOST('comment','string');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
$result=restrictedArea($user,'asset',$rowid,'asset_type');
|
$result=restrictedArea($user,'asset',$rowid,'asset_type');
|
||||||
@ -259,39 +262,39 @@ if (! $rowid && $action != 'create' && $action != 'edit')
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>'.dol_escape_htmltag($objp->label).'</td>';
|
print '<td>'.dol_escape_htmltag($objp->label).'</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td class="center">';
|
||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$accountingaccount = new AccountingAccount($db);
|
$accountingaccount = new AccountingAccount($db);
|
||||||
$accountingaccount->fetch('',$object->accountancy_code_asset,1);
|
$accountingaccount->fetch('',$objp->accountancy_code_asset,1);
|
||||||
|
|
||||||
print $accountingaccount->getNomUrl(0,1,1,'',1);
|
print $accountingaccount->getNomUrl(0,0,0,'',0);
|
||||||
} else {
|
} else {
|
||||||
print $object->accountancy_code_asset;
|
print $objp->accountancy_code_asset;
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td class="center">';
|
||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$accountingaccount2 = new AccountingAccount($db);
|
$accountingaccount2 = new AccountingAccount($db);
|
||||||
$accountingaccount2->fetch('',$object->accountancy_code_depreciation_asset,1);
|
$accountingaccount2->fetch('',$objp->accountancy_code_depreciation_asset,1);
|
||||||
|
|
||||||
print $accountingaccount2->getNomUrl(0,1,1,'',1);
|
print $accountingaccount2->getNomUrl(0,0,0,'',0);
|
||||||
} else {
|
} else {
|
||||||
print $object->accountancy_code_depreciation_asset;
|
print $objp->accountancy_code_depreciation_asset;
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '<td>';
|
print '<td class="center">';
|
||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$accountingaccount3 = new AccountingAccount($db);
|
$accountingaccount3 = new AccountingAccount($db);
|
||||||
$accountingaccount3->fetch('',$object->accountancy_code_depreciation_expense,1);
|
$accountingaccount3->fetch('',$objp->accountancy_code_depreciation_expense,1);
|
||||||
|
|
||||||
print $accountingaccount3->getNomUrl(0,1,1,'',1);
|
print $accountingaccount3->getNomUrl(0,0,0,'',0);
|
||||||
} else {
|
} else {
|
||||||
print $object->accountancy_code_depreciation_expense;
|
print $objp->accountancy_code_depreciation_expense;
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
@ -418,7 +421,7 @@ if ($rowid > 0)
|
|||||||
*/
|
*/
|
||||||
if ($action == 'delete')
|
if ($action == 'delete')
|
||||||
{
|
{
|
||||||
print $form->formconfirm($_SERVER['PHP_SELF']."?rowid=".$object->id,$langs->trans("DeleteAMemberType"),$langs->trans("ConfirmDeleteMemberType",$object->label),"confirm_delete", '',0,1);
|
print $form->formconfirm($_SERVER['PHP_SELF']."?rowid=".$object->id,$langs->trans("DeleteAnAssetType"),$langs->trans("ConfirmDeleteAssetType",$object->label),"confirm_delete", '',0,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$head = asset_type_prepare_head($object);
|
$head = asset_type_prepare_head($object);
|
||||||
@ -427,14 +430,23 @@ if ($rowid > 0)
|
|||||||
|
|
||||||
$linkback = '<a href="'.DOL_URL_ROOT.'/asset/type.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
$linkback = '<a href="'.DOL_URL_ROOT.'/asset/type.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
dol_banner_tab($object, 'rowid', $linkback);
|
$morehtmlref='<div class="refidno">';
|
||||||
|
// Ref asset type
|
||||||
|
$morehtmlref.=$form->editfieldkey("Label", 'label', $object->label, $object, $user->rights->asset->write, 'string', '', 0, 1);
|
||||||
|
$morehtmlref.=$form->editfieldval("Label", 'label', $object->label, $object, $user->rights->asset->write, 'string', '', null, null, '', 1);
|
||||||
|
$morehtmlref.='</div>';
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'rowid', $linkback, 1, 'rowid', 'ref', $morehtmlref, '', 0, '', $morehtmlright);
|
||||||
|
|
||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
print '</tr>';
|
print '<tr>';
|
||||||
|
print '<td class="nowrap">';
|
||||||
|
print $langs->trans("AccountancyCodeAsset");
|
||||||
|
print '</td><td>';
|
||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$accountingaccount = new AccountingAccount($db);
|
$accountingaccount = new AccountingAccount($db);
|
||||||
@ -445,8 +457,12 @@ if ($rowid > 0)
|
|||||||
print $object->accountancy_code_asset;
|
print $object->accountancy_code_asset;
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
print '<td>';
|
print '<tr>';
|
||||||
|
print '<td class="nowrap">';
|
||||||
|
print $langs->trans("AccountancyCodeDepreciationAsset");
|
||||||
|
print '</td><td>';
|
||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$accountingaccount2 = new AccountingAccount($db);
|
$accountingaccount2 = new AccountingAccount($db);
|
||||||
@ -457,8 +473,12 @@ if ($rowid > 0)
|
|||||||
print $object->accountancy_code_depreciation_asset;
|
print $object->accountancy_code_depreciation_asset;
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
print '<td>';
|
print '<tr>';
|
||||||
|
print '<td class="nowrap">';
|
||||||
|
print $langs->trans("AccountancyCodeDepreciationExpense");
|
||||||
|
print '</td><td>';
|
||||||
if (! empty($conf->accounting->enabled))
|
if (! empty($conf->accounting->enabled))
|
||||||
{
|
{
|
||||||
$accountingaccount3 = new AccountingAccount($db);
|
$accountingaccount3 = new AccountingAccount($db);
|
||||||
@ -468,6 +488,7 @@ if ($rowid > 0)
|
|||||||
} else {
|
} else {
|
||||||
print $object->accountancy_code_depreciation_expense;
|
print $object->accountancy_code_depreciation_expense;
|
||||||
}
|
}
|
||||||
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr><td class="tdtop">'.$langs->trans("Description").'</td><td>';
|
print '<tr><td class="tdtop">'.$langs->trans("Description").'</td><td>';
|
||||||
@ -493,9 +514,6 @@ if ($rowid > 0)
|
|||||||
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=edit&rowid='.$object->id.'">'.$langs->trans("Modify").'</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?action=edit&rowid='.$object->id.'">'.$langs->trans("Modify").'</a></div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add
|
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="card.php?action=create&typeid='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?rowid='.$object->id).'">'.$langs->trans("AddMember").'</a></div>';
|
|
||||||
|
|
||||||
// Delete
|
// Delete
|
||||||
if ($user->rights->asset->write)
|
if ($user->rights->asset->write)
|
||||||
{
|
{
|
||||||
@ -504,233 +522,6 @@ if ($rowid > 0)
|
|||||||
|
|
||||||
print "</div>";
|
print "</div>";
|
||||||
|
|
||||||
|
|
||||||
// Show list of assets (nearly same code than in page list.php)
|
|
||||||
$assettypestatic=new AssetType($db);
|
|
||||||
|
|
||||||
$now=dol_now();
|
|
||||||
|
|
||||||
$sql = "SELECT a.rowid, d.login, d.firstname, d.lastname, d.societe, ";
|
|
||||||
$sql.= " d.datefin,";
|
|
||||||
$sql.= " a.fk_asset_type as type_id,";
|
|
||||||
$sql.= " t.label as type";
|
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."asset as a, ".MAIN_DB_PREFIX."asset_type as t";
|
|
||||||
$sql.= " WHERE a.fk_asset_type = t.rowid";
|
|
||||||
$sql.= " AND a.entity IN (".getEntity('asset').")";
|
|
||||||
$sql.= " AND t.rowid = ".$object->id;
|
|
||||||
if ($sall)
|
|
||||||
{
|
|
||||||
$sql.=natural_search(array("f.firstname","d.lastname","d.societe","d.email","d.login","d.address","d.town","d.note_public","d.note_private"), $sall);
|
|
||||||
}
|
|
||||||
if ($status != '')
|
|
||||||
{
|
|
||||||
$sql.= natural_search('d.statut', $status, 2);
|
|
||||||
}
|
|
||||||
if ($action == 'search')
|
|
||||||
{
|
|
||||||
if (GETPOST('search','alpha'))
|
|
||||||
{
|
|
||||||
$sql.= natural_search(array("d.firstname","d.lastname"), GETPOST('search','alpha'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (! empty($search_lastname))
|
|
||||||
{
|
|
||||||
$sql.= natural_search(array("d.firstname","d.lastname"), $search_lastname);
|
|
||||||
}
|
|
||||||
if (! empty($search_login))
|
|
||||||
{
|
|
||||||
$sql.= natural_search("d.login", $search_login);
|
|
||||||
}
|
|
||||||
if (! empty($search_email))
|
|
||||||
{
|
|
||||||
$sql.= natural_search("d.email", $search_email);
|
|
||||||
}
|
|
||||||
if ($filter == 'uptodate')
|
|
||||||
{
|
|
||||||
$sql.=" AND datefin >= '".$db->idate($now)."'";
|
|
||||||
}
|
|
||||||
if ($filter == 'outofdate')
|
|
||||||
{
|
|
||||||
$sql.=" AND datefin < '".$db->idate($now)."'";
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql.= " ".$db->order($sortfield,$sortorder);
|
|
||||||
|
|
||||||
// Count total nb of records
|
|
||||||
$nbtotalofrecords = '';
|
|
||||||
if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST))
|
|
||||||
{
|
|
||||||
$resql = $db->query($sql);
|
|
||||||
if ($resql) $nbtotalofrecords = $db->num_rows($result);
|
|
||||||
else dol_print_error($db);
|
|
||||||
if (($page * $limit) > $nbtotalofrecords) // if total resultset is smaller then paging size (filtering), goto and load page 0
|
|
||||||
{
|
|
||||||
$page = 0;
|
|
||||||
$offset = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql.= " ".$db->plimit($conf->liste_limit+1, $offset);
|
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$num = $db->num_rows($resql);
|
|
||||||
$i = 0;
|
|
||||||
|
|
||||||
$titre=$langs->trans("AssetsList");
|
|
||||||
if ($status != '')
|
|
||||||
{
|
|
||||||
if ($status == '-1,1') { $titre=$langs->trans("MembersListQualified"); }
|
|
||||||
else if ($status == '-1') { $titre=$langs->trans("MembersListToValid"); }
|
|
||||||
else if ($status == '1' && ! $filter) { $titre=$langs->trans("MembersListValid"); }
|
|
||||||
else if ($status == '1' && $filter=='uptodate') { $titre=$langs->trans("MembersListUpToDate"); }
|
|
||||||
else if ($status == '1' && $filter=='outofdate') { $titre=$langs->trans("MembersListNotUpToDate"); }
|
|
||||||
else if ($status == '0') { $titre=$langs->trans("MembersListResiliated"); }
|
|
||||||
}
|
|
||||||
elseif ($action == 'search')
|
|
||||||
{
|
|
||||||
$titre=$langs->trans("MembersListQualified");
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($type > 0)
|
|
||||||
{
|
|
||||||
$assettype=new AssetType($db);
|
|
||||||
$result=$assettype->fetch($type);
|
|
||||||
$titre.=" (".$assettype->label.")";
|
|
||||||
}
|
|
||||||
|
|
||||||
$param="&rowid=".$object->id;
|
|
||||||
if (! empty($status)) $param.="&status=".$status;
|
|
||||||
if (! empty($search_lastname)) $param.="&search_lastname=".$search_lastname;
|
|
||||||
if (! empty($search_firstname)) $param.="&search_firstname=".$search_firstname;
|
|
||||||
if (! empty($search_login)) $param.="&search_login=".$search_login;
|
|
||||||
if (! empty($search_email)) $param.="&search_email=".$search_email;
|
|
||||||
if (! empty($filter)) $param.="&filter=".$filter;
|
|
||||||
|
|
||||||
if ($sall)
|
|
||||||
{
|
|
||||||
print $langs->trans("Filter")." (".$langs->trans("Lastname").", ".$langs->trans("Firstname").", ".$langs->trans("EMail").", ".$langs->trans("Address")." ".$langs->trans("or")." ".$langs->trans("Town")."): ".$sall;
|
|
||||||
}
|
|
||||||
|
|
||||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
|
||||||
print '<input class="flat" type="hidden" name="rowid" value="'.$object->id.'" size="12"></td>';
|
|
||||||
|
|
||||||
print '<br>';
|
|
||||||
print_barre_liste('',$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords);
|
|
||||||
|
|
||||||
$moreforfilter = '';
|
|
||||||
|
|
||||||
print '<div class="div-table-responsive">';
|
|
||||||
print '<table class="tagtable liste'.($moreforfilter?" listwithfilterbefore":"").'">'."\n";
|
|
||||||
|
|
||||||
// Lignes des champs de filtre
|
|
||||||
print '<tr class="liste_titre_filter">';
|
|
||||||
|
|
||||||
print '<td class="liste_titre" align="left">';
|
|
||||||
print '<input class="flat" type="text" name="search_lastname" value="'.dol_escape_htmltag($search_lastname).'" size="12"></td>';
|
|
||||||
|
|
||||||
print '<td class="liste_titre" align="left">';
|
|
||||||
print '<input class="flat" type="text" name="search_login" value="'.dol_escape_htmltag($search_login).'" size="7"></td>';
|
|
||||||
|
|
||||||
print '<td class="liste_titre"> </td>';
|
|
||||||
|
|
||||||
print '<td class="liste_titre" align="left">';
|
|
||||||
print '<input class="flat" type="text" name="search_email" value="'.dol_escape_htmltag($search_email).'" size="12"></td>';
|
|
||||||
|
|
||||||
print '<td class="liste_titre"> </td>';
|
|
||||||
|
|
||||||
print '<td align="right" colspan="2" class="liste_titre">';
|
|
||||||
print '<input type="image" class="liste_titre" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
|
|
||||||
print ' ';
|
|
||||||
print '<input type="image" class="liste_titre" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/searchclear.png" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
|
|
||||||
print '</td>';
|
|
||||||
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
print '<tr class="liste_titre">';
|
|
||||||
print_liste_field_titre( $langs->trans("Name")." / ".$langs->trans("Company"),$_SERVER["PHP_SELF"],"d.lastname",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("Login",$_SERVER["PHP_SELF"],"d.login",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("Nature",$_SERVER["PHP_SELF"],"d.morphy",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("EMail",$_SERVER["PHP_SELF"],"d.email",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("Status",$_SERVER["PHP_SELF"],"d.statut,d.datefin",$param,"","",$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("EndSubscription",$_SERVER["PHP_SELF"],"d.datefin",$param,"",'align="center"',$sortfield,$sortorder);
|
|
||||||
print_liste_field_titre("Action",$_SERVER["PHP_SELF"],"",$param,"",'width="60" align="center"',$sortfield,$sortorder);
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
while ($i < $num && $i < $conf->liste_limit)
|
|
||||||
{
|
|
||||||
$objp = $db->fetch_object($resql);
|
|
||||||
|
|
||||||
$datefin=$db->jdate($objp->datefin);
|
|
||||||
|
|
||||||
$adh=new Asset($db);
|
|
||||||
$adh->lastname=$objp->lastname;
|
|
||||||
$adh->firstname=$objp->firstname;
|
|
||||||
|
|
||||||
// Lastname
|
|
||||||
print '<tr class="oddeven">';
|
|
||||||
if ($objp->societe != '')
|
|
||||||
{
|
|
||||||
print '<td><a href="card.php?rowid='.$objp->rowid.'">'.img_object($langs->trans("ShowMember"),"user").' '.$adh->getFullName($langs,0,-1,20).' / '.dol_trunc($objp->societe,12).'</a></td>'."\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<td><a href="card.php?rowid='.$objp->rowid.'">'.img_object($langs->trans("ShowMember"),"user").' '.$adh->getFullName($langs,0,-1,32).'</a></td>'."\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Login
|
|
||||||
print "<td>".$objp->login."</td>\n";
|
|
||||||
|
|
||||||
// Type
|
|
||||||
/*print '<td class="nowrap">';
|
|
||||||
$assettypestatic->id=$objp->type_id;
|
|
||||||
$assettypestatic->label=$objp->type;
|
|
||||||
print $assettypestatic->getNomUrl(1,12);
|
|
||||||
print '</td>';
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Moral/Physique
|
|
||||||
print "<td>".$adh->getmorphylib($objp->morphy)."</td>\n";
|
|
||||||
|
|
||||||
// EMail
|
|
||||||
print "<td>".dol_print_email($objp->email,0,0,1)."</td>\n";
|
|
||||||
|
|
||||||
// Statut
|
|
||||||
print '<td class="nowrap">';
|
|
||||||
print $adh->LibStatut($objp->statut,$objp->subscription,$datefin,2);
|
|
||||||
print "</td>";
|
|
||||||
|
|
||||||
// Actions
|
|
||||||
print '<td align="center">';
|
|
||||||
if ($user->rights->asset->creer)
|
|
||||||
{
|
|
||||||
print '<a href="card.php?rowid='.$objp->rowid.'&action=edit&backtopage='.urlencode($_SERVER["PHP_SELF"].'?rowid='.$object->id).'">'.img_edit().'</a>';
|
|
||||||
}
|
|
||||||
print ' ';
|
|
||||||
if ($user->rights->asset->supprimer)
|
|
||||||
{
|
|
||||||
print '<a href="card.php?rowid='.$objp->rowid.'&action=resign">'.img_picto($langs->trans("Resiliate"),'disable.png').'</a>';
|
|
||||||
}
|
|
||||||
print "</td>";
|
|
||||||
|
|
||||||
print "</tr>\n";
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
print "</table>\n";
|
|
||||||
print '</div>';
|
|
||||||
print '</form>';
|
|
||||||
|
|
||||||
if ($num > $conf->liste_limit)
|
|
||||||
{
|
|
||||||
print_barre_liste('',$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error($db);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
* $action
|
* $action
|
||||||
* $conf
|
* $conf
|
||||||
* $langs
|
* $langs
|
||||||
|
* $form
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Protection to avoid direct call of template
|
// Protection to avoid direct call of template
|
||||||
@ -49,6 +50,9 @@ foreach($object->fields as $key => $val)
|
|||||||
print '"';
|
print '"';
|
||||||
print '>';
|
print '>';
|
||||||
print $langs->trans($val['label']);
|
print $langs->trans($val['label']);
|
||||||
|
if(!empty($val['help'])){
|
||||||
|
print $form->textwithpicto('',$langs->trans($val['help']));
|
||||||
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if (in_array($val['type'], array('int', 'integer'))) $value = GETPOST($key, 'int');
|
if (in_array($val['type'], array('int', 'integer'))) $value = GETPOST($key, 'int');
|
||||||
|
|||||||
@ -302,8 +302,13 @@ class EmailCollector extends CommonObject
|
|||||||
/**
|
/**
|
||||||
* Fetch all account and load objects into an array
|
* Fetch all account and load objects into an array
|
||||||
*
|
*
|
||||||
* @return array Array with key => EmailCollector object
|
* @param User $user User
|
||||||
* @author
|
* @param int $activeOnly filter if active
|
||||||
|
* @param string $sortfield field for sorting
|
||||||
|
* @param string $sortorder sorting order
|
||||||
|
* @param int $limit sort limit
|
||||||
|
* @param int $page page to start on
|
||||||
|
* @return array Array with key => EmailCollector object
|
||||||
*/
|
*/
|
||||||
public function fetchAll(User $user, $activeOnly = 0, $sortfield = 's.rowid', $sortorder = 'ASC', $limit = 100, $page = 0)
|
public function fetchAll(User $user, $activeOnly = 0, $sortfield = 's.rowid', $sortorder = 'ASC', $limit = 100, $page = 0)
|
||||||
{
|
{
|
||||||
@ -490,7 +495,7 @@ class EmailCollector extends CommonObject
|
|||||||
return $this->LibStatut($this->status, $mode);
|
return $this->LibStatut($this->status, $mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Return the status
|
* Return the status
|
||||||
*
|
*
|
||||||
|
|||||||
@ -22,7 +22,14 @@ AccountancyCodeAsset = Accounting code (asset)
|
|||||||
AccountancyCodeDepreciationAsset = Accounting code (depreciation asset account)
|
AccountancyCodeDepreciationAsset = Accounting code (depreciation asset account)
|
||||||
AccountancyCodeDepreciationExpense = Accounting code (depreciation expense account)
|
AccountancyCodeDepreciationExpense = Accounting code (depreciation expense account)
|
||||||
NewAssetType=New asset type
|
NewAssetType=New asset type
|
||||||
|
AssetsTypeSetup=Assets type setup
|
||||||
|
AssetTypeModified=Asset type modified
|
||||||
|
AssetType=Asset type
|
||||||
AssetsLines=Assets
|
AssetsLines=Assets
|
||||||
|
DeleteType=Delete
|
||||||
|
DeleteAnAssetType=Delete an asset type
|
||||||
|
ConfirmDeleteAssetType=Are you sure you want to delete this asset type?
|
||||||
|
ShowTypeCard=Show type '%s'
|
||||||
|
|
||||||
# Module label 'ModuleAssetsName'
|
# Module label 'ModuleAssetsName'
|
||||||
ModuleAssetsName = Assets
|
ModuleAssetsName = Assets
|
||||||
|
|||||||
@ -424,7 +424,7 @@ class MyObject extends CommonObject
|
|||||||
return $this->LibStatut($this->status, $mode);
|
return $this->LibStatut($this->status, $mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Return the status
|
* Return the status
|
||||||
*
|
*
|
||||||
|
|||||||
@ -631,7 +631,7 @@ if ($ispaymentok)
|
|||||||
$paiement->num_paiement = '';
|
$paiement->num_paiement = '';
|
||||||
$paiement->note_public = 'Online payment '.dol_print_date($now, 'standard').' from '.$ipaddress;
|
$paiement->note_public = 'Online payment '.dol_print_date($now, 'standard').' from '.$ipaddress;
|
||||||
$paiement->ext_payment_id = $TRANSACTIONID;
|
$paiement->ext_payment_id = $TRANSACTIONID;
|
||||||
$paiement->ext_payment_site = $paymentmethod;
|
$paiement->ext_payment_site = $service;
|
||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -22,7 +22,9 @@ define("NOCSRFCHECK",1); // We accept to go on this page from external web site.
|
|||||||
$entity=(! empty($_GET['entity']) ? (int) $_GET['entity'] : (! empty($_POST['entity']) ? (int) $_POST['entity'] : 1));
|
$entity=(! empty($_GET['entity']) ? (int) $_GET['entity'] : (! empty($_POST['entity']) ? (int) $_POST['entity'] : 1));
|
||||||
if (is_numeric($entity)) define("DOLENTITY", $entity);
|
if (is_numeric($entity)) define("DOLENTITY", $entity);
|
||||||
|
|
||||||
require '../../main.inc.php';
|
$res=0;
|
||||||
|
if (! $res && file_exists("../../main.inc.php")) $res=@include("../../main.inc.php"); // to work if your module directory is into a subdir of root htdocs directory
|
||||||
|
if (! $res) die("Include of main fails");
|
||||||
|
|
||||||
if (empty($conf->stripe->enabled)) accessforbidden('',0,0,1);
|
if (empty($conf->stripe->enabled)) accessforbidden('',0,0,1);
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
@ -43,13 +45,13 @@ if (isset($_GET['connect'])){
|
|||||||
{
|
{
|
||||||
$endpoint_secret = $conf->global->STRIPE_TEST_WEBHOOK_CONNECT_KEY;
|
$endpoint_secret = $conf->global->STRIPE_TEST_WEBHOOK_CONNECT_KEY;
|
||||||
$service = 'StripeTest';
|
$service = 'StripeTest';
|
||||||
$servicestatus = 0;
|
$servicestatus = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$endpoint_secret = $conf->global->STRIPE_LIVE_WEBHOOK_CONNECT_KEY;
|
$endpoint_secret = $conf->global->STRIPE_LIVE_WEBHOOK_CONNECT_KEY;
|
||||||
$service = 'StripeLive';
|
$service = 'StripeLive';
|
||||||
$servicestatus = 1;
|
$servicestatus = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -57,15 +59,16 @@ else {
|
|||||||
{
|
{
|
||||||
$endpoint_secret = $conf->global->STRIPE_TEST_WEBHOOK_KEY;
|
$endpoint_secret = $conf->global->STRIPE_TEST_WEBHOOK_KEY;
|
||||||
$service = 'StripeTest';
|
$service = 'StripeTest';
|
||||||
$servicestatus = 0;
|
$servicestatus = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$endpoint_secret = $conf->global->STRIPE_LIVE_WEBHOOK_KEY;
|
$endpoint_secret = $conf->global->STRIPE_LIVE_WEBHOOK_KEY;
|
||||||
$service = 'StripeLive';
|
$service = 'StripeLive';
|
||||||
$servicestatus = 1;
|
$servicestatus = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$payload = @file_get_contents("php://input");
|
$payload = @file_get_contents("php://input");
|
||||||
$sig_header = $_SERVER["HTTP_STRIPE_SIGNATURE"];
|
$sig_header = $_SERVER["HTTP_STRIPE_SIGNATURE"];
|
||||||
$event = null;
|
$event = null;
|
||||||
@ -127,7 +130,7 @@ $stripe=new Stripe($db);
|
|||||||
if ($event->type == 'payout.created') {
|
if ($event->type == 'payout.created') {
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
$result=dolibarr_set_const($db, $servicestatus."_NEXTPAYOUT", date('Y-m-d H:i:s',$event->data->object->arrival_date), 'chaine', 0, '', $conf->entity);
|
$result=dolibarr_set_const($db, $service."_NEXTPAYOUT", date('Y-m-d H:i:s',$event->data->object->arrival_date), 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
@ -172,7 +175,7 @@ if ($event->type == 'payout.created') {
|
|||||||
elseif ($event->type == 'payout.paid') {
|
elseif ($event->type == 'payout.paid') {
|
||||||
global $conf;
|
global $conf;
|
||||||
$error=0;
|
$error=0;
|
||||||
$result=dolibarr_set_const($db, $servicestatus."_NEXTPAYOUT",null,'chaine',0,'',$conf->entity);
|
$result=dolibarr_set_const($db, $service."_NEXTPAYOUT",null,'chaine',0,'',$conf->entity);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
@ -187,14 +190,9 @@ elseif ($event->type == 'payout.paid') {
|
|||||||
$accountfrom->fetch($conf->global->STRIPE_BANK_ACCOUNT_FOR_PAYMENTS);
|
$accountfrom->fetch($conf->global->STRIPE_BANK_ACCOUNT_FOR_PAYMENTS);
|
||||||
|
|
||||||
$accountto=new Account($db);
|
$accountto=new Account($db);
|
||||||
$accountto->fetch($conf->global->STRIPE_BANK_ACCOUNT_FOR_BANKTRANFERS);
|
$accountto->fetch($conf->global->STRIPE_BANK_ACCOUNT_FOR_BANKTRANSFERS);
|
||||||
|
|
||||||
if ($accountto->currency_code != $accountfrom->currency_code) {
|
if (($accountto->id != $accountfrom->id) && empty($error))
|
||||||
$error++;
|
|
||||||
setEventMessages($langs->trans("ErrorTransferBetweenDifferentCurrencyNotPossible"), null, 'errors');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($accountto->id != $accountfrom->id)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
$bank_line_id_from=0;
|
$bank_line_id_from=0;
|
||||||
@ -207,21 +205,44 @@ elseif ($event->type == 'payout.paid') {
|
|||||||
|
|
||||||
if (! $error) $bank_line_id_from = $accountfrom->addline($dateo, $typefrom, $label, -1*price2num($amount), '', '', $user);
|
if (! $error) $bank_line_id_from = $accountfrom->addline($dateo, $typefrom, $label, -1*price2num($amount), '', '', $user);
|
||||||
if (! ($bank_line_id_from > 0)) $error++;
|
if (! ($bank_line_id_from > 0)) $error++;
|
||||||
if ((! $error) && ($accountto->currency_code == $accountfrom->currency_code)) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amount), '', '', $user);
|
if (! $error) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amount), '', '', $user);
|
||||||
if ((! $error) && ($accountto->currency_code != $accountfrom->currency_code)) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amount_to), '', '', $user);
|
|
||||||
if (! ($bank_line_id_to > 0)) $error++;
|
if (! ($bank_line_id_to > 0)) $error++;
|
||||||
|
|
||||||
if (! $error) $result=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
|
if (! $error) $result=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
|
||||||
if (! ($result > 0)) $error++;
|
if (! ($result > 0)) $error++;
|
||||||
if (! $error) $result=$accountto->add_url_line($bank_line_id_to, $bank_line_id_from, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
|
if (! $error) $result=$accountto->add_url_line($bank_line_id_to, $bank_line_id_from, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
|
||||||
if (! ($result > 0)) $error++;
|
if (! ($result > 0)) $error++;
|
||||||
}
|
|
||||||
|
|
||||||
// TODO Use CMail and translation
|
}
|
||||||
$body = "Un virement de ".price2num($event->data->object->amount/100)." ".$event->data->object->currency." a ete effectue sur votre compte le ".date('d-m-Y H:i:s',$event->data->object->arrival_date);
|
$subject = '[NOTIFICATION] Stripe payout done';
|
||||||
$subject = '[NOTIFICATION] Virement effectué';
|
if (!empty($user->email)) {
|
||||||
$headers = 'From: "'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'" <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>';
|
$sendto = dolGetFirstLastname($user->firstname, $user->lastname) . " <".$user->email.">";
|
||||||
mail(''.$conf->global->MAIN_INFO_SOCIETE_MAIL.'', $subject, $body, $headers);
|
} else {
|
||||||
|
$sendto = $conf->global->MAIN_INFO_SOCIETE_MAIL.'" <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>';
|
||||||
|
}
|
||||||
|
$replyto = $sendto;
|
||||||
|
$sendtocc = '';
|
||||||
|
if (!empty($conf->global->ONLINE_PAYMENT_SENDEMAIL)) {
|
||||||
|
$sendtocc = $conf->global->ONLINE_PAYMENT_SENDEMAIL.'" <'.$conf->global->ONLINE_PAYMENT_SENDEMAIL.'>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$message = "A bank transfer of ".price2num($event->data->object->amount/100)." ".$event->data->object->currency." has been transfert in your account the ".dol_print_date($event->data->object->arrival_date, 'dayhour');
|
||||||
|
|
||||||
|
$mailfile = new CMailFile(
|
||||||
|
$subject,
|
||||||
|
$sendto,
|
||||||
|
$replyto,
|
||||||
|
$message,
|
||||||
|
array(),
|
||||||
|
array(),
|
||||||
|
array(),
|
||||||
|
$sendtocc,
|
||||||
|
'',
|
||||||
|
0,
|
||||||
|
-1
|
||||||
|
);
|
||||||
|
|
||||||
|
$ret = $mailfile->sendfile();
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,6 +13,7 @@
|
|||||||
* Copyright (C) 2014-2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2014-2015 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
* Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com>
|
||||||
|
* Copyright (C) 2018 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -3827,6 +3828,7 @@ class Societe extends CommonObject
|
|||||||
*
|
*
|
||||||
* @return int Amount in debt for thirdparty
|
* @return int Amount in debt for thirdparty
|
||||||
* @deprecated
|
* @deprecated
|
||||||
|
* @see getOutstandingBills()
|
||||||
*/
|
*/
|
||||||
function get_OutstandingBill()
|
function get_OutstandingBill()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -41,7 +41,7 @@ $sql="SELECT rowid FROM ".MAIN_DB_PREFIX."facture where facnumber='(PROV-POS-".$
|
|||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
$row = $db->fetch_array ($resql);
|
$row = $db->fetch_array ($resql);
|
||||||
$placeid=$row[0];
|
$placeid=$row[0];
|
||||||
if (! $placeid) $placeid=0; // Developing error message with no lines
|
if (! $placeid) $placeid=0; // Invoice not exist
|
||||||
else{
|
else{
|
||||||
$invoice = new Facture($db);
|
$invoice = new Facture($db);
|
||||||
$invoice->fetch($placeid);
|
$invoice->fetch($placeid);
|
||||||
@ -101,15 +101,15 @@ $langs->loadLangs(array("main", "bills", "cashdesk"));
|
|||||||
<button type="button" class="calcbutton" onclick="addreceived(10);">10</button>
|
<button type="button" class="calcbutton" onclick="addreceived(10);">10</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(20);">20</button>
|
<button type="button" class="calcbutton" onclick="addreceived(20);">20</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(50);">50</button>
|
<button type="button" class="calcbutton" onclick="addreceived(50);">50</button>
|
||||||
<button type="button" class="calcbutton2" onclick="Validate('cash');"><?php echo $langs->trans("Cash"); ?></button>
|
<button type="button" <?php if ($placeid==0) echo "disabled";?> class="calcbutton2" onclick="Validate('cash');"><?php echo $langs->trans("Cash"); ?></button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(1);">1</button>
|
<button type="button" class="calcbutton" onclick="addreceived(1);">1</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(2);">2</button>
|
<button type="button" class="calcbutton" onclick="addreceived(2);">2</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(5);">5</button>
|
<button type="button" class="calcbutton" onclick="addreceived(5);">5</button>
|
||||||
<button type="button" class="calcbutton2" onclick="Validate('card');"><?php echo $langs->trans("PaymentTypeCB"); ?></button>
|
<button type="button" <?php if ($placeid==0) echo "disabled";?> class="calcbutton2" onclick="Validate('card');"><?php echo $langs->trans("PaymentTypeCB"); ?></button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(0.10);">0.10</button>
|
<button type="button" class="calcbutton" onclick="addreceived(0.10);">0.10</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(0.20);">0.20</button>
|
<button type="button" class="calcbutton" onclick="addreceived(0.20);">0.20</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(0.50);">0.50</button>
|
<button type="button" class="calcbutton" onclick="addreceived(0.50);">0.50</button>
|
||||||
<button type="button" class="calcbutton2" onclick="printclick();"><span id="printtext"><?php echo $langs->trans("GoBack"); ?></span></button>
|
<button type="button" class="calcbutton2" onclick="parent.$.colorbox.close();"><span id="printtext"><?php echo $langs->trans("GoBack"); ?></span></button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(0.01);">0.01</button>
|
<button type="button" class="calcbutton" onclick="addreceived(0.01);">0.01</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(0.02);">0.02</button>
|
<button type="button" class="calcbutton" onclick="addreceived(0.02);">0.02</button>
|
||||||
<button type="button" class="calcbutton" onclick="addreceived(0.05);">0.05</button>
|
<button type="button" class="calcbutton" onclick="addreceived(0.05);">0.05</button>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user