Merge branch '15.0' of git@github.com:Dolibarr/dolibarr.git into develop
Conflicts: htdocs/install/mysql/migration/14.0.0-15.0.0.sql htdocs/langs/en_US/banks.lang htdocs/projet/list.php
This commit is contained in:
commit
c2fb5d577c
@ -659,8 +659,7 @@ class Adherent extends CommonObject
|
||||
$nbrowsaffected = 0;
|
||||
$error = 0;
|
||||
|
||||
dol_syslog(get_class($this)."::update notrigger=".$notrigger.", nosyncuser=".$nosyncuser.", nosyncuserpass=".$nosyncuserpass." nosyncthirdparty=".$nosyncthirdparty.", email=".
|
||||
$this->email);
|
||||
dol_syslog(get_class($this)."::update notrigger=".$notrigger.", nosyncuser=".$nosyncuser.", nosyncuserpass=".$nosyncuserpass." nosyncthirdparty=".$nosyncthirdparty.", email=".$this->email);
|
||||
|
||||
// Clean parameters
|
||||
$this->lastname = trim($this->lastname) ? trim($this->lastname) : trim($this->lastname);
|
||||
@ -693,7 +692,9 @@ class Adherent extends CommonObject
|
||||
$sql .= ", gender = ".($this->gender != -1 ? "'".$this->db->escape($this->gender)."'" : "null"); // 'man' or 'woman'
|
||||
$sql .= ", login = ".($this->login ? "'".$this->db->escape($this->login)."'" : "null");
|
||||
$sql .= ", societe = ".($this->company ? "'".$this->db->escape($this->company)."'" : ($this->societe ? "'".$this->db->escape($this->societe)."'" : "null"));
|
||||
$sql .= ", fk_soc = ".($this->socid > 0 ? $this->db->escape($this->socid) : "null");
|
||||
if ($this->socid) {
|
||||
$sql .= ", fk_soc = ".($this->socid > 0 ? $this->db->escape($this->socid) : "null"); // Must be modified only when creating from a third-party
|
||||
}
|
||||
$sql .= ", address = ".($this->address ? "'".$this->db->escape($this->address)."'" : "null");
|
||||
$sql .= ", zip = ".($this->zip ? "'".$this->db->escape($this->zip)."'" : "null");
|
||||
$sql .= ", town = ".($this->town ? "'".$this->db->escape($this->town)."'" : "null");
|
||||
@ -713,9 +714,6 @@ class Adherent extends CommonObject
|
||||
$sql .= ", fk_adherent_type = ".$this->db->escape($this->typeid);
|
||||
$sql .= ", morphy = '".$this->db->escape($this->morphy)."'";
|
||||
$sql .= ", birth = ".($this->birth ? "'".$this->db->idate($this->birth)."'" : "null");
|
||||
if ($this->socid) {
|
||||
$sql .= ", fk_soc = '".$this->db->escape($this->socid)."'"; // Must be modified only when creating from a third-party
|
||||
}
|
||||
if ($this->datefin) {
|
||||
$sql .= ", datefin = '".$this->db->idate($this->datefin)."'"; // Must be modified only when deleting a subscription
|
||||
}
|
||||
|
||||
@ -307,7 +307,7 @@ $memberstatic = new Adherent($db);
|
||||
|
||||
$now = dol_now();
|
||||
|
||||
if (!empty($search_categ) || !empty($catid)) {
|
||||
if ((!empty($search_categ) && $search_categ > 0) || !empty($catid)) {
|
||||
$sql = "SELECT DISTINCT";
|
||||
} else {
|
||||
$sql = "SELECT";
|
||||
@ -336,7 +336,7 @@ $sql .= " FROM ".MAIN_DB_PREFIX."adherent as d";
|
||||
if (!empty($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) {
|
||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (d.rowid = ef.fk_object)";
|
||||
}
|
||||
if (!empty($search_categ) || !empty($catid)) {
|
||||
if ((!empty($search_categ) && $search_categ > 0) || !empty($catid)) {
|
||||
// We need this table joined to the select in order to filter by categ
|
||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_member as cm ON d.rowid = cm.fk_member";
|
||||
}
|
||||
@ -540,7 +540,7 @@ if ($search_login) {
|
||||
if ($search_email) {
|
||||
$param .= "&search_email=".urlencode($search_email);
|
||||
}
|
||||
if ($search_categ) {
|
||||
if ($search_categ > 0 || $search_categ == -2) {
|
||||
$param .= "&search_categ=".urlencode($search_categ);
|
||||
}
|
||||
if ($search_company) {
|
||||
@ -573,7 +573,7 @@ if ($search_phone_mobile != '') {
|
||||
if ($search_filter && $search_filter != '-1') {
|
||||
$param .= "&search_filter=".urlencode($search_filter);
|
||||
}
|
||||
if ($search_status != "" && $search_status != Adherent::STATUS_DRAFT) {
|
||||
if ($search_status != "" && $search_status != -3) {
|
||||
$param .= "&search_status=".urlencode($search_status);
|
||||
}
|
||||
if ($search_type > 0) {
|
||||
|
||||
@ -743,7 +743,7 @@ if (empty($reshook)) {
|
||||
}
|
||||
|
||||
if (!$error) {
|
||||
// On verifie si la facture a des paiements
|
||||
// We check if invoice has payments
|
||||
$sql = 'SELECT pf.amount';
|
||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf';
|
||||
$sql .= ' WHERE pf.fk_facture = '.((int) $object->id);
|
||||
@ -993,7 +993,7 @@ if (empty($reshook)) {
|
||||
$db->rollback();
|
||||
}
|
||||
}
|
||||
} elseif ($action == 'confirm_delete_paiement' && $confirm == 'yes' && $usercancreate) {
|
||||
} elseif ($action == 'confirm_delete_paiement' && $confirm == 'yes' && $usercanissuepayment) {
|
||||
// Delete payment
|
||||
$object->fetch($id);
|
||||
if ($object->statut == Facture::STATUS_VALIDATED && $object->paye == 0) {
|
||||
|
||||
@ -75,6 +75,12 @@ $hookmanager->initHooks(array('paiementcard', 'globalcard'));
|
||||
|
||||
$formquestion = array();
|
||||
|
||||
$usercanissuepayment = !empty($user->rights->facture->paiement);
|
||||
|
||||
$fieldid = 'rowid';
|
||||
$isdraft = (($object->statut == Facture::STATUS_DRAFT) ? 1 : 0);
|
||||
$result = restrictedArea($user, 'facture', $object->id, '', '', 'fk_soc', $fieldid, $isdraft);
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -87,7 +93,7 @@ if ($reshook < 0) {
|
||||
}
|
||||
|
||||
if (empty($reshook)) {
|
||||
if ($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm == 'yes')) {
|
||||
if (($action == 'add_paiement' || ($action == 'confirm_paiement' && $confirm == 'yes')) && $usercanissuepayment) {
|
||||
$error = 0;
|
||||
|
||||
$datepaye = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||
@ -202,7 +208,7 @@ if (empty($reshook)) {
|
||||
/*
|
||||
* Action confirm_paiement
|
||||
*/
|
||||
if ($action == 'confirm_paiement' && $confirm == 'yes') {
|
||||
if ($action == 'confirm_paiement' && $confirm == 'yes' && $usercanissuepayment) {
|
||||
$error = 0;
|
||||
|
||||
$datepaye = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||
@ -486,7 +492,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie
|
||||
print '<td><span class="fieldrequired">'.$langs->trans('AccountToDebit').'</span></td>';
|
||||
}
|
||||
print '<td>';
|
||||
$form->select_comptes($accountid, 'accountid', 0, '', 2);
|
||||
print $form->select_comptes($accountid, 'accountid', 0, '', 2, '', 0, '', 1);
|
||||
print '</td>';
|
||||
} else {
|
||||
print '<td> </td>';
|
||||
|
||||
@ -64,6 +64,8 @@ if ($socid && $socid != $object->thirdparty->id) {
|
||||
accessforbidden();
|
||||
}
|
||||
|
||||
$error = 0;
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
@ -191,6 +193,39 @@ if ($action == 'setdatep' && GETPOST('datepday')) {
|
||||
setEventMessages($langs->trans('PaymentDateUpdateFailed'), null, 'errors');
|
||||
}
|
||||
}
|
||||
if ($action == 'createbankpayment' && !empty($user->rights->facture->paiement)) {
|
||||
$db->begin();
|
||||
|
||||
// Create the record into bank for the amount of payment $object
|
||||
if (!$error) {
|
||||
$label = '(CustomerInvoicePayment)';
|
||||
if (GETPOST('type') == Facture::TYPE_CREDIT_NOTE) {
|
||||
$label = '(CustomerInvoicePaymentBack)'; // Refund of a credit note
|
||||
}
|
||||
|
||||
$bankaccountid = GETPOST('accountid', 'int');
|
||||
if ($bankaccountid > 0) {
|
||||
$object->paiementcode = $object->type_code;
|
||||
$object->amounts = $object->getAmountsArray();
|
||||
|
||||
$result = $object->addPaymentToBank($user, 'payment', $label, $bankaccountid, '', '');
|
||||
if ($result < 0) {
|
||||
setEventMessages($object->error, $object->errors, 'errors');
|
||||
$error++;
|
||||
}
|
||||
} else {
|
||||
setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankAccount")), null, 'errors');
|
||||
$error++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!$error) {
|
||||
$db->commit();
|
||||
} else {
|
||||
$db->rollback();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@ -315,7 +350,37 @@ if (!empty($conf->banque->enabled)) {
|
||||
print $bankline->getNomUrl(1, 0, 'showconciliatedandaccounted');
|
||||
} else {
|
||||
$langs->load("admin");
|
||||
print '<span class="opacitymedium">'.$langs->trans("NoRecordFoundIBankcAccount", $langs->transnoentitiesnoconv("Module85Name")).'</span>';
|
||||
print '<span class="opacitymedium">';
|
||||
print $langs->trans("NoRecordFoundIBankcAccount", $langs->transnoentitiesnoconv("Module85Name"));
|
||||
print '</span>';
|
||||
if (!empty($user->rights->facture->paiement)) {
|
||||
// Try to guess $bankaccountidofinvoices that is ID of bank account defined on invoice.
|
||||
// Return null if not found, return 0 if it has different value for at least 2 invoices, return the value if same on all invoices where a bank is defined.
|
||||
$amountofpayments = $object->getAmountsArray();
|
||||
$bankaccountidofinvoices = null;
|
||||
foreach ($amountofpayments as $idinvoice => $amountofpayment) {
|
||||
$tmpinvoice = new Facture($db);
|
||||
$tmpinvoice->fetch($idinvoice);
|
||||
if ($tmpinvoice->fk_account > 0 && $bankaccountidofinvoices !== 0) {
|
||||
if (is_null($bankaccountidofinvoices)) {
|
||||
$bankaccountidofinvoices = $tmpinvoice->fk_account;
|
||||
} elseif ($bankaccountidofinvoices != $tmpinvoice->fk_account) {
|
||||
$bankaccountidofinvoices = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print '<form method="POST" name="createbankpayment">';
|
||||
print '<input type="hidden" name="token" value="'.newToken().'">';
|
||||
print '<input type="hidden" name="action" value="createbankpayment">';
|
||||
print '<input type="hidden" name="id" value="'.$object->id.'">';
|
||||
print ' '.$langs->trans("ToCreateRelatedRecordIntoBank").': ';
|
||||
print $form->select_comptes($bankaccountidofinvoices, 'accountid', 0, '', 2, '', 0, '', 1);
|
||||
//print '<span class="opacitymedium">';
|
||||
print '<input type="submit" class="button small smallpaddingimp" name="createbankpayment" value="'.$langs->trans("ClickHere").'">';
|
||||
//print '</span>';
|
||||
print '</form>';
|
||||
}
|
||||
}
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -954,6 +954,7 @@ class Paiement extends CommonObject
|
||||
*
|
||||
* @param string $filter Filter
|
||||
* @return int|array <0 if KO or array of invoice id
|
||||
* @see getAmountsArray()
|
||||
*/
|
||||
public function getBillsArray($filter = '')
|
||||
{
|
||||
@ -987,6 +988,7 @@ class Paiement extends CommonObject
|
||||
* Return list of amounts of payments.
|
||||
*
|
||||
* @return int|array Array of amount of payments
|
||||
* @see getBillsArray()
|
||||
*/
|
||||
public function getAmountsArray()
|
||||
{
|
||||
|
||||
@ -7717,7 +7717,7 @@ abstract class CommonObject
|
||||
if (empty($reshook)) {
|
||||
if (key_exists('label', $extrafields->attributes[$this->table_element]) && is_array($extrafields->attributes[$this->table_element]['label']) && count($extrafields->attributes[$this->table_element]['label']) > 0) {
|
||||
$out .= "\n";
|
||||
$out .= '<!-- showOptionals --> ';
|
||||
$out .= '<!-- commonobject:showOptionals --> ';
|
||||
$out .= "\n";
|
||||
|
||||
$extrafields_collapse_num = '';
|
||||
|
||||
@ -225,7 +225,14 @@ function getURLContent($url, $postorget = 'GET', $param = '', $followlocation =
|
||||
}
|
||||
|
||||
// Common check on ip (local and external)
|
||||
$arrayofmetadataserver = array('100.100.100.200' => 'Alibaba', '192.0.0.192'=> 'Oracle', '192.80.8.124'=>'Packet');
|
||||
// See list on https://tagmerge.com/gist/a7b9d57ff8ec11d63642f8778609a0b8
|
||||
// Not evasive url that ar enot IP are excluded by test on IP v4/v6 validity.
|
||||
$arrayofmetadataserver = array(
|
||||
'100.100.100.200' => 'Alibaba',
|
||||
'192.0.0.192' => 'Oracle',
|
||||
'192.80.8.124' => 'Packet',
|
||||
'100.88.222.5' => 'Tencent cloud',
|
||||
);
|
||||
foreach ($arrayofmetadataserver as $ipofmetadataserver => $nameofmetadataserver) {
|
||||
if ($iptocheck == $ipofmetadataserver) {
|
||||
$info['http_code'] = 400;
|
||||
|
||||
@ -356,7 +356,7 @@ if ($nolinesbefore) {
|
||||
}
|
||||
if (is_object($objectline)) {
|
||||
$temps = $objectline->showOptionals($extrafields, 'create', array(), '', '', 1, 'line');
|
||||
;
|
||||
|
||||
if (!empty($temps)) {
|
||||
print '<div style="padding-top: 10px" id="extrafield_lines_area_create" name="extrafield_lines_area_create">';
|
||||
print $temps;
|
||||
|
||||
@ -1342,6 +1342,23 @@ if ($action == 'create') {
|
||||
print '<a name="'.$objp->rowid.'"></a>'; // ancre pour retourner sur la ligne
|
||||
print dol_htmlentitiesbr($objp->description);
|
||||
|
||||
$objectline = new FichinterLigne($db);
|
||||
$objectline->fetch($objp->rowid);
|
||||
$objectline->fetch_optionals();
|
||||
|
||||
$extrafields->fetch_name_optionals_label($objectline->table_element);
|
||||
|
||||
if (!empty($extrafields)) {
|
||||
$temps = $objectline->showOptionals($extrafields, 'view', array(), '', '', 1, 'line');
|
||||
if (!empty($temps)) {
|
||||
print '<div style="padding-top: 10px" id="extrafield_lines_area_'.$line->id.'" name="extrafield_lines_area_'.$line->id.'">';
|
||||
print $temps;
|
||||
print '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
print '</td>';
|
||||
|
||||
// Date
|
||||
print '<td class="center" width="150">'.(empty($conf->global->FICHINTER_DATE_WITHOUT_HOUR) ?dol_print_date($db->jdate($objp->date_intervention), 'dayhour') : dol_print_date($db->jdate($objp->date_intervention), 'day')).'</td>';
|
||||
|
||||
@ -1378,15 +1395,6 @@ if ($action == 'create') {
|
||||
}
|
||||
|
||||
print '</tr>';
|
||||
|
||||
$line = new FichinterLigne($db);
|
||||
$line->fetch($objp->rowid);
|
||||
|
||||
$extrafields->fetch_name_optionals_label($line->table_element);
|
||||
|
||||
$line->fetch_optionals();
|
||||
|
||||
print $line->showOptionals($extrafields, 'view', array('colspan'=>5));
|
||||
}
|
||||
|
||||
// Line in update mode
|
||||
@ -1405,6 +1413,22 @@ if ($action == 'create') {
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||
$doleditor = new DolEditor('np_desc', $objp->description, '', 164, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_DETAILS, ROWS_2, '90%');
|
||||
$doleditor->Create();
|
||||
|
||||
$objectline = new FichinterLigne($db);
|
||||
$objectline->fetch($objp->rowid);
|
||||
$objectline->fetch_optionals();
|
||||
|
||||
$extrafields->fetch_name_optionals_label($objectline->table_element);
|
||||
|
||||
if (!empty($extrafields)) {
|
||||
$temps = $objectline->showOptionals($extrafields, 'edit', array(), '', '', 1, 'line');
|
||||
if (!empty($temps)) {
|
||||
print '<div style="padding-top: 10px" id="extrafield_lines_area_'.$line->id.'" name="extrafield_lines_area_'.$line->id.'">';
|
||||
print $temps;
|
||||
print '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
print '</td>';
|
||||
|
||||
// Date d'intervention
|
||||
@ -1431,14 +1455,6 @@ if ($action == 'create') {
|
||||
print '<input type="submit" class="button buttongen marginbottomonly button-save" name="save" value="'.$langs->trans("Save").'">';
|
||||
print '<input type="submit" class="button buttongen marginbottomonly button-cancel" name="cancel" value="'.$langs->trans("Cancel").'"></td>';
|
||||
print '</tr>'."\n";
|
||||
|
||||
$line = new FichinterLigne($db);
|
||||
$line->fetch($objp->rowid);
|
||||
|
||||
$extrafields->fetch_name_optionals_label($line->table_element);
|
||||
$line->fetch_optionals();
|
||||
|
||||
print $line->showOptionals($extrafields, 'edit', array('colspan'=>5));
|
||||
}
|
||||
|
||||
$i++;
|
||||
@ -1481,6 +1497,20 @@ if ($action == 'create') {
|
||||
$doleditor = new DolEditor('np_desc', GETPOST('np_desc', 'restricthtml'), '', 100, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_DETAILS, ROWS_2, '90%');
|
||||
$doleditor->Create();
|
||||
}
|
||||
|
||||
$objectline = new FichinterLigne($db);
|
||||
$extrafields->fetch_name_optionals_label($objectline->table_element);
|
||||
|
||||
if (is_object($objectline)) {
|
||||
$temps = $objectline->showOptionals($extrafields, 'create', array(), '', '', 1, 'line');
|
||||
|
||||
if (!empty($temps)) {
|
||||
print '<div style="padding-top: 10px" id="extrafield_lines_area_create" name="extrafield_lines_area_create">';
|
||||
print $temps;
|
||||
print '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
print '</td>';
|
||||
|
||||
// Date intervention
|
||||
@ -1513,14 +1543,6 @@ if ($action == 'create') {
|
||||
print '<td class="center" valign="middle" colspan="3"><input type="submit" class="button button-add" value="'.$langs->trans('Add').'" name="addline"></td>';
|
||||
print '</tr>';
|
||||
|
||||
//Line extrafield
|
||||
|
||||
$lineadd = new FichinterLigne($db);
|
||||
|
||||
$extrafields->fetch_name_optionals_label($lineadd->table_element);
|
||||
|
||||
print $lineadd->showOptionals($extrafields, 'edit', array('colspan'=>5));
|
||||
|
||||
if (!$num) {
|
||||
print '</table>';
|
||||
}
|
||||
|
||||
27
htdocs/install/mysql/data/llx_c_partnership_type.sql
Normal file
27
htdocs/install/mysql/data/llx_c_partnership_type.sql
Normal file
@ -0,0 +1,27 @@
|
||||
-- Copyright (C) 2020 florian HENRY florian.henry@scopen.fr
|
||||
--
|
||||
-- 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 FITNESS 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 <https://www.gnu.org/licenses/>.
|
||||
--
|
||||
--
|
||||
|
||||
--
|
||||
-- Do not place a comment at the end of the line, this file is parsed when
|
||||
-- from the install and all '--' are removed.
|
||||
--
|
||||
-- Ne pas placer de commentaire en fin de ligne, ce fichier est parsé lors
|
||||
-- de l'install et tous les sigles '--' sont supprimés.
|
||||
--
|
||||
|
||||
INSERT INTO llx_c_partnership_type (code, label, active) VALUES ('DEFAULT', 'Default', 1);
|
||||
|
||||
@ -507,6 +507,7 @@ INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) value
|
||||
INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) values ('HOLIDAY_CANCEL','Holiday canceled','Executed when a holiday is canceled','holiday',802);
|
||||
INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) values ('HOLIDAY_DELETE','Holiday deleted','Executed when a holiday is deleted','holiday',804);
|
||||
|
||||
|
||||
-- We do not delete old mexican legal forms because they may have been used. User will have to insert the new one manually not inserted because of conflict if he need them.
|
||||
--DELETE FROM llx_c_forme_juridique WHERE code IN ('15401', '15402', '15403', '15404', '15405', '15406');
|
||||
|
||||
@ -529,3 +530,7 @@ INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154,
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15417', '624 - Coordinados', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15418', '625 - Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15419', '626 - Régimen Simplificado de Confianza', 1);
|
||||
|
||||
-- VMYSQL4.3 ALTER TABLE llx_user MODIFY COLUMN fk_soc integer NULL;
|
||||
-- VPGSQL8.2 ALTER TABLE llx_user ALTER COLUMN fk_soc DROP NOT NULL;
|
||||
|
||||
|
||||
@ -69,6 +69,26 @@ ALTER TABLE llx_c_typent MODIFY COLUMN libelle varchar(128);
|
||||
UPDATE llx_rights_def SET perms = 'writeall' WHERE perms = 'writeall_advance' AND module = 'holiday';
|
||||
|
||||
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15401', '601 - General de Ley Personas Morales', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15402', '603 - Personas Morales con Fines no Lucrativos', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15403', '605 - Sueldos y Salarios e Ingresos Asimilados a Salarios', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15404', '606 - Arrendamiento', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15405', '607 - Régimen de Enajenación o Adquisición de Bienes', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15406', '608 - Demás ingresos', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15407', '610 - Residentes en el Extranjero sin Establecimiento Permanente en México', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15408', '611 - Ingresos por Dividendos (socios y accionistas)', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15409', '612 - Personas Físicas con Actividades Empresariales y Profesionales', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15410', '614 - Ingresos por intereses', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15411', '615 - Régimen de los ingresos por obtención de premios', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15412', '616 - Sin obligaciones fiscales', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15413', '620 - Sociedades Cooperativas de Producción que optan por diferir sus ingresos', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15414', '621 - Incorporación Fiscal', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15415', '622 - Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15416', '623 - Opcional para Grupos de Sociedades', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15417', '624 - Coordinados', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15418', '625 - Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas', 1);
|
||||
INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (154, '15419', '626 - Régimen Simplificado de Confianza', 1);
|
||||
|
||||
|
||||
-- v16
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_login (login, entity);
|
||||
|
||||
ALTER TABLE llx_user ADD INDEX idx_user_fk_societe (fk_soc);
|
||||
ALTER TABLE llx_user ADD INDEX idx_user_fk_societe (fk_soc);
|
||||
|
||||
ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_fk_socpeople (fk_socpeople);
|
||||
ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_fk_member (fk_member);
|
||||
|
||||
@ -64,12 +64,12 @@ create table llx_user
|
||||
--module_comm smallint DEFAULT 1,
|
||||
--module_compta smallint DEFAULT 1,
|
||||
|
||||
fk_soc integer, -- id thirdparty if user linked to a company (external user)
|
||||
fk_socpeople integer, -- id contact origin if user linked to a contact
|
||||
fk_member integer, -- if member if suer linked to a member
|
||||
fk_user integer, -- Supervisor, hierarchic parent
|
||||
fk_user_expense_validator integer,
|
||||
fk_user_holiday_validator integer,
|
||||
fk_soc integer NULL, -- id thirdparty if user linked to a company (external user)
|
||||
fk_socpeople integer NULL, -- id contact origin if user linked to a contact
|
||||
fk_member integer NULL, -- if member if suer linked to a member
|
||||
fk_user integer NULL, -- Supervisor, hierarchic parent
|
||||
fk_user_expense_validator integer NULL,
|
||||
fk_user_holiday_validator integer NULL,
|
||||
|
||||
idpers1 varchar(128),
|
||||
idpers2 varchar(128),
|
||||
|
||||
@ -183,4 +183,5 @@ NoBankAccountDefined=No bank account defined
|
||||
NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled.
|
||||
AlreadyOneBankAccount=Already one bank account defined
|
||||
SEPAXMLPlacePaymentTypeInformationInCreditTransfertransactionInformation=SEPA transfer: 'Payment Type' at 'Credit Transfer' level
|
||||
SEPAXMLPlacePaymentTypeInformationInCreditTransfertransactionInformationHelp=SEPA XML: PaymentTypeInformation is mandatory and can now be placed at CreditTransferTransactionInformation level (instead of Payment level). We strongly recommend to place PaymentTypeInformation at Payment level, as all banks will not necessarily accept it at CreditTransferTransactionInformation level. Contact your bank before placing PaymentTypeInformation at CreditTransferTransactionInformation level.
|
||||
SEPAXMLPlacePaymentTypeInformationInCreditTransfertransactionInformationHelp=SEPA XML: PaymentTypeInformation is mandatory and can now be placed at CreditTransferTransactionInformation level (instead of Payment level). We strongly recommend to place PaymentTypeInformation at Payment level, as all banks will not necessarily accept it at CreditTransferTransactionInformation level. Contact your bank before placing PaymentTypeInformation at CreditTransferTransactionInformation level.
|
||||
ToCreateRelatedRecordIntoBank=To create missing related bank record
|
||||
|
||||
@ -67,7 +67,7 @@ ErrorDestinationAlreadyExists=Another file with the name <b>%s</b> already exist
|
||||
ErrorPartialFile=File not received completely by server.
|
||||
ErrorNoTmpDir=Temporary directy %s does not exists.
|
||||
ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin.
|
||||
ErrorFileSizeTooLarge=File size is too large.
|
||||
ErrorFileSizeTooLarge=File size is too large or file not provided.
|
||||
ErrorFieldTooLong=Field %s is too long.
|
||||
ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum)
|
||||
ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum)
|
||||
|
||||
@ -1165,3 +1165,5 @@ NotClosedYet=Not yet closed
|
||||
ClearSignature=Reset signature
|
||||
CanceledHidden=Canceled hidden
|
||||
CanceledShown=Canceled shown
|
||||
Terminate=Terminate
|
||||
Terminated=Terminated
|
||||
|
||||
@ -503,7 +503,7 @@ if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && getDolGlobalInt(
|
||||
// If token is not provided or empty, error (we are in case it is mandatory)
|
||||
if (!GETPOST('token', 'alpha') || GETPOST('token', 'alpha') == 'notrequired') {
|
||||
if (GETPOST('uploadform', 'int')) {
|
||||
dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"]) ? '' : $_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused. File size too large.");
|
||||
dol_syslog("--- Access to ".(empty($_SERVER["REQUEST_METHOD"]) ? '' : $_SERVER["REQUEST_METHOD"].' ').$_SERVER["PHP_SELF"]." refused. File size too large or not provided.");
|
||||
$langs->loadLangs(array("errors", "install"));
|
||||
print $langs->trans("ErrorFileSizeTooLarge").' ';
|
||||
print $langs->trans("ErrorGoBackAndCorrectParameters");
|
||||
|
||||
@ -118,7 +118,7 @@ class Partnership extends CommonObject
|
||||
'model_pdf' => array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>'1', 'position'=>1010, 'notnull'=>-1, 'visible'=>0,),
|
||||
'date_partnership_start' => array('type'=>'date', 'label'=>'DatePartnershipStart', 'enabled'=>'1', 'position'=>52, 'notnull'=>1, 'visible'=>1,),
|
||||
'date_partnership_end' => array('type'=>'date', 'label'=>'DatePartnershipEnd', 'enabled'=>'1', 'position'=>53, 'notnull'=>0, 'visible'=>1,),
|
||||
'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>2, 'index'=>1, 'arrayofkeyval'=>array('-1'=>'','0'=>'Draft', '1'=>'Accepted', '2'=>'Refused', '9'=>'Canceled'),),
|
||||
'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>2, 'index'=>1, 'arrayofkeyval'=>array('-1'=>'','0'=>'Draft', '1'=>'Accepted', '2'=>'Refused', '9'=>'Terminated'),),
|
||||
'count_last_url_check_error' => array('type'=>'integer', 'label'=>'CountLastUrlCheckError', 'enabled'=>'1', 'position'=>63, 'notnull'=>0, 'visible'=>-2, 'default'=>'0',),
|
||||
'last_check_backlink' => array('type'=>'datetime', 'label'=>'LastCheckBacklink', 'enabled'=>'1', 'position'=>65, 'notnull'=>0, 'visible'=>-2,),
|
||||
'reason_decline_or_cancel' => array('type'=>'text', 'label'=>'ReasonDeclineOrCancel', 'enabled'=>'1', 'position'=>64, 'notnull'=>0, 'visible'=>-2,),
|
||||
@ -1085,12 +1085,12 @@ class Partnership extends CommonObject
|
||||
$this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated');
|
||||
$this->labelStatus[self::STATUS_APPROVED] = $langs->transnoentitiesnoconv('Approved');
|
||||
$this->labelStatus[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused');
|
||||
$this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled');
|
||||
$this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Terminated');
|
||||
$this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft');
|
||||
$this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated');
|
||||
$this->labelStatusShort[self::STATUS_APPROVED] = $langs->transnoentitiesnoconv('Approved');
|
||||
$this->labelStatusShort[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused');
|
||||
$this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled');
|
||||
$this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Terminated');
|
||||
}
|
||||
|
||||
$statusType = 'status'.$status;
|
||||
|
||||
@ -64,7 +64,7 @@ class PartnershipUtils
|
||||
{
|
||||
global $conf, $langs, $user;
|
||||
|
||||
$managedfor = $conf->global->PARTNERSHIP_IS_MANAGED_FOR;
|
||||
$managedfor = empty($conf->global->PARTNERSHIP_IS_MANAGED_FOR) ? 'thirdparty' : $conf->global->PARTNERSHIP_IS_MANAGED_FOR;
|
||||
|
||||
if ($managedfor != 'member') {
|
||||
return 0; // If option 'PARTNERSHIP_IS_MANAGED_FOR' = 'thirdparty', this cron job does nothing.
|
||||
|
||||
@ -79,13 +79,14 @@ $permissiontodelete = $user->rights->partnership->delete || ($permissiontoadd &
|
||||
$permissionnote = $user->rights->partnership->write; // Used by the include of actions_setnotes.inc.php
|
||||
$permissiondellink = $user->rights->partnership->write; // Used by the include of actions_dellink.inc.php
|
||||
$upload_dir = $conf->partnership->multidir_output[isset($object->entity) ? $object->entity : 1];
|
||||
$managedfor = $conf->global->PARTNERSHIP_IS_MANAGED_FOR;
|
||||
$managedfor = empty($conf->global->PARTNERSHIP_IS_MANAGED_FOR) ? 'thirdparty' : $conf->global->PARTNERSHIP_IS_MANAGED_FOR;
|
||||
|
||||
if (empty($conf->partnership->enabled)) accessforbidden();
|
||||
if (empty($permissiontoread)) accessforbidden();
|
||||
if ($object->id > 0 && $object->fk_member > 0 && $managedfor != 'member') accessforbidden();
|
||||
if ($object->id > 0 && $object->fk_soc > 0 && $managedfor != 'thirdparty') accessforbidden();
|
||||
|
||||
|
||||
/*
|
||||
* Actions
|
||||
*/
|
||||
@ -578,7 +579,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
// Approve
|
||||
if ($object->status == $object::STATUS_VALIDATED) {
|
||||
if (empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) {
|
||||
print dolGetButtonAction($langs->trans('Approved'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_accept&confirm=yes&token='.newToken(), '', $permissiontoadd);
|
||||
print dolGetButtonAction($langs->trans('Approve'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=confirm_accept&confirm=yes&token='.newToken(), '', $permissiontoadd);
|
||||
} else {
|
||||
$langs->load("errors");
|
||||
print dolGetButtonAction($langs->trans("ErrorAddAtLeastOneLineFirst"), $langs->trans("Approved"), 'default', '#', '', 0);
|
||||
@ -588,7 +589,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
// Cancel
|
||||
if ($permissiontoadd) {
|
||||
if ($object->status == $object::STATUS_APPROVED) {
|
||||
print dolGetButtonAction($langs->trans('Cancel'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close&token='.newToken(), '', $permissiontoadd);
|
||||
print dolGetButtonAction($langs->trans('Resiliate'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close&token='.newToken(), '', $permissiontoadd);
|
||||
} elseif ($object->status > $object::STATUS_APPROVED) {
|
||||
// print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reopen&token='.newToken().'">'.$langs->trans("Re-Open").'</a>'."\n";
|
||||
print dolGetButtonAction($langs->trans('Re-Open'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=confirm_reopen&confirm=yes&token='.newToken(), '', $permissiontoadd);
|
||||
|
||||
@ -74,7 +74,7 @@ $extrafields->fetch_name_optionals_label($object->table_element);
|
||||
|
||||
$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_');
|
||||
|
||||
$managedfor = $conf->global->PARTNERSHIP_IS_MANAGED_FOR;
|
||||
$managedfor = empty($conf->global->PARTNERSHIP_IS_MANAGED_FOR) ? 'thirdparty' : $conf->global->PARTNERSHIP_IS_MANAGED_FOR;
|
||||
|
||||
if ($managedfor != 'member' && $sortfield == 'd.datefin') $sortfield = '';
|
||||
|
||||
|
||||
@ -699,7 +699,7 @@ if ($search_opp_percent != '') {
|
||||
if ($search_public != '') {
|
||||
$param .= '&search_public='.urlencode($search_public);
|
||||
}
|
||||
if ($search_project_user != '') {
|
||||
if ($search_project_user > 0) {
|
||||
$param .= '&search_project_user='.urlencode($search_project_user);
|
||||
}
|
||||
if ($search_project_contact != '') {
|
||||
|
||||
@ -41,6 +41,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/class/commonincoterm.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/multicurrency/class/multicurrency.class.php';
|
||||
|
||||
|
||||
/**
|
||||
* Class to manage third parties objects (customers, suppliers, prospects...)
|
||||
*/
|
||||
@ -2573,7 +2574,7 @@ class Societe extends CommonObject
|
||||
$name .= ' ('.$this->name_alias.')';
|
||||
}
|
||||
|
||||
$result = ''; $label = '';
|
||||
$result = ''; $label = ''; $label2 = '';
|
||||
$linkstart = ''; $linkend = '';
|
||||
|
||||
if (!empty($this->logo) && class_exists('Form')) {
|
||||
@ -2641,47 +2642,48 @@ class Societe extends CommonObject
|
||||
}
|
||||
$label .= '<br>'.implode(' ', $phonelist);
|
||||
}
|
||||
|
||||
if (!empty($this->address)) {
|
||||
$label .= '<br><b>'.$langs->trans("Address").':</b> '.dol_format_address($this, 1, ' ', $langs); // Address + country
|
||||
$label2 .= '<br><b>'.$langs->trans("Address").':</b> '.dol_format_address($this, 1, ' ', $langs); // Address + country
|
||||
} elseif (!empty($this->country_code)) {
|
||||
$label .= '<br><b>'.$langs->trans('Country').':</b> '.$this->country_code;
|
||||
$label2 .= '<br><b>'.$langs->trans('Country').':</b> '.$this->country_code;
|
||||
}
|
||||
if (!empty($this->tva_intra) || (!empty($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP) && strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'vatnumber') !== false)) {
|
||||
$label .= '<br><b>'.$langs->trans('VATIntra').':</b> '.dol_escape_htmltag($this->tva_intra);
|
||||
$label2 .= '<br><b>'.$langs->trans('VATIntra').':</b> '.dol_escape_htmltag($this->tva_intra);
|
||||
}
|
||||
if (!empty($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP)) {
|
||||
if (strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'profid1') !== false) {
|
||||
$label .= '<br><b>'.$langs->trans('ProfId1'.$this->country_code).':</b> '.$this->idprof1;
|
||||
$label2 .= '<br><b>'.$langs->trans('ProfId1'.$this->country_code).':</b> '.$this->idprof1;
|
||||
}
|
||||
if (strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'profid2') !== false) {
|
||||
$label .= '<br><b>'.$langs->trans('ProfId2'.$this->country_code).':</b> '.$this->idprof2;
|
||||
$label2 .= '<br><b>'.$langs->trans('ProfId2'.$this->country_code).':</b> '.$this->idprof2;
|
||||
}
|
||||
if (strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'profid3') !== false) {
|
||||
$label .= '<br><b>'.$langs->trans('ProfId3'.$this->country_code).':</b> '.$this->idprof3;
|
||||
$label2 .= '<br><b>'.$langs->trans('ProfId3'.$this->country_code).':</b> '.$this->idprof3;
|
||||
}
|
||||
if (strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'profid4') !== false) {
|
||||
$label .= '<br><b>'.$langs->trans('ProfId4'.$this->country_code).':</b> '.$this->idprof4;
|
||||
$label2 .= '<br><b>'.$langs->trans('ProfId4'.$this->country_code).':</b> '.$this->idprof4;
|
||||
}
|
||||
if (strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'profid5') !== false) {
|
||||
$label .= '<br><b>'.$langs->trans('ProfId5'.$this->country_code).':</b> '.$this->idprof5;
|
||||
$label2 .= '<br><b>'.$langs->trans('ProfId5'.$this->country_code).':</b> '.$this->idprof5;
|
||||
}
|
||||
if (strpos($conf->global->SOCIETE_SHOW_FIELD_IN_TOOLTIP, 'profid6') !== false) {
|
||||
$label .= '<br><b>'.$langs->trans('ProfId6'.$this->country_code).':</b> '.$this->idprof6;
|
||||
$label2 .= '<br><b>'.$langs->trans('ProfId6'.$this->country_code).':</b> '.$this->idprof6;
|
||||
}
|
||||
}
|
||||
if (!empty($this->code_client) && ($this->client == 1 || $this->client == 3)) {
|
||||
$label .= '<br><b>'.$langs->trans('CustomerCode').':</b> '.$this->code_client;
|
||||
$label2 .= '<br><b>'.$langs->trans('CustomerCode').':</b> '.$this->code_client;
|
||||
}
|
||||
if (!empty($this->code_fournisseur) && $this->fournisseur) {
|
||||
$label .= '<br><b>'.$langs->trans('SupplierCode').':</b> '.$this->code_fournisseur;
|
||||
$label2 .= '<br><b>'.$langs->trans('SupplierCode').':</b> '.$this->code_fournisseur;
|
||||
}
|
||||
if (!empty($conf->accounting->enabled) && ($this->client == 1 || $this->client == 3)) {
|
||||
$label .= '<br><b>'.$langs->trans('CustomerAccountancyCode').':</b> '.($this->code_compta ? $this->code_compta : $this->code_compta_client);
|
||||
$label2 .= '<br><b>'.$langs->trans('CustomerAccountancyCode').':</b> '.($this->code_compta ? $this->code_compta : $this->code_compta_client);
|
||||
}
|
||||
if (!empty($conf->accounting->enabled) && $this->fournisseur) {
|
||||
$label .= '<br><b>'.$langs->trans('SupplierAccountancyCode').':</b> '.$this->code_compta_fournisseur;
|
||||
$label2 .= '<br><b>'.$langs->trans('SupplierAccountancyCode').':</b> '.$this->code_compta_fournisseur;
|
||||
}
|
||||
$label .= '</div>';
|
||||
$label .= ($label2 ? '<br>'.$label2 : '').'</div>';
|
||||
|
||||
// Add type of canvas
|
||||
$linkstart .= (!empty($this->canvas) ? '&canvas='.$this->canvas : '');
|
||||
|
||||
@ -5246,7 +5246,7 @@ td.cal_other_month {
|
||||
/* ============================================================================== */
|
||||
|
||||
/* CSS for treeview */
|
||||
.treeview ul { background-color: transparent !important; margin-bottom: 4px !important; margin-top: 0 !important; padding-top: 8px !important; }
|
||||
.treeview ul { background-color: transparent !important; margin-bottom: 4px !important; margin-top: 0 !important; padding-top: 2px !important; }
|
||||
.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 30px; }
|
||||
.treeview .hover { color: var(--colortextlink) !important; text-decoration: underline !important; }
|
||||
.treeview .hitarea { margin-top: 3px; }
|
||||
@ -6266,7 +6266,7 @@ span.noborderoncategories a, li.noborderoncategories a {
|
||||
/* vertical-align: top; */
|
||||
}
|
||||
span.noborderoncategories {
|
||||
padding: 4px 5px 0px 5px;
|
||||
padding: 3px 5px 3px 5px;
|
||||
display: inline-block;
|
||||
}
|
||||
.categtextwhite, .treeview .categtextwhite.hover {
|
||||
|
||||
@ -6145,7 +6145,7 @@ span.noborderoncategories a, li.noborderoncategories a {
|
||||
line-height: normal;
|
||||
}
|
||||
span.noborderoncategories {
|
||||
padding: 3px 5px 0px 5px;
|
||||
padding: 3px 5px 3px 5px;
|
||||
}
|
||||
.categtextwhite, .treeview .categtextwhite.hover {
|
||||
color: #fff !important;
|
||||
|
||||
@ -917,7 +917,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
||||
$defaultemployee = '1';
|
||||
print '<tr>';
|
||||
print '<td>'.$langs->trans('Employee').'</td><td>';
|
||||
print '<input type="checkbox" name="employee" value="1"'.(GETPOST('employee') == '1' ? ' checked="checked"' : ($defaultemployee ? ' checked="checked"' : '')).'>';
|
||||
print '<input type="checkbox" name="employee" value="1"'.(GETPOST('employee') == '1' ? ' checked="checked"' : (($defaultemployee && !GETPOSTISSET('login')) ? ' checked="checked"' : '')).'>';
|
||||
//print $form->selectyesno("employee", (GETPOST('employee') != '' ?GETPOST('employee') : $defaultemployee), 1);
|
||||
print '</td></tr>';
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user