Merge remote-tracking branch 'upstream/develop' into socialnetworks
This commit is contained in:
commit
02b706f9c0
@ -1522,6 +1522,10 @@ if ($id)
|
||||
$key=$langs->trans("PaymentType".strtoupper($obj->code));
|
||||
$valuetoshow=($obj->code && $key != "PaymentType".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]});
|
||||
}
|
||||
elseif ($fieldlist[$field]=='type' && $tabname[$id]==MAIN_DB_PREFIX.'c_paiement') {
|
||||
$payment_type_list = array(0=>$langs->trans('PaymentTypeCustomer'), 1=>$langs->trans('PaymentTypeSupplier'), 2=>$langs->trans('PaymentTypeBoth'));
|
||||
$valuetoshow = $payment_type_list[$valuetoshow];
|
||||
}
|
||||
elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_input_reason') {
|
||||
$key=$langs->trans("DemandReasonType".strtoupper($obj->code));
|
||||
$valuetoshow=($obj->code && $key != "DemandReasonType".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]});
|
||||
@ -1888,6 +1892,13 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
|
||||
print $type.'<input type="hidden" name="type" value="'.$type.'">';
|
||||
print '</td>';
|
||||
}
|
||||
elseif ($fieldlist[$field] == 'type' && $tabname == MAIN_DB_PREFIX.'c_paiement')
|
||||
{
|
||||
print '<td>';
|
||||
$select_list = array(0=>$langs->trans('PaymentTypeCustomer'), 1=>$langs->trans('PaymentTypeSupplier'), 2=>$langs->trans('PaymentTypeBoth'));
|
||||
print $form->selectarray($fieldlist[$field], $select_list, (! empty($obj->{$fieldlist[$field]})?$obj->{$fieldlist[$field]}:'2'));
|
||||
print '</td>';
|
||||
}
|
||||
elseif ($fieldlist[$field] == 'recuperableonly' || $fieldlist[$field] == 'type_cdr' || $fieldlist[$field] == 'deductible' || $fieldlist[$field] == 'category_type') {
|
||||
if ($fieldlist[$field] == 'type_cdr') print '<td class="center">';
|
||||
else print '<td>';
|
||||
|
||||
@ -2136,6 +2136,8 @@ class Facture extends CommonInvoice
|
||||
if ($this->paye != 1)
|
||||
{
|
||||
$this->db->begin();
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
dol_syslog(get_class($this)."::set_paid rowid=".$this->id, LOG_DEBUG);
|
||||
|
||||
@ -2144,6 +2146,8 @@ class Facture extends CommonInvoice
|
||||
if (! $close_code) $sql.= ', paye=1';
|
||||
if ($close_code) $sql.= ", close_code='".$this->db->escape($close_code)."'";
|
||||
if ($close_note) $sql.= ", close_note='".$this->db->escape($close_note)."'";
|
||||
$sql.= ', fk_user_closing = '.$user->id;
|
||||
$sql.= ", date_closing = '".$this->db->idate($now)."'";
|
||||
$sql.= ' WHERE rowid = '.$this->id;
|
||||
|
||||
$resql = $this->db->query($sql);
|
||||
@ -2195,7 +2199,9 @@ class Facture extends CommonInvoice
|
||||
$this->db->begin();
|
||||
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture';
|
||||
$sql.= ' SET paye=0, fk_statut='.self::STATUS_VALIDATED.', close_code=null, close_note=null';
|
||||
$sql.= ' SET paye=0, fk_statut='.self::STATUS_VALIDATED.', close_code=null, close_note=null,';
|
||||
$sql.= ' date_closing=null,';
|
||||
$sql.= ' fk_user_closing=null';
|
||||
$sql.= ' WHERE rowid = '.$this->id;
|
||||
|
||||
dol_syslog(get_class($this)."::set_unpaid", LOG_DEBUG);
|
||||
@ -3521,7 +3527,8 @@ class Facture extends CommonInvoice
|
||||
public function info($id)
|
||||
{
|
||||
$sql = 'SELECT c.rowid, datec, date_valid as datev, tms as datem,';
|
||||
$sql.= ' fk_user_author, fk_user_valid';
|
||||
$sql.= ' date_closing as dateclosing,';
|
||||
$sql.= ' fk_user_author, fk_user_valid, fk_user_closing';
|
||||
$sql.= ' FROM '.MAIN_DB_PREFIX.'facture as c';
|
||||
$sql.= ' WHERE c.rowid = '.$id;
|
||||
|
||||
@ -3536,7 +3543,7 @@ class Facture extends CommonInvoice
|
||||
{
|
||||
$cuser = new User($this->db);
|
||||
$cuser->fetch($obj->fk_user_author);
|
||||
$this->user_creation = $cuser;
|
||||
$this->user_creation = $cuser;
|
||||
}
|
||||
if ($obj->fk_user_valid)
|
||||
{
|
||||
@ -3544,9 +3551,17 @@ class Facture extends CommonInvoice
|
||||
$vuser->fetch($obj->fk_user_valid);
|
||||
$this->user_validation = $vuser;
|
||||
}
|
||||
if ($obj->fk_user_closing)
|
||||
{
|
||||
$cluser = new User($this->db);
|
||||
$cluser->fetch($obj->fk_user_closing);
|
||||
$this->user_closing = $cluser;
|
||||
}
|
||||
|
||||
$this->date_creation = $this->db->jdate($obj->datec);
|
||||
$this->date_modification = $this->db->jdate($obj->datem);
|
||||
$this->date_validation = $this->db->jdate($obj->datev); // Should be in log table
|
||||
$this->date_validation = $this->db->jdate($obj->datev);
|
||||
$this->date_closing = $this->db->jdate($obj->dateclosing);
|
||||
}
|
||||
$this->db->free($result);
|
||||
}
|
||||
|
||||
@ -181,6 +181,7 @@ $arrayfields=array(
|
||||
'rtp'=>array('label'=>"Rest", 'checked'=>0),
|
||||
'f.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500),
|
||||
'f.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500),
|
||||
'f.date_closing'=>array('label'=>"DateClosing", 'checked'=>0, 'position'=>500),
|
||||
'f.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000),
|
||||
);
|
||||
|
||||
@ -382,7 +383,7 @@ $sql.= ' f.rowid as id, f.ref, f.ref_client, f.type, f.note_private, f.note_publ
|
||||
$sql.= ' f.localtax1 as total_localtax1, f.localtax2 as total_localtax2,';
|
||||
$sql.= ' f.datef as df, f.date_lim_reglement as datelimite,';
|
||||
$sql.= ' f.paye as paye, f.fk_statut,';
|
||||
$sql.= ' f.datec as date_creation, f.tms as date_update,';
|
||||
$sql.= ' f.datec as date_creation, f.tms as date_update, f.date_closing as date_closing,';
|
||||
if($conf->global->INVOICE_USE_SITUATION && $conf->global->INVOICE_USE_SITUATION_RETAINED_WARRANTY)
|
||||
{
|
||||
$sql.= ' f.retained_warranty, f.retained_warranty_date_limit, f.situation_final,f.situation_cycle_ref,f.situation_counter,';
|
||||
@ -497,7 +498,7 @@ if (! $sall)
|
||||
$sql.= ' f.localtax1, f.localtax2,';
|
||||
$sql.= ' f.datef, f.date_lim_reglement,';
|
||||
$sql.= ' f.paye, f.fk_statut,';
|
||||
$sql.= ' f.datec, f.tms,';
|
||||
$sql.= ' f.datec, f.tms, f.date_closing,';
|
||||
$sql.= ' s.rowid, s.nom, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur,';
|
||||
$sql.= ' typent.code,';
|
||||
$sql.= ' state.code_departement, state.nom,';
|
||||
@ -866,6 +867,12 @@ if ($resql)
|
||||
print '<td class="liste_titre right">';
|
||||
print '</td>';
|
||||
}
|
||||
if (! empty($arrayfields['f.date_closing']['checked']))
|
||||
{
|
||||
print '<td class="liste_titre">';
|
||||
print '</td>';
|
||||
}
|
||||
|
||||
// Extra fields
|
||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php';
|
||||
|
||||
@ -932,6 +939,7 @@ if ($resql)
|
||||
print $hookmanager->resPrint;
|
||||
if (! empty($arrayfields['f.datec']['checked'])) print_liste_field_titre($arrayfields['f.datec']['label'], $_SERVER["PHP_SELF"], "f.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['f.tms']['checked'])) print_liste_field_titre($arrayfields['f.tms']['label'], $_SERVER["PHP_SELF"], "f.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['f.date_closing']['checked'])) print_liste_field_titre($arrayfields['f.date_closing']['label'], $_SERVER["PHP_SELF"], "f.date_closing", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder);
|
||||
if (! empty($arrayfields['f.fk_statut']['checked'])) print_liste_field_titre($arrayfields['f.fk_statut']['label'], $_SERVER["PHP_SELF"], "f.fk_statut,f.paye,f.type,dynamount_payed", "", $param, 'class="right"', $sortfield, $sortorder);
|
||||
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch ');
|
||||
print "</tr>\n";
|
||||
@ -1262,6 +1270,14 @@ if ($resql)
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
// Date closing
|
||||
if (! empty($arrayfields['f.date_closing']['checked']))
|
||||
{
|
||||
print '<td align="center" class="nowrap">';
|
||||
print dol_print_date($db->jdate($obj->date_closing), 'dayhour', 'tzuser');
|
||||
print '</td>';
|
||||
if (! $i) $totalarray['nbfield']++;
|
||||
}
|
||||
// Status
|
||||
if (! empty($arrayfields['f.fk_statut']['checked']))
|
||||
{
|
||||
|
||||
@ -267,6 +267,7 @@ $sql.= " state.code_departement, state.nom";
|
||||
// Add fields from extrafields
|
||||
if (! empty($extrafields->attributes[$object->table_element]['label'])) {
|
||||
foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key : '');
|
||||
}
|
||||
// Add where from hooks
|
||||
$parameters=array();
|
||||
$reshook=$hookmanager->executeHooks('printFieldListGroupBy', $parameters); // Note that $action and $object may have been modified by hook
|
||||
|
||||
@ -334,6 +334,7 @@ class Ccountry // extends CommonObject
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a link to the object card (with optionaly the picto)
|
||||
*
|
||||
@ -344,7 +345,7 @@ class Ccountry // extends CommonObject
|
||||
* @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
|
||||
* @return string String with URL
|
||||
*/
|
||||
function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1)
|
||||
public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1)
|
||||
{
|
||||
global $langs;
|
||||
return $langs->trans($this->label);
|
||||
|
||||
@ -93,7 +93,8 @@ ALTER TABLE llx_extrafields ADD COLUMN printable boolean DEFAULT FALSE;
|
||||
ALTER TABLE llx_facture ADD COLUMN retained_warranty real DEFAULT NULL after situation_final;
|
||||
ALTER TABLE llx_facture ADD COLUMN retained_warranty_date_limit date DEFAULT NULL after retained_warranty;
|
||||
ALTER TABLE llx_facture ADD COLUMN retained_warranty_fk_cond_reglement integer DEFAULT NULL after retained_warranty_date_limit;
|
||||
|
||||
ALTER TABLE llx_facture ADD COLUMN date_closing datetime DEFAULT NULL after date_valid;
|
||||
ALTER TABLE llx_facture ADD COLUMN fk_user_closing integer DEFAULT NULL after fk_user_valid;
|
||||
|
||||
ALTER TABLE llx_c_shipment_mode ADD COLUMN entity integer DEFAULT 1 NOT NULL;
|
||||
|
||||
@ -226,6 +227,7 @@ INSERT INTO llx_c_hrm_public_holiday (code, entity, fk_country, dayrule, year, m
|
||||
INSERT INTO llx_c_hrm_public_holiday (code, entity, fk_country, dayrule, year, month, day, active) VALUES('IN-REPUBLICDAY', 0, 117, '', 0, 1, 26, 1);
|
||||
INSERT INTO llx_c_hrm_public_holiday (code, entity, fk_country, dayrule, year, month, day, active) VALUES('IN-GANDI', 0, 117, '', 0, 10, 2, 1);
|
||||
|
||||
|
||||
create table llx_c_socialnetworks
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
@ -277,15 +279,18 @@ ALTER TABLE llx_societe ADD COLUMN socialnetworks text DEFAULT NULL AFTER email;
|
||||
ALTER TABLE llx_socpeople ADD COLUMN socialnetworks text DEFAULT NULL AFTER email;
|
||||
ALTER TABLE llx_user ADD COLUMN socialnetworks text DEFAULT NULL AFTER personal_email;
|
||||
|
||||
ALTER TABLE llx_product ADD COLUMN net_measure float;
|
||||
ALTER TABLE llx_product ADD COLUMN net_measure_units tinyint;
|
||||
|
||||
create table llx_adherent_type_lang
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
fk_type integer DEFAULT 0 NOT NULL,
|
||||
lang varchar(5) DEFAULT 0 NOT NULL,
|
||||
label varchar(255) NOT NULL,
|
||||
description text,
|
||||
email text,
|
||||
import_key varchar(14) DEFAULT NULL
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
fk_type integer DEFAULT 0 NOT NULL,
|
||||
lang varchar(5) DEFAULT 0 NOT NULL,
|
||||
label varchar(255) NOT NULL,
|
||||
description text,
|
||||
email text,
|
||||
import_key varchar(14) DEFAULT NULL
|
||||
)ENGINE=innodb;
|
||||
|
||||
create table llx_fichinter_rec
|
||||
|
||||
@ -41,6 +41,7 @@ create table llx_facture
|
||||
date_pointoftax date DEFAULT NULL, -- date point of tax (for GB)
|
||||
date_valid date, -- date validation
|
||||
tms timestamp, -- date creation/modification
|
||||
date_closing datetime, -- date de cloture
|
||||
paye smallint DEFAULT 0 NOT NULL,
|
||||
amount double(24,8) DEFAULT 0 NOT NULL,
|
||||
remise_percent real DEFAULT 0, -- remise relative
|
||||
@ -62,7 +63,8 @@ create table llx_facture
|
||||
fk_user_author integer, -- user making creation
|
||||
fk_user_modif integer, -- user making last change
|
||||
fk_user_valid integer, -- user validating
|
||||
|
||||
fk_user_closing integer, -- user closing
|
||||
|
||||
module_source varchar(32), -- name of module when invoice generated by a dedicated module (POS, ...)
|
||||
pos_source varchar(32), -- name of POS station when invoice is generated by a POS module
|
||||
fk_fac_rec_source integer, -- facture rec source
|
||||
|
||||
@ -69,6 +69,8 @@ create table llx_product
|
||||
accountancy_code_sell_export varchar(32), -- Selling accountancy code for vat export
|
||||
accountancy_code_buy varchar(32), -- Buying accountancy code
|
||||
partnumber varchar(32), -- Part/Serial number. TODO To use it into screen if not a duplicate of barcode.
|
||||
net_measure float DEFAULT NULL,
|
||||
net_measure_units tinyint DEFAULT NULL,
|
||||
weight float DEFAULT NULL,
|
||||
weight_units tinyint DEFAULT NULL,
|
||||
length float DEFAULT NULL,
|
||||
|
||||
@ -438,5 +438,6 @@ PaymentTypeCustomer=Payment Type - Customer
|
||||
PaymentTermsCustomer=Payment Terms - Customer
|
||||
PaymentTypeSupplier=Payment Type - Vendor
|
||||
PaymentTermsSupplier=Payment Term - Vendor
|
||||
PaymentTypeBoth=Payment Type - Customer and Vendor
|
||||
MulticurrencyUsed=Use Multicurrency
|
||||
MulticurrencyCurrency=Currency
|
||||
MulticurrencyCurrency=Currency
|
||||
|
||||
@ -36,7 +36,7 @@ CostPrice=Cost price
|
||||
UnitCharges=Unit charges
|
||||
Charges=Charges
|
||||
AgentContactType=Commercial agent contact type
|
||||
AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per sale representative
|
||||
AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per sale representative. Note that reading statistics on a sale representative as a contact is not reliable since in most cases the contact may not be defined explicitely on the invoices.
|
||||
rateMustBeNumeric=Rate must be a numeric value
|
||||
markRateShouldBeLesserThan100=Mark rate should be lower than 100
|
||||
ShowMarginInfos=Show margin infos
|
||||
|
||||
@ -1224,13 +1224,24 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr
|
||||
print '<meta name="author" content="Dolibarr Development Team">'."\n";
|
||||
|
||||
// Favicon
|
||||
$favicon=dol_buildpath('/theme/'.$conf->theme.'/img/favicon.ico', 1);
|
||||
$favicon = DOL_MAIN_URL_ROOT . '/theme/'.$conf->theme.'/img/favicon.ico';
|
||||
if (! empty($conf->global->MAIN_FAVICON_URL)) $favicon=$conf->global->MAIN_FAVICON_URL;
|
||||
if (empty($conf->dol_use_jmobile)) print '<link rel="shortcut icon" type="image/x-icon" href="'.$favicon.'"/>'."\n"; // Not required into an Android webview
|
||||
//if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) print '<link rel="top" title="'.$langs->trans("Home").'" href="'.(DOL_URL_ROOT?DOL_URL_ROOT:'/').'">'."\n";
|
||||
//if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) print '<link rel="copyright" title="GNU General Public License" href="https://www.gnu.org/copyleft/gpl.html#SEC1">'."\n";
|
||||
//if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) print '<link rel="author" title="Dolibarr Development Team" href="https://www.dolibarr.org">'."\n";
|
||||
|
||||
// Mobile appli like icon
|
||||
$manifest = DOL_MAIN_URL_ROOT . '/theme/'.$conf->theme.'/manifest.json.php';
|
||||
if(!empty($manifest)){
|
||||
print '<link rel="manifest" href="'.$manifest.'" />'."\n";
|
||||
}
|
||||
|
||||
if(!empty($conf->global->THEME_ELDY_TOPMENU_BACK1)) {
|
||||
// TODO: use auto theme color switch
|
||||
print '<meta name="theme-color" content="rgb('.$conf->global->THEME_ELDY_TOPMENU_BACK1.')">' . "\n";
|
||||
}
|
||||
|
||||
// Auto refresh page
|
||||
if (GETPOST('autorefresh', 'int') > 0) print '<meta http-equiv="refresh" content="'.GETPOST('autorefresh', 'int').'">';
|
||||
|
||||
|
||||
@ -257,6 +257,8 @@ class Product extends CommonObject
|
||||
public $url;
|
||||
|
||||
//! Unites de mesure
|
||||
public $net_measure;
|
||||
public $net_measure_units;
|
||||
public $weight;
|
||||
public $weight_units;
|
||||
public $length;
|
||||
@ -806,6 +808,8 @@ class Product extends CommonObject
|
||||
$this->label = trim($this->label);
|
||||
$this->description = trim($this->description);
|
||||
$this->note = (isset($this->note) ? trim($this->note) : null);
|
||||
$this->net_measure = price2num($this->net_measure);
|
||||
$this->net_measure_units = trim($this->net_measure_units);
|
||||
$this->weight = price2num($this->weight);
|
||||
$this->weight_units = trim($this->weight_units);
|
||||
$this->length = price2num($this->length);
|
||||
@ -952,6 +956,8 @@ class Product extends CommonObject
|
||||
$sql.= ", tobuy = " . (int) $this->status_buy;
|
||||
$sql.= ", tobatch = " . ((empty($this->status_batch) || $this->status_batch < 0) ? '0' : (int) $this->status_batch);
|
||||
$sql.= ", finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : (int) $this->finished);
|
||||
$sql.= ", net_measure = " . ($this->net_measure!='' ? "'".$this->db->escape($this->net_measure)."'" : 'null');
|
||||
$sql.= ", net_measure_units = " . ($this->net_measure_units!='' ? "'".$this->db->escape($this->net_measure_units)."'": 'null');
|
||||
$sql.= ", weight = " . ($this->weight!='' ? "'".$this->db->escape($this->weight)."'" : 'null');
|
||||
$sql.= ", weight_units = " . ($this->weight_units!='' ? "'".$this->db->escape($this->weight_units)."'": 'null');
|
||||
$sql.= ", length = " . ($this->length!='' ? "'".$this->db->escape($this->length)."'" : 'null');
|
||||
@ -2044,7 +2050,7 @@ class Product extends CommonObject
|
||||
|
||||
$sql = "SELECT rowid, ref, ref_ext, label, description, url, note as note_private, customcode, fk_country, price, price_ttc,";
|
||||
$sql.= " price_min, price_min_ttc, price_base_type, cost_price, default_vat_code, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, tosell,";
|
||||
$sql.= " tobuy, fk_product_type, duration, fk_default_warehouse, seuil_stock_alerte, canvas, weight, weight_units,";
|
||||
$sql.= " tobuy, fk_product_type, duration, fk_default_warehouse, seuil_stock_alerte, canvas, net_measure, net_measure_units, weight, weight_units,";
|
||||
$sql.= " length, length_units, width, width_units, height, height_units,";
|
||||
$sql.= " surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished,";
|
||||
$sql.= " accountancy_code_buy, accountancy_code_sell, accountancy_code_sell_intra, accountancy_code_sell_export, stock, pmp,";
|
||||
@ -2108,6 +2114,8 @@ class Product extends CommonObject
|
||||
$this->duration_value = substr($obj->duration, 0, dol_strlen($obj->duration)-1);
|
||||
$this->duration_unit = substr($obj->duration, -1);
|
||||
$this->canvas = $obj->canvas;
|
||||
$this->net_measure = $obj->net_measure;
|
||||
$this->net_measure_units = $obj->net_measure_units;
|
||||
$this->weight = $obj->weight;
|
||||
$this->weight_units = $obj->weight_units;
|
||||
$this->length = $obj->length;
|
||||
@ -3364,7 +3372,10 @@ class Product extends CommonObject
|
||||
if (!$user->rights->societe->client->voir && !$socid) {
|
||||
$sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||
}
|
||||
$sql.= " WHERE c.rowid = d.fk_contrat";
|
||||
|
||||
$sql.= " WHERE c.entity IN (".getEntity('contract').")";
|
||||
$sql.= " AND c.rowid = d.fk_contrat";
|
||||
|
||||
if ($this->id > 0) {
|
||||
$sql.= " AND d.fk_product =".$this->id;
|
||||
} else {
|
||||
@ -3374,7 +3385,7 @@ class Product extends CommonObject
|
||||
$sql.= " AND p.rowid = d.fk_product AND p.fk_product_type =".$filteronproducttype;
|
||||
}
|
||||
$sql.= " AND c.fk_soc = s.rowid";
|
||||
$sql.= " AND c.entity IN (".getEntity('contract').")";
|
||||
|
||||
if (!$user->rights->societe->client->voir && !$socid) {
|
||||
$sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id;
|
||||
}
|
||||
|
||||
@ -328,6 +328,7 @@ if (! empty($arrayfields['t.tobill']['checked']) || ! empty($arrayfields['t.bill
|
||||
// Add fields from extrafields
|
||||
if (! empty($extrafields->attributes[$object->table_element]['label'])) {
|
||||
foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key : '');
|
||||
}
|
||||
}
|
||||
$sql.= $db->order($sortfield, $sortorder);
|
||||
|
||||
|
||||
BIN
htdocs/theme/common/dolibarr_logo_256x256.png
Normal file
BIN
htdocs/theme/common/dolibarr_logo_256x256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
@ -2063,16 +2063,16 @@ img.login, img.printer, img.entity {
|
||||
background-size: contain;
|
||||
}
|
||||
img.userphoto { /* size for user photo in lists */
|
||||
border-radius: 9px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 0.75em;
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
background-size: contain;
|
||||
vertical-align: middle;
|
||||
}
|
||||
img.userphotosmall { /* size for user photo in lists */
|
||||
border-radius: 6px;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
border-radius: 0.6em;
|
||||
width: 1.2em;
|
||||
height: 1.2em;
|
||||
background-size: contain;
|
||||
vertical-align: middle;
|
||||
background-color: #FFF;
|
||||
|
||||
57
htdocs/theme/eldy/manifest.json.php
Normal file
57
htdocs/theme/eldy/manifest.json.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
/* Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2007-2017 Regis Houssin <regis.houssin@inodbox.com>
|
||||
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
|
||||
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FI8TNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file htdocs/theme/eldy/manifest.json.php
|
||||
* \brief File for The Web App
|
||||
*/
|
||||
|
||||
//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled because need to load personalized language
|
||||
//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url.
|
||||
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1');
|
||||
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled because need to do translations
|
||||
if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', 1);
|
||||
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', 1);
|
||||
if (! defined('NOLOGIN')) define('NOLOGIN', 1); // File must be accessed by logon page so without login
|
||||
//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); // We need top menu content
|
||||
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML', 1);
|
||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1');
|
||||
|
||||
require_once __DIR__.'/../../main.inc.php';
|
||||
|
||||
$appli=constant('DOL_APPLICATION_TITLE');
|
||||
if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE;
|
||||
|
||||
?>
|
||||
{
|
||||
"name": "<?php echo $appli; ?>",
|
||||
"icons": [
|
||||
{
|
||||
"src": "<?php echo dol_buildpath('/theme/common/dolibarr_logo_256x256.png', 2); ?>",
|
||||
"sizes": "256x256",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
@ -2181,16 +2181,16 @@ img.login, img.printer, img.entity {
|
||||
background-color: #FFF;
|
||||
}
|
||||
img.userphoto { /* size for user photo in lists */
|
||||
border-radius: 9px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 0.75em;
|
||||
width: 1.5em;
|
||||
height: 1.5em;
|
||||
background-size: contain;
|
||||
vertical-align: middle;
|
||||
}
|
||||
img.userphotosmall { /* size for user photo in lists */
|
||||
border-radius: 6px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 0.6em;
|
||||
width: 1.2em;
|
||||
height: 1.2em;
|
||||
background-size: contain;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
@ -155,6 +155,9 @@ class AllTests
|
||||
require_once dirname(__FILE__).'/DiscountTest.php';
|
||||
$suite->addTestSuite('DiscountTest');
|
||||
|
||||
require_once dirname(__FILE__).'/BOMTest.php';
|
||||
$suite->addTestSuite('BOMTest');
|
||||
|
||||
require_once dirname(__FILE__).'/ContratTest.php';
|
||||
$suite->addTestSuite('ContratTest');
|
||||
|
||||
@ -253,6 +256,9 @@ class AllTests
|
||||
$suite->addTestSuite('FormAdminTest');
|
||||
|
||||
|
||||
require_once dirname(__FILE__).'/PaypalTest.php';
|
||||
$suite->addTestSuite('PaypalTest');
|
||||
|
||||
return $suite;
|
||||
}
|
||||
}
|
||||
|
||||
@ -108,6 +108,7 @@ class BankAccountTest extends PHPUnit\Framework\TestCase
|
||||
|
||||
print __METHOD__."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* End phpunit tests
|
||||
*
|
||||
|
||||
@ -145,7 +145,7 @@ class UtilsTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertEquals($result['error'], '');
|
||||
//$this->assertEquals(preg_match('/phpunit/', $result['output']), 1);
|
||||
|
||||
print __METHOD__." result=".$result."\n";
|
||||
print __METHOD__." result=".$result['result']."\n";
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user