diff --git a/ChangeLog b/ChangeLog index c4bc005a94d..1d6e2e39b45 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,7 @@ NEW: Accountancy - Add possibility to manage a short alternative label for accou NEW: Accountancy - General ledger - Add an option to search not reconciled lines NEW: Add accountancy code of thirdparty in contact and supplier export NEW: support webp image format +NEW: Add checkbox "overwrite if exists" into ECM/DMS module NEW: add a link to notes in members list NEW: add a parameter to group same products in TakePOS NEW: add a parameter to sort product by label in TakePOS diff --git a/htdocs/accountancy/index.php b/htdocs/accountancy/index.php index 56cf674505b..f44b5bc72f8 100644 --- a/htdocs/accountancy/index.php +++ b/htdocs/accountancy/index.php @@ -245,7 +245,7 @@ else { print load_fiche_titre($langs->trans("AccountancyArea"), '', 'accountancy'); - print $langs->trans("Module10Desc")."
\n"; + print ''.$langs->trans("Module10Desc")."
\n"; } // End of page diff --git a/htdocs/core/ajax/ajaxdirpreview.php b/htdocs/core/ajax/ajaxdirpreview.php index 32d4f8d3bfa..5b656786c8f 100644 --- a/htdocs/core/ajax/ajaxdirpreview.php +++ b/htdocs/core/ajax/ajaxdirpreview.php @@ -332,7 +332,7 @@ if ($type == 'directory') // When we show list of files for ECM files, $filearray contains file list, and directory is defined with modulepart + section into $param // When we show list of files for a directory, $filearray ciontains file list, and directory is defined with modulepart + $relativepath - //var_dump("title=".$title." modulepart=".$modulepart." useinecm=".$useinecm." perm=".$perm." relativepath=".$relativepath." param=".$param." url=".$url); + //var_dump("section=".$section." title=".$title." modulepart=".$modulepart." useinecm=".$useinecm." perm=".$perm." relativepath=".$relativepath." param=".$param." url=".$url); $formfile->list_of_documents($filearray, '', $modulepart, $param, 1, $relativepath, $perm, $useinecm, $textifempty, $maxlengthname, $title, $url, 0, $perm); } } diff --git a/htdocs/core/ajax/selectsearchbox.php b/htdocs/core/ajax/selectsearchbox.php index 31a95d1e02c..03acbde80fa 100644 --- a/htdocs/core/ajax/selectsearchbox.php +++ b/htdocs/core/ajax/selectsearchbox.php @@ -146,15 +146,6 @@ if (!empty($conf->holiday->enabled) && empty($conf->global->MAIN_SEARCHFORM_HOLI $arrayresult['searchintoleaves'] = array('position'=>220, 'img'=>'object_holiday', 'label'=>$langs->trans("SearchIntoLeaves", $search_boxvalue), 'text'=>img_picto('', 'object_holiday').' '.$langs->trans("SearchIntoLeaves", $search_boxvalue), 'url'=>DOL_URL_ROOT.'/holiday/list.php?mainmenu=hrm'.($search_boxvalue ? '&sall='.urlencode($search_boxvalue) : '')); } - -/* Do we really need this. We already have a select for users, and we should be able to filter into user list on employee flag -if (! empty($conf->hrm->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_EMPLOYEE) && $user->rights->hrm->employee->read) -{ - $langs->load("hrm"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/hrm/employee/list.php', DOL_URL_ROOT.'/hrm/employee/list.php', $langs->trans("Employees"), 'employee', 'search_all', 'M', 'searchleftemployee', img_object('','user')); -} -*/ - // Execute hook addSearchEntry $parameters = array('search_boxvalue'=>$search_boxvalue, 'arrayresult'=>$arrayresult); $reshook = $hookmanager->executeHooks('addSearchEntry', $parameters); diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 7251db1476e..3eeaea46858 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -168,7 +168,8 @@ class FormFile } $out .= 'global->MAIN_DISABLE_MULTIPLE_FILEUPLOAD) || $conf->browser->layout != 'classic') ? ' name="userfile"' : ' name="userfile[]" multiple'); + //$out .= ((!empty($conf->global->MAIN_DISABLE_MULTIPLE_FILEUPLOAD) || $conf->browser->layout != 'classic') ? ' name="userfile"' : ' name="userfile[]" multiple'); + $out .= ((!empty($conf->global->MAIN_DISABLE_MULTIPLE_FILEUPLOAD)) ? ' name="userfile"' : ' name="userfile[]" multiple'); $out .= (empty($conf->global->MAIN_UPLOAD_DOC) || empty($perm) ? ' disabled' : ''); $out .= (!empty($accept) ? ' accept="'.$accept.'"' : ' accept=""'); $out .= (!empty($capture) ? ' capture="capture"' : ''); @@ -1310,7 +1311,7 @@ class FormFile { if ($useinecm == 5 || $useinecm == 6) { - $smallfile = getImageFileNameForSize($file['name'], ''); // There is no thumb for ECM module and Media filemanager, so we use true image + $smallfile = getImageFileNameForSize($file['name'], ''); // There is no thumb for ECM module and Media filemanager, so we use true image. TODO Change this it is slow on image dir. } else { @@ -1376,10 +1377,14 @@ class FormFile // Delete or view link // ($param must start with &) print ''; - if ($useinecm == 1 || $useinecm == 5) // ECM manual tree + if ($useinecm == 1 || $useinecm == 5) // ECM manual tree only { - print ''.img_edit('default', 0, 'class="paddingrightonly"').''; + // $section is inside $param + $newparam.=preg_replace('/&file=.*$/', '', $param); // We don't need param file= + $backtopage = DOL_URL_ROOT.'/ecm/index.php?§ion_dir='.urlencode($relativepath).$newparam; + print ''.img_edit('default', 0, 'class="paddingrightonly"').''; } + if (empty($useinecm) || $useinecm == 2 || $useinecm == 6) // 6=Media file manager { $newmodulepart = $modulepart; diff --git a/htdocs/core/search_page.php b/htdocs/core/search_page.php index 119d7ff9a41..0268eef2259 100644 --- a/htdocs/core/search_page.php +++ b/htdocs/core/search_page.php @@ -79,6 +79,7 @@ else { $usedbyinclude = 1; // Used into next include $showtitlebefore = GETPOST('showtitlebefore', 'int'); + $arrayresult = array(); include DOL_DOCUMENT_ROOT.'/core/ajax/selectsearchbox.php'; $i = 0; @@ -95,7 +96,8 @@ else $accesskey = $val['label'][0]; $accesskeyalreadyassigned[$accesskey] = $accesskey; } - $searchform .= printSearchForm($urlaction, $urlaction, $val['label'], 'minwidth200', $keysearch, $accesskey, $key, img_picto('', $val['img'], '', 0, 1), $showtitlebefore, ($i > 0 ? 0 : 1)); + + $searchform .= printSearchForm($urlaction, $urlaction, $val['label'], 'minwidth200', $keysearch, $accesskey, $key, $val['img'], $showtitlebefore, ($i > 0 ? 0 : 1)); $i++; } diff --git a/htdocs/core/tpl/filemanager.tpl.php b/htdocs/core/tpl/filemanager.tpl.php index db72ea7d74a..fa8add900b1 100644 --- a/htdocs/core/tpl/filemanager.tpl.php +++ b/htdocs/core/tpl/filemanager.tpl.php @@ -133,7 +133,7 @@ print ''; // Start left area -// Confirmation de la suppression d'une ligne categorie +// Ask confirmation of deletion of directory if ($action == 'delete_section') { print $form->formconfirm($_SERVER["PHP_SELF"].'?section='.$section, $langs->trans('DeleteSection'), $langs->trans('ConfirmDeleteSection', $ecmdir->label), 'confirm_deletesection', '', '', 1); diff --git a/htdocs/ecm/file_card.php b/htdocs/ecm/file_card.php index 63fdedbab6d..e0c9398f9f2 100644 --- a/htdocs/ecm/file_card.php +++ b/htdocs/ecm/file_card.php @@ -33,6 +33,7 @@ $langs->loadLangs(array('ecm', 'companies', 'other', 'users', 'orders', 'propal' $action = GETPOST('action', 'aZ09'); $cancel = GETPOST('cancel', 'alpha'); +$backtopage = GETPOST('backtopage', 'alpha'); if (!$user->rights->ecm->setup) accessforbidden(); @@ -282,10 +283,13 @@ $s = img_picto('', 'object_dir').' '.$l if ($action == 'edit') $s .= ''; else $s .= $urlfiletoshow; -$morehtml = ''; +$linkback = ''; +if ($backtopage) { + $linkback = ''.$langs->trans("BackToTree").''; +} $object->ref = ''; // Force to hide ref -dol_banner_tab($object, '', $morehtml, 0, '', '', $s); +dol_banner_tab($object, '', $linkback, 0, '', '', $s); print '
'; diff --git a/htdocs/ecm/index.php b/htdocs/ecm/index.php index 2c533e483c6..c6a47bdfd42 100644 --- a/htdocs/ecm/index.php +++ b/htdocs/ecm/index.php @@ -57,7 +57,7 @@ if (!$sortorder) $sortorder = "ASC"; if (!$sortfield) $sortfield = "fullname"; $ecmdir = new EcmDirectory($db); -if ($section) +if ($section > 0) { $result = $ecmdir->fetch($section); if (!$result > 0) @@ -170,7 +170,7 @@ if ($action == 'add' && $user->rights->ecm->setup) } // Remove directory -if ($action == 'confirm_deletesection' && GETPOST('confirm') == 'yes') +if ($action == 'confirm_deletesection' && GETPOST('confirm', 'alpha') == 'yes') { $result = $ecmdir->delete($user); setEventMessages($langs->trans("ECMSectionWasRemoved", $ecmdir->label), null, 'mesgs'); diff --git a/htdocs/ecm/search.php b/htdocs/ecm/search.php index e125824a8c8..d996f2400ee 100644 --- a/htdocs/ecm/search.php +++ b/htdocs/ecm/search.php @@ -75,21 +75,17 @@ if (!empty($section)) } -/******************************************************************* - * ACTIONS - * - * Put here all code to do according to value of "action" parameter - ********************************************************************/ +/* + * Actions + */ + +// None - - -/******************************************************************* - * PAGE - * - * Put here all code to do according to value of "action" parameter - ********************************************************************/ +/* + * View + */ llxHeader(); @@ -138,10 +134,10 @@ print ''; print ''; print ""; print ''; -print "'; -print "'; -print "'; -print "'; +print ''; +print ''; +print ''; +print ''; print "
'.$langs->trans("ECMSearchByKeywords").'
".$langs->trans("Ref").':
".$langs->trans("Title").':
".$langs->trans("Keyword").':
'.$langs->trans("Ref").':
'.$langs->trans("Title").':
'.$langs->trans("Keyword").':
"; //print $langs->trans("ECMSectionManualDesc"); @@ -158,21 +154,16 @@ $butshown = 0; foreach ($sectionauto as $sectioncur) { if (!$sectioncur['test']) continue; - //if ($butshown % 2 == 0) - print ''; + print ''; print "".$sectioncur['label'].':'; print ''; print ''; print ''; - //if ($butshown % 2 == 1) - print ''; + print ''; $butshown++; } -//if ($butshown % 2 == 1) -// print '  '; print ''; print ""; @@ -192,11 +183,6 @@ $param = '&section='.$section; $textifempty = ($section ? $langs->trans("NoFileFound") : $langs->trans("ECMSelectASection")); $formfile->list_of_documents($filearray, '', 'ecm', $param, 1, $relativepath, $user->rights->ecm->upload, 1, $textifempty); -// print ''; - -// print '
'; - - print ''; diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 532edcb6a67..105d5c83bec 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -664,6 +664,7 @@ Owner=Owner FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. Refresh=Refresh BackToList=Back to list +BackToTree=Back to tree GoBack=Go back CanBeModifiedIfOk=Can be modified if valid CanBeModifiedIfKo=Can be modified if not valid diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 0ec69d4934a..b3383a1d72c 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -419,8 +419,8 @@ hr { border: 0; border-top: 1px solid #ccc; } .tabBar hr { margin-top: 20px; margin-bottom: 17px; } .button:not(.bordertransp):not(.buttonpayment), .buttonDelete:not(.bordertransp):not(.buttonpayment) { - margin-bottom: 0; - margin-top: 0; + margin-bottom: 3px; + margin-top: 3px; margin-left: 5px; margin-right: 5px; font-family: ; @@ -1158,6 +1158,10 @@ table[summary="list_of_modules"] .fa-cog { width: calc(100% - 30px) !important; display: inline-block; } + + /*img.photoref, div.photoref { + box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2); + }*/ } /* Force values for small screen 570 */ @@ -1270,9 +1274,9 @@ table[summary="list_of_modules"] .fa-cog { padding-bottom: 5px; } img.photoref, div.photoref { - border: none; + border: 1px solid rgba(0, 0, 0, 0.2); + box-shadow: none; -webkit-box-shadow: none; - box-shadow: none; padding: 4px; height: 20px; width: 20px;