Merge remote-tracking branch 'upstream/develop' into socialnetworks
@@ -23,6 +23,7 @@ Following changes may create regressions for some external modules, but were nec
|
|||||||
* If you have developed your own emailing target selector and used parent::add_to_target(...), you must now use parent::addToTargets(...)
|
* If you have developed your own emailing target selector and used parent::add_to_target(...), you must now use parent::addToTargets(...)
|
||||||
* Removed function dol_micro_time. Use native PHP microtime instead.
|
* Removed function dol_micro_time. Use native PHP microtime instead.
|
||||||
* The trigger BON_PRELEVEMENT_CREATE has been renamed into DIRECT_DEBIT_ORDER_CREATE.
|
* The trigger BON_PRELEVEMENT_CREATE has been renamed into DIRECT_DEBIT_ORDER_CREATE.
|
||||||
|
* The constant INVOICE_SHOW_POS_IN_EXPORT has been renamed into INVOICE_SHOW_POS.
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 10.0.2 compared to 10.0.1 *****
|
***** ChangeLog for 10.0.2 compared to 10.0.1 *****
|
||||||
|
|||||||
BIN
dev/initdemo/documents_demo/adherent/1/photos/person5.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
BIN
dev/initdemo/documents_demo/adherent/2/photos/pierrecurie.jpg
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
BIN
dev/initdemo/documents_demo/adherent/3/photos/person9.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
BIN
dev/initdemo/documents_demo/adherent/4/photos/person2.jpeg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
@@ -17,14 +17,14 @@ fi
|
|||||||
# To detec
|
# To detec
|
||||||
if [ "x$1" = "xlist" ]
|
if [ "x$1" = "xlist" ]
|
||||||
then
|
then
|
||||||
find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'documents\/website' | grep CRLF
|
find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'documents\/website' | grep -v 'documents\/mdedias' | grep CRLF
|
||||||
# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v 'documents\/website' | grep -v 'htdocs\/includes' | grep CRLF
|
# find . \( -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" \) -exec file "{}" + | grep -v 'documents\/website' | grep -v 'documents\/mdedias' | grep -v 'htdocs\/includes' | grep CRLF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# To convert
|
# To convert
|
||||||
if [ "x$1" = "xfix" ]
|
if [ "x$1" = "xfix" ]
|
||||||
then
|
then
|
||||||
for fic in `find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'documents\/website' | grep CRLF | awk -F':' '{ print $1 }' `
|
for fic in `find . \( -iname "functions" -o -iname "*.md" -o -iname "*.html" -o -iname "*.htm" -o -iname "*.php" -o -iname "*.sh" -o -iname "*.cml" -o -iname "*.css" -o -iname "*.js" -o -iname "*.lang" -o -iname "*.pl" -o -iname "*.sql" -o -iname "*.txt" -o -iname "*.xml" -o -iname "*.pml" \) -exec file "{}" + | grep -v 'documents\/website' | grep -v 'documents\/mdedias' | grep CRLF | awk -F':' '{ print $1 }' `
|
||||||
do
|
do
|
||||||
echo "Fix file $fic"
|
echo "Fix file $fic"
|
||||||
dos2unix "$fic"
|
dos2unix "$fic"
|
||||||
|
|||||||
@@ -279,8 +279,8 @@ if ($action != 'export_csv')
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Affiche le compte comptable en debut de ligne
|
// Show first line of a break
|
||||||
print "<tr>";
|
print '<tr class="trforbreak">';
|
||||||
print '<td colspan="6" style="font-weight:bold; border-bottom: 1pt solid black;">' . $line->numero_compte . ($root_account_description ? ' - ' . $root_account_description : '') . '</td>';
|
print '<td colspan="6" style="font-weight:bold; border-bottom: 1pt solid black;">' . $line->numero_compte . ($root_account_description ? ' - ' . $root_account_description : '') . '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|||||||
@@ -413,7 +413,6 @@ if ($result) {
|
|||||||
|
|
||||||
$objp->code_sell_l = '';
|
$objp->code_sell_l = '';
|
||||||
$objp->code_sell_p = '';
|
$objp->code_sell_p = '';
|
||||||
$objp->aarowid_suggest = '';
|
|
||||||
|
|
||||||
$product_static->ref = $objp->product_ref;
|
$product_static->ref = $objp->product_ref;
|
||||||
$product_static->id = $objp->product_id;
|
$product_static->id = $objp->product_id;
|
||||||
@@ -425,7 +424,7 @@ if ($result) {
|
|||||||
$facture_static->type = $objp->ftype;
|
$facture_static->type = $objp->ftype;
|
||||||
|
|
||||||
$code_sell_p_notset = '';
|
$code_sell_p_notset = '';
|
||||||
$objp->aarowid_suggest = $objp->aarowid;
|
$objp->aarowid_suggest = ''; // Will be set later
|
||||||
|
|
||||||
$isBuyerInEEC = isInEEC($objp);
|
$isBuyerInEEC = isInEEC($objp);
|
||||||
|
|
||||||
@@ -459,8 +458,9 @@ if ($result) {
|
|||||||
}
|
}
|
||||||
if ($objp->code_sell_l == -1) $objp->code_sell_l='';
|
if ($objp->code_sell_l == -1) $objp->code_sell_l='';
|
||||||
|
|
||||||
|
// Search suggested account for product/service
|
||||||
$suggestedaccountingaccountfor = '';
|
$suggestedaccountingaccountfor = '';
|
||||||
if ($objp->country_code == $mysoc->country_code || empty($objp->country_code)) { // If buyer in same country than seller (if not defined, we assume it is same country)
|
if (($objp->country_code == $mysoc->country_code) || empty($objp->country_code)) { // If buyer in same country than seller (if not defined, we assume it is same country)
|
||||||
$objp->code_sell_p = $objp->code_sell;
|
$objp->code_sell_p = $objp->code_sell;
|
||||||
$objp->aarowid_suggest = $objp->aarowid;
|
$objp->aarowid_suggest = $objp->aarowid;
|
||||||
$suggestedaccountingaccountfor = '';
|
$suggestedaccountingaccountfor = '';
|
||||||
@@ -549,12 +549,19 @@ if ($result) {
|
|||||||
|
|
||||||
// Suggested accounting account
|
// Suggested accounting account
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $formaccounting->select_account($objp->aarowid_suggest, 'codeventil'.$objp->rowid, 1, array(), 0, 0, 'codeventil maxwidth200 maxwidthonsmartphone', 'cachewithshowemptyone');
|
$suggestedid = $objp->aarowid_suggest;
|
||||||
|
if (empty($suggestedid) && empty($objp->code_sell_p) && ! empty($objp->code_sell_l) && ! empty($conf->global->ACCOUNTANCY_AUTOFILL_ACCOUNT_WITH_GENERIC))
|
||||||
|
{
|
||||||
|
//$suggestedid = // id of $objp->code_sell_l
|
||||||
|
}
|
||||||
|
print $formaccounting->select_account($suggestedid, 'codeventil'.$objp->rowid, 1, array(), 0, 0, 'codeventil maxwidth200 maxwidthonsmartphone', 'cachewithshowemptyone');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Column with checkbox
|
// Column with checkbox
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<input type="checkbox" class="flat checkforselect checkforselect'.$objp->rowid.'" name="toselect[]" value="' . $objp->rowid . "_" . $i . '"' . ($objp->aarowid ? "checked" : "") . '/>';
|
//var_dump($objp->aarowid);var_dump($objp->aarowid_intra);var_dump($objp->aarowid_export);var_dump($objp->aarowid_suggest);
|
||||||
|
$ischecked = $objp->aarowid_suggest;
|
||||||
|
print '<input type="checkbox" class="flat checkforselect checkforselect'.$objp->rowid.'" name="toselect[]" value="' . $objp->rowid . "_" . $i . '"' . ($ischecked ? "checked" : "") . '/>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|||||||
@@ -192,12 +192,12 @@ if ($search_lineid) {
|
|||||||
if (strlen(trim($search_invoice))) {
|
if (strlen(trim($search_invoice))) {
|
||||||
$sql .= natural_search("f.ref", $search_invoice);
|
$sql .= natural_search("f.ref", $search_invoice);
|
||||||
}
|
}
|
||||||
|
if (strlen(trim($search_label))) {
|
||||||
|
$sql .= natural_search("f.libelle", $search_label);
|
||||||
|
}
|
||||||
if (strlen(trim($search_ref))) {
|
if (strlen(trim($search_ref))) {
|
||||||
$sql .= natural_search("p.ref", $search_ref);
|
$sql .= natural_search("p.ref", $search_ref);
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_label))) {
|
|
||||||
$sql .= natural_search("p.label", $search_label);
|
|
||||||
}
|
|
||||||
if (strlen(trim($search_desc))) {
|
if (strlen(trim($search_desc))) {
|
||||||
$sql .= natural_search("l.description", $search_desc);
|
$sql .= natural_search("l.description", $search_desc);
|
||||||
}
|
}
|
||||||
@@ -300,14 +300,13 @@ if ($result) {
|
|||||||
print '<tr class="liste_titre_filter">';
|
print '<tr class="liste_titre_filter">';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="' . dol_escape_htmltag($search_lineid) . '""></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="' . dol_escape_htmltag($search_lineid) . '""></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="' . dol_escape_htmltag($search_invoice) . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="' . dol_escape_htmltag($search_invoice) . '"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_label" value="' . dol_escape_htmltag($search_label) . '"></td>';
|
||||||
print '<td class="liste_titre center nowraponall">';
|
print '<td class="liste_titre center nowraponall">';
|
||||||
if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_day" value="'.$search_day.'">';
|
if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_day" value="'.$search_day.'">';
|
||||||
print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_month" value="'.$search_month.'">';
|
print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_month" value="'.$search_month.'">';
|
||||||
$formother->select_year($search_year, 'search_year', 1, 20, 5);
|
$formother->select_year($search_year, 'search_year', 1, 20, 5);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="' . dol_escape_htmltag($search_ref) . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="' . dol_escape_htmltag($search_ref) . '"></td>';
|
||||||
//print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_label" value="' . dol_escape_htmltag($search_label) . '"></td>';
|
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_desc" value="' . dol_escape_htmltag($search_desc) . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_desc" value="' . dol_escape_htmltag($search_desc) . '"></td>';
|
||||||
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="' . dol_escape_htmltag($search_amount) . '"></td>';
|
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="' . dol_escape_htmltag($search_amount) . '"></td>';
|
||||||
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_vat" placeholder="%" size="1" value="' . dol_escape_htmltag($search_vat) . '"></td>';
|
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_vat" placeholder="%" size="1" value="' . dol_escape_htmltag($search_vat) . '"></td>';
|
||||||
|
|||||||
@@ -234,12 +234,12 @@ if ($search_lineid) {
|
|||||||
if (strlen(trim($search_invoice))) {
|
if (strlen(trim($search_invoice))) {
|
||||||
$sql .= natural_search("f.ref", $search_invoice);
|
$sql .= natural_search("f.ref", $search_invoice);
|
||||||
}
|
}
|
||||||
|
if (strlen(trim($search_label))) {
|
||||||
|
$sql .= natural_search("f.libelle", $search_label);
|
||||||
|
}
|
||||||
if (strlen(trim($search_ref))) {
|
if (strlen(trim($search_ref))) {
|
||||||
$sql .= natural_search("p.ref", $search_ref);
|
$sql .= natural_search("p.ref", $search_ref);
|
||||||
}
|
}
|
||||||
if (strlen(trim($search_label))) {
|
|
||||||
$sql .= natural_search("p.label", $search_label);
|
|
||||||
}
|
|
||||||
if (strlen(trim($search_desc))) {
|
if (strlen(trim($search_desc))) {
|
||||||
$sql .= natural_search("l.description", $search_desc);
|
$sql .= natural_search("l.description", $search_desc);
|
||||||
}
|
}
|
||||||
@@ -317,6 +317,7 @@ if ($result) {
|
|||||||
if ($search_year) $param.='&search_year='.urlencode($search_year);
|
if ($search_year) $param.='&search_year='.urlencode($search_year);
|
||||||
if ($search_invoice) $param.='&search_invoice='.urlencode($search_invoice);
|
if ($search_invoice) $param.='&search_invoice='.urlencode($search_invoice);
|
||||||
if ($search_ref) $param.='&search_ref='.urlencode($search_ref);
|
if ($search_ref) $param.='&search_ref='.urlencode($search_ref);
|
||||||
|
if ($search_label) $param.='&search_label='.urlencode($search_label);
|
||||||
if ($search_desc) $param.='&search_desc='.urlencode($search_desc);
|
if ($search_desc) $param.='&search_desc='.urlencode($search_desc);
|
||||||
if ($search_amount) $param.='&search_amount='.urlencode($search_amount);
|
if ($search_amount) $param.='&search_amount='.urlencode($search_amount);
|
||||||
if ($search_vat) $param.='&search_vat='.urlencode($search_vat);
|
if ($search_vat) $param.='&search_vat='.urlencode($search_vat);
|
||||||
@@ -362,14 +363,13 @@ if ($result) {
|
|||||||
print '<tr class="liste_titre_filter">';
|
print '<tr class="liste_titre_filter">';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="' . dol_escape_htmltag($search_lineid) . '""></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="' . dol_escape_htmltag($search_lineid) . '""></td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="' . dol_escape_htmltag($search_invoice) . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="' . dol_escape_htmltag($search_invoice) . '"></td>';
|
||||||
print '<td class="liste_titre"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_label" value="' . dol_escape_htmltag($search_label) . '"></td>';
|
||||||
print '<td class="liste_titre center nowraponall">';
|
print '<td class="liste_titre center nowraponall">';
|
||||||
if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_day" value="'.$search_day.'">';
|
if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_day" value="'.$search_day.'">';
|
||||||
print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_month" value="'.$search_month.'">';
|
print '<input class="flat valignmiddle maxwidth25" type="text" maxlength="2" name="search_month" value="'.$search_month.'">';
|
||||||
$formother->select_year($search_year, 'search_year', 1, 20, 5);
|
$formother->select_year($search_year, 'search_year', 1, 20, 5);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="' . dol_escape_htmltag($search_ref) . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="' . dol_escape_htmltag($search_ref) . '"></td>';
|
||||||
//print '<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_label" value="' . dol_escape_htmltag($search_label) . '"></td>';
|
|
||||||
print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="search_desc" value="' . dol_escape_htmltag($search_desc) . '"></td>';
|
print '<td class="liste_titre"><input type="text" class="flat maxwidth100" name="search_desc" value="' . dol_escape_htmltag($search_desc) . '"></td>';
|
||||||
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="' . dol_escape_htmltag($search_amount) . '"></td>';
|
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="' . dol_escape_htmltag($search_amount) . '"></td>';
|
||||||
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_vat" placeholder="%" size="1" value="' . dol_escape_htmltag($search_vat) . '"></td>';
|
print '<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_vat" placeholder="%" size="1" value="' . dol_escape_htmltag($search_vat) . '"></td>';
|
||||||
@@ -521,12 +521,14 @@ if ($result) {
|
|||||||
|
|
||||||
// Suggested accounting account
|
// Suggested accounting account
|
||||||
print '<td>';
|
print '<td>';
|
||||||
print $formaccounting->select_account($objp->aarowid_suggest, 'codeventil'.$objp->rowid, 1, array(), 0, 0, 'codeventil maxwidth200 maxwidthonsmartphone', 'cachewithshowemptyone');
|
$suggestedid = $objp->aarowid_suggest;
|
||||||
|
print $formaccounting->select_account($suggestedid, 'codeventil'.$objp->rowid, 1, array(), 0, 0, 'codeventil maxwidth200 maxwidthonsmartphone', 'cachewithshowemptyone');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Column with checkbox
|
// Column with checkbox
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
print '<input type="checkbox" class="flat checkforselect checkforselect'.$objp->rowid.'" name="toselect[]" value="' . $objp->rowid . "_" . $i . '"' . ($objp->aarowid ? "checked" : "") . '/>';
|
$ischecked = $objp->aarowid_suggest;
|
||||||
|
print '<input type="checkbox" class="flat checkforselect checkforselect'.$objp->rowid.'" name="toselect[]" value="' . $objp->rowid . "_" . $i . '"' . ($ischecked ? "checked" : "") . '/>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|||||||
@@ -195,6 +195,8 @@ $param = '';
|
|||||||
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
|
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
|
||||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
print '<input type="hidden" id="action" name="action" value="">';
|
print '<input type="hidden" id="action" name="action" value="">';
|
||||||
|
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
|
||||||
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
|
||||||
|
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
|
|||||||
@@ -174,15 +174,15 @@ if ($action == 'maj_pattern')
|
|||||||
$explodePattern = explode(';', $pattern);
|
$explodePattern = explode(';', $pattern);
|
||||||
|
|
||||||
$patternInError = false;
|
$patternInError = false;
|
||||||
if($explodePattern[0] < 1 || $explodePattern[4] < 0){
|
if ($explodePattern[0] < 1 || $explodePattern[4] < 0) {
|
||||||
$patternInError = true;
|
$patternInError = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($explodePattern[0] < $explodePattern[1] + $explodePattern[2] + $explodePattern[3]){
|
if ($explodePattern[0] < $explodePattern[1] + $explodePattern[2] + $explodePattern[3]) {
|
||||||
$patternInError = true;
|
$patternInError = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$patternInError){
|
if (!$patternInError) {
|
||||||
dolibarr_set_const($db, "USER_PASSWORD_PATTERN", $pattern, 'chaine', 0, '', $conf->entity);
|
dolibarr_set_const($db, "USER_PASSWORD_PATTERN", $pattern, 'chaine', 0, '', $conf->entity);
|
||||||
header("Location: security.php");
|
header("Location: security.php");
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
@@ -864,11 +864,14 @@ class Categorie extends CommonObject
|
|||||||
if ($type=="contact") {
|
if ($type=="contact") {
|
||||||
$subcol_name="fk_socpeople";
|
$subcol_name="fk_socpeople";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$idoftype = array_search($type, self::$MAP_ID_TO_CODE);
|
||||||
|
|
||||||
$sql = "SELECT s.rowid";
|
$sql = "SELECT s.rowid";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."categorie as s";
|
$sql.= " FROM ".MAIN_DB_PREFIX."categorie as s";
|
||||||
$sql.= " , ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub ";
|
$sql.= " , ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub ";
|
||||||
$sql.= ' WHERE s.entity IN ('.getEntity('category').')';
|
$sql.= ' WHERE s.entity IN ('.getEntity('category').')';
|
||||||
$sql.= ' AND s.type='.array_search($type, self::$MAP_ID_TO_CODE);
|
$sql.= ' AND s.type='.$idoftype;
|
||||||
$sql.= ' AND s.rowid = sub.fk_categorie';
|
$sql.= ' AND s.rowid = sub.fk_categorie';
|
||||||
$sql.= ' AND sub.'.$subcol_name.' = '.$id;
|
$sql.= ' AND sub.'.$subcol_name.' = '.$id;
|
||||||
|
|
||||||
@@ -887,7 +890,15 @@ class Categorie extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql.= $this->db->plimit($limit + 1, $offset);
|
if ($limit) {
|
||||||
|
if ($page < 0)
|
||||||
|
{
|
||||||
|
$page = 0;
|
||||||
|
}
|
||||||
|
$offset = $limit * $page;
|
||||||
|
|
||||||
|
$sql.= $this->db->plimit($limit + 1, $offset);
|
||||||
|
}
|
||||||
|
|
||||||
$result = $this->db->query($sql);
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
|
|||||||
@@ -403,7 +403,7 @@ if ($object->id > 0)
|
|||||||
print '<td><td class="right">';
|
print '<td><td class="right">';
|
||||||
if ($user->rights->societe->creer && !$user->societe_id > 0)
|
if ($user->rights->societe->creer && !$user->societe_id > 0)
|
||||||
{
|
{
|
||||||
print '<a href="'.DOL_URL_ROOT.'/comm/remx.php?id='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?socid='.$object->id).'">'.img_edit($langs->trans("Modify")).'</a>';
|
print '<a class="editfielda" href="'.DOL_URL_ROOT.'/comm/remx.php?id='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?socid='.$object->id).'">'.img_edit($langs->trans("Modify")).'</a>';
|
||||||
}
|
}
|
||||||
print '</td></tr></table>';
|
print '</td></tr></table>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@@ -425,8 +425,6 @@ if ($object->id > 0)
|
|||||||
print '</td><td>';
|
print '</td><td>';
|
||||||
$limit_field_type = (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE)) ? 'numeric' : 'amount';
|
$limit_field_type = (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE)) ? 'numeric' : 'amount';
|
||||||
print $form->editfieldval("OutstandingBill", 'outstanding_limit', $object->outstanding_limit, $object, $user->rights->societe->creer, $limit_field_type, ($object->outstanding_limit != '' ? price($object->outstanding_limit) : ''));
|
print $form->editfieldval("OutstandingBill", 'outstanding_limit', $object->outstanding_limit, $object, $user->rights->societe->creer, $limit_field_type, ($object->outstanding_limit != '' ? price($object->outstanding_limit) : ''));
|
||||||
//if (empty($object->outstanding_limit)) print $langs->trans("NoLimit");
|
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ foreach($linkedObjectBlock as $key => $objectlink)
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td class="linkedcol-name" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
<td class="linkedcol-name nowraponall" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||||
<td class="linkedcol-ref" ><?php echo $objectlink->ref_client; ?></td>
|
<td class="linkedcol-ref" ><?php echo $objectlink->ref_client; ?></td>
|
||||||
<td class="linkedcol-date center"><?php echo dol_print_date($objectlink->date, 'day'); ?></td>
|
<td class="linkedcol-date center"><?php echo dol_print_date($objectlink->date, 'day'); ?></td>
|
||||||
<td class="linkedcol-amount right"><?php
|
<td class="linkedcol-amount right"><?php
|
||||||
|
|||||||
@@ -814,10 +814,7 @@ if ($resql)
|
|||||||
$generic_commande->lines=array();
|
$generic_commande->lines=array();
|
||||||
$generic_commande->getLinesArray();
|
$generic_commande->getLinesArray();
|
||||||
|
|
||||||
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
|
|
||||||
print '<td class="nobordernopadding nowrap">';
|
|
||||||
print $generic_commande->getNomUrl(1, ($viewstatut != 2?0:$obj->fk_statut), 0, 0, 0, 1);
|
print $generic_commande->getNomUrl(1, ($viewstatut != 2?0:$obj->fk_statut), 0, 0, 0, 1);
|
||||||
print '</td>';
|
|
||||||
|
|
||||||
// Show shippable Icon (create subloop, so may be slow)
|
// Show shippable Icon (create subloop, so may be slow)
|
||||||
if ($conf->stock->enabled)
|
if ($conf->stock->enabled)
|
||||||
@@ -903,16 +900,15 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($notshippable==0) {
|
if ($notshippable == 0) {
|
||||||
$text_icon = img_picto('', 'object_sending');
|
$text_icon = img_picto('', 'dolly', '', false, 0, 0, '', 'green paddingleft');
|
||||||
$text_info = $langs->trans('Shippable').'<br>'.$text_info;
|
$text_info = $langs->trans('Shippable').'<br>'.$text_info;
|
||||||
} else {
|
} else {
|
||||||
$text_icon = img_picto('', 'error');
|
$text_icon = img_picto('', 'dolly', '', false, 0, 0, '', 'error paddingleft');
|
||||||
$text_info = $langs->trans('NonShippable').'<br>'.$text_info;
|
$text_info = $langs->trans('NonShippable').'<br>'.$text_info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print '<td>';
|
|
||||||
if ($nbprod)
|
if ($nbprod)
|
||||||
{
|
{
|
||||||
print $form->textwithtooltip('', $text_info, 2, 1, $text_icon, '', 2);
|
print $form->textwithtooltip('', $text_info, 2, 1, $text_icon, '', 2);
|
||||||
@@ -920,11 +916,9 @@ if ($resql)
|
|||||||
if ($warning) { // Always false in default mode
|
if ($warning) { // Always false in default mode
|
||||||
print $form->textwithtooltip('', $langs->trans('NotEnoughForAllOrders').'<br>'.$text_warning, 2, 1, img_picto('', 'error'), '', 2);
|
print $form->textwithtooltip('', $langs->trans('NotEnoughForAllOrders').'<br>'.$text_warning, 2, 1, img_picto('', 'error'), '', 2);
|
||||||
}
|
}
|
||||||
print '</td>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warning late icon and note
|
// Warning late icon and note
|
||||||
print '<td class="nobordernopadding nowrap">';
|
|
||||||
if ($generic_commande->hasDelay()) {
|
if ($generic_commande->hasDelay()) {
|
||||||
print img_picto($langs->trans("Late").' : '.$generic_commande->showDelay(), "warning");
|
print img_picto($langs->trans("Late").' : '.$generic_commande->showDelay(), "warning");
|
||||||
}
|
}
|
||||||
@@ -934,15 +928,11 @@ if ($resql)
|
|||||||
print '<a href="'.DOL_URL_ROOT.'/commande/note.php?id='.$obj->rowid.'">'.img_picto($langs->trans("ViewPrivateNote"), 'object_generic').'</a>';
|
print '<a href="'.DOL_URL_ROOT.'/commande/note.php?id='.$obj->rowid.'">'.img_picto($langs->trans("ViewPrivateNote"), 'object_generic').'</a>';
|
||||||
print '</span>';
|
print '</span>';
|
||||||
}
|
}
|
||||||
print '</td>';
|
|
||||||
|
|
||||||
print '<td width="16" class="nobordernopadding hideonsmartphone right">';
|
|
||||||
$filename=dol_sanitizeFileName($obj->ref);
|
$filename=dol_sanitizeFileName($obj->ref);
|
||||||
$filedir=$conf->commande->multidir_output[$conf->entity] . '/' . dol_sanitizeFileName($obj->ref);
|
$filedir=$conf->commande->multidir_output[$conf->entity] . '/' . dol_sanitizeFileName($obj->ref);
|
||||||
$urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid;
|
$urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid;
|
||||||
print $formfile->getDocumentsLink($generic_commande->element, $filename, $filedir);
|
print $formfile->getDocumentsLink($generic_commande->element, $filename, $filedir);
|
||||||
print '</td>';
|
|
||||||
print '</tr></table>';
|
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ foreach($linkedObjectBlock as $key => $objectlink)
|
|||||||
<td class="linkedcol-element" ><?php echo $langs->trans("CustomerOrder"); ?>
|
<td class="linkedcol-element" ><?php echo $langs->trans("CustomerOrder"); ?>
|
||||||
<?php if(!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a'; ?>
|
<?php if(!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a'; ?>
|
||||||
</td>
|
</td>
|
||||||
<td class="linkedcol-name" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
<td class="linkedcol-name nowraponall" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||||
<td class="linkedcol-ref" align="center"><?php echo $objectlink->ref_client; ?></td>
|
<td class="linkedcol-ref" align="center"><?php echo $objectlink->ref_client; ?></td>
|
||||||
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->date, 'day'); ?></td>
|
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->date, 'day'); ?></td>
|
||||||
<td class="linkedcol-amount right"><?php
|
<td class="linkedcol-amount right"><?php
|
||||||
|
|||||||
@@ -89,6 +89,8 @@ $search_montant_ttc=GETPOST('search_montant_ttc', 'alpha');
|
|||||||
$search_status=GETPOST('search_status', 'intcomma');
|
$search_status=GETPOST('search_status', 'intcomma');
|
||||||
$search_paymentmode=GETPOST('search_paymentmode', 'int');
|
$search_paymentmode=GETPOST('search_paymentmode', 'int');
|
||||||
$search_paymentterms=GETPOST('search_paymentterms', 'int');
|
$search_paymentterms=GETPOST('search_paymentterms', 'int');
|
||||||
|
$search_module_source=GETPOST('search_module_source', 'alpha');
|
||||||
|
$search_pos_source=GETPOST('search_pos_source', 'alpha');
|
||||||
$search_town=GETPOST('search_town', 'alpha');
|
$search_town=GETPOST('search_town', 'alpha');
|
||||||
$search_zip=GETPOST('search_zip', 'alpha');
|
$search_zip=GETPOST('search_zip', 'alpha');
|
||||||
$search_state=trim(GETPOST("search_state"));
|
$search_state=trim(GETPOST("search_state"));
|
||||||
@@ -157,37 +159,39 @@ if (empty($user->socid)) $fieldstosearchall["f.note_private"]="NotePrivate";
|
|||||||
|
|
||||||
$checkedtypetiers=0;
|
$checkedtypetiers=0;
|
||||||
$arrayfields=array(
|
$arrayfields=array(
|
||||||
'f.ref'=>array('label'=>"Ref", 'checked'=>1),
|
'f.ref'=>array('label'=>"Ref", 'checked'=>1, 'position'=>5),
|
||||||
'f.ref_client'=>array('label'=>"RefCustomer", 'checked'=>1),
|
'f.ref_client'=>array('label'=>"RefCustomer", 'checked'=>1, 'position'=>10),
|
||||||
'f.type'=>array('label'=>"Type", 'checked'=>0),
|
'f.type'=>array('label'=>"Type", 'checked'=>0, 'position'=>15),
|
||||||
'f.date'=>array('label'=>"DateInvoice", 'checked'=>1),
|
'f.date'=>array('label'=>"DateInvoice", 'checked'=>1, 'position'=>20),
|
||||||
'f.date_lim_reglement'=>array('label'=>"DateDue", 'checked'=>1),
|
'f.date_lim_reglement'=>array('label'=>"DateDue", 'checked'=>1, 'position'=>25),
|
||||||
'p.ref'=>array('label'=>"ProjectRef", 'checked'=>1, 'enabled'=>(empty($conf->projet->enabled)?0:1)),
|
'f.date_closing'=>array('label'=>"DateClosing", 'checked'=>0, 'position'=>30),
|
||||||
'p.title'=>array('label'=>"ProjectLabel", 'checked'=>0, 'enabled'=>(empty($conf->projet->enabled)?0:1)),
|
'p.ref'=>array('label'=>"ProjectRef", 'checked'=>1, 'enabled'=>(empty($conf->projet->enabled)?0:1), 'position'=>40),
|
||||||
's.nom'=>array('label'=>"ThirdParty", 'checked'=>1),
|
'p.title'=>array('label'=>"ProjectLabel", 'checked'=>0, 'enabled'=>(empty($conf->projet->enabled)?0:1), 'position'=>40),
|
||||||
's.town'=>array('label'=>"Town", 'checked'=>1),
|
's.nom'=>array('label'=>"ThirdParty", 'checked'=>1, 'position'=>50),
|
||||||
's.zip'=>array('label'=>"Zip", 'checked'=>1),
|
's.town'=>array('label'=>"Town", 'checked'=>1, 'position'=>55),
|
||||||
'state.nom'=>array('label'=>"StateShort", 'checked'=>0),
|
's.zip'=>array('label'=>"Zip", 'checked'=>1, 'position'=>60),
|
||||||
'country.code_iso'=>array('label'=>"Country", 'checked'=>0),
|
'state.nom'=>array('label'=>"StateShort", 'checked'=>0, 'position'=>65),
|
||||||
'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers),
|
'country.code_iso'=>array('label'=>"Country", 'checked'=>0, 'position'=>70),
|
||||||
'f.fk_mode_reglement'=>array('label'=>"PaymentMode", 'checked'=>1),
|
'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers, 'position'=>75),
|
||||||
'f.fk_cond_reglement'=>array('label'=>"PaymentConditionsShort", 'checked'=>1),
|
'f.fk_mode_reglement'=>array('label'=>"PaymentMode", 'checked'=>1, 'position'=>80),
|
||||||
'f.total_ht'=>array('label'=>"AmountHT", 'checked'=>1),
|
'f.fk_cond_reglement'=>array('label'=>"PaymentConditionsShort", 'checked'=>1, 'position'=>85),
|
||||||
'f.total_vat'=>array('label'=>"AmountVAT", 'checked'=>0),
|
'f.module_source'=>array('label'=>"Module", 'checked'=>0, 'enabled'=>($conf->cashdesk->enabled || $conf->takepos->enabled || $conf->global->INVOICE_SHOW_POS), 'position'=>90),
|
||||||
'f.total_localtax1'=>array('label'=>$langs->transcountry("AmountLT1", $mysoc->country_code), 'checked'=>0, 'enabled'=>($mysoc->localtax1_assuj=="1")),
|
'f.pos_source'=>array('label'=>"Terminal", 'checked'=>0, 'enabled'=>($conf->cashdesk->enabled || $conf->takepos->enabled || $conf->global->INVOICE_SHOW_POS), 'position'=>91),
|
||||||
'f.total_localtax2'=>array('label'=>$langs->transcountry("AmountLT2", $mysoc->country_code), 'checked'=>0, 'enabled'=>($mysoc->localtax2_assuj=="1")),
|
'f.total_ht'=>array('label'=>"AmountHT", 'checked'=>1, 'position'=>95),
|
||||||
'f.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>0),
|
'f.total_vat'=>array('label'=>"AmountVAT", 'checked'=>0, 'position'=>100),
|
||||||
'dynamount_payed'=>array('label'=>"Received", 'checked'=>0),
|
'f.total_localtax1'=>array('label'=>$langs->transcountry("AmountLT1", $mysoc->country_code), 'checked'=>0, 'enabled'=>($mysoc->localtax1_assuj=="1"), 'position'=>110),
|
||||||
'rtp'=>array('label'=>"Rest", 'checked'=>0),
|
'f.total_localtax2'=>array('label'=>$langs->transcountry("AmountLT2", $mysoc->country_code), 'checked'=>0, 'enabled'=>($mysoc->localtax2_assuj=="1"), 'position'=>120),
|
||||||
|
'f.total_ttc'=>array('label'=>"AmountTTC", 'checked'=>0, 'position'=>130),
|
||||||
|
'dynamount_payed'=>array('label'=>"Received", 'checked'=>0, 'position'=>140),
|
||||||
|
'rtp'=>array('label'=>"Rest", 'checked'=>0, 'position'=>150),
|
||||||
'f.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500),
|
'f.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500),
|
||||||
'f.tms'=>array('label'=>"DateModificationShort", '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),
|
'f.fk_statut'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000),
|
||||||
);
|
);
|
||||||
|
|
||||||
if($conf->global->INVOICE_USE_SITUATION && $conf->global->INVOICE_USE_SITUATION_RETAINED_WARRANTY)
|
if($conf->global->INVOICE_USE_SITUATION && $conf->global->INVOICE_USE_SITUATION_RETAINED_WARRANTY)
|
||||||
{
|
{
|
||||||
$arrayfields['f.retained_warranty'] = array('label'=>$langs->trans("RetainedWarranty"), 'checked'=>0);
|
$arrayfields['f.retained_warranty'] = array('label'=>$langs->trans("RetainedWarranty"), 'checked'=>0, 'position'=>86);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extra fields
|
// Extra fields
|
||||||
@@ -236,6 +240,8 @@ if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter',
|
|||||||
$search_status='';
|
$search_status='';
|
||||||
$search_paymentmode='';
|
$search_paymentmode='';
|
||||||
$search_paymentterms='';
|
$search_paymentterms='';
|
||||||
|
$search_module_source='';
|
||||||
|
$search_pos_source='';
|
||||||
$search_town='';
|
$search_town='';
|
||||||
$search_zip="";
|
$search_zip="";
|
||||||
$search_state="";
|
$search_state="";
|
||||||
@@ -381,13 +387,10 @@ $sql = 'SELECT';
|
|||||||
if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT';
|
if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT';
|
||||||
$sql.= ' f.rowid as id, f.ref, f.ref_client, f.type, f.note_private, f.note_public, f.increment, f.fk_mode_reglement, f.fk_cond_reglement, f.total as total_ht, f.tva as total_vat, f.total_ttc,';
|
$sql.= ' f.rowid as id, f.ref, f.ref_client, f.type, f.note_private, f.note_public, f.increment, f.fk_mode_reglement, f.fk_cond_reglement, f.total as total_ht, f.tva as total_vat, f.total_ttc,';
|
||||||
$sql.= ' f.localtax1 as total_localtax1, f.localtax2 as total_localtax2,';
|
$sql.= ' f.localtax1 as total_localtax1, f.localtax2 as total_localtax2,';
|
||||||
$sql.= ' f.datef as df, f.date_lim_reglement as datelimite,';
|
$sql.= ' f.datef as df, f.date_lim_reglement as datelimite, f.module_source, f.pos_source,';
|
||||||
$sql.= ' f.paye as paye, f.fk_statut,';
|
$sql.= ' f.paye as paye, f.fk_statut,';
|
||||||
$sql.= ' f.datec as date_creation, f.tms as date_update, f.date_closing as date_closing,';
|
$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,';
|
||||||
{
|
|
||||||
$sql.= ' f.retained_warranty, f.retained_warranty_date_limit, f.situation_final,f.situation_cycle_ref,f.situation_counter,';
|
|
||||||
}
|
|
||||||
$sql.= ' s.rowid as socid, s.nom as name, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur,';
|
$sql.= ' s.rowid as socid, s.nom as name, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur, s.code_compta as code_compta_client, s.code_compta_fournisseur,';
|
||||||
$sql.= " typent.code as typent_code,";
|
$sql.= " typent.code as typent_code,";
|
||||||
$sql.= " state.code_departement as state_code, state.nom as state_name,";
|
$sql.= " state.code_departement as state_code, state.nom as state_name,";
|
||||||
@@ -475,8 +478,10 @@ if ($search_status != '-1' && $search_status != '')
|
|||||||
$sql.= " AND f.fk_statut IN (".$db->escape($search_status).")"; // When search_status is '1,2' for example
|
$sql.= " AND f.fk_statut IN (".$db->escape($search_status).")"; // When search_status is '1,2' for example
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($search_paymentmode > 0) $sql .= " AND f.fk_mode_reglement = ".$db->escape($search_paymentmode);
|
if ($search_paymentmode > 0) $sql .= " AND f.fk_mode_reglement = ".$db->escape($search_paymentmode);
|
||||||
if ($search_paymentterms > 0) $sql .= " AND f.fk_cond_reglement = ".$db->escape($search_paymentterms);
|
if ($search_paymentterms > 0) $sql .= " AND f.fk_cond_reglement = ".$db->escape($search_paymentterms);
|
||||||
|
if ($search_module_source) $sql .= natural_search("f.module_source", $search_module_source);
|
||||||
|
if ($search_pos_source) $sql .= natural_search("f.pos_source", $search_pos_source);
|
||||||
$sql.= dolSqlDateFilter("f.datef", $search_day, $search_month, $search_year);
|
$sql.= dolSqlDateFilter("f.datef", $search_day, $search_month, $search_year);
|
||||||
$sql.= dolSqlDateFilter("f.date_lim_reglement", $search_day_lim, $search_month_lim, $search_year_lim);
|
$sql.= dolSqlDateFilter("f.date_lim_reglement", $search_day_lim, $search_month_lim, $search_year_lim);
|
||||||
if ($option == 'late') $sql.=" AND f.date_lim_reglement < '".$db->idate(dol_now() - $conf->facture->client->warning_delay)."'";
|
if ($option == 'late') $sql.=" AND f.date_lim_reglement < '".$db->idate(dol_now() - $conf->facture->client->warning_delay)."'";
|
||||||
@@ -496,9 +501,10 @@ if (! $sall)
|
|||||||
{
|
{
|
||||||
$sql.= ' GROUP BY f.rowid, f.ref, ref_client, f.type, f.note_private, f.note_public, f.increment, f.fk_mode_reglement, f.fk_cond_reglement, f.total, f.tva, f.total_ttc,';
|
$sql.= ' GROUP BY f.rowid, f.ref, ref_client, f.type, f.note_private, f.note_public, f.increment, f.fk_mode_reglement, f.fk_cond_reglement, f.total, f.tva, f.total_ttc,';
|
||||||
$sql.= ' f.localtax1, f.localtax2,';
|
$sql.= ' f.localtax1, f.localtax2,';
|
||||||
$sql.= ' f.datef, f.date_lim_reglement,';
|
$sql.= ' f.datef, f.date_lim_reglement, f.module_source, f.pos_source,';
|
||||||
$sql.= ' f.paye, f.fk_statut,';
|
$sql.= ' f.paye, f.fk_statut,';
|
||||||
$sql.= ' f.datec, f.tms, f.date_closing,';
|
$sql.= ' f.datec, f.tms, f.date_closing,';
|
||||||
|
$sql.= ' f.retained_warranty, f.retained_warranty_date_limit, f.situation_final, f.situation_cycle_ref, f.situation_counter,';
|
||||||
$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.= ' 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.= ' typent.code,';
|
||||||
$sql.= ' state.code_departement, state.nom,';
|
$sql.= ' state.code_departement, state.nom,';
|
||||||
@@ -591,6 +597,8 @@ if ($resql)
|
|||||||
if ($search_status != '') $param.='&search_status='.urlencode($search_status);
|
if ($search_status != '') $param.='&search_status='.urlencode($search_status);
|
||||||
if ($search_paymentmode > 0) $param.='&search_paymentmode='.urlencode($search_paymentmode);
|
if ($search_paymentmode > 0) $param.='&search_paymentmode='.urlencode($search_paymentmode);
|
||||||
if ($search_paymentterms > 0) $param.='&search_paymentterms='.urlencode($search_paymentterms);
|
if ($search_paymentterms > 0) $param.='&search_paymentterms='.urlencode($search_paymentterms);
|
||||||
|
if ($search_module_source) $param.='&search_module_source='.urlencode($search_module_source);
|
||||||
|
if ($search_pos_source) $param.='&search_pos_source='.urlencode($search_pos_source);
|
||||||
if ($show_files) $param.='&show_files='.urlencode($show_files);
|
if ($show_files) $param.='&show_files='.urlencode($show_files);
|
||||||
if ($option) $param.="&search_option=".urlencode($option);
|
if ($option) $param.="&search_option=".urlencode($option);
|
||||||
if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss);
|
if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss);
|
||||||
@@ -804,17 +812,31 @@ if ($resql)
|
|||||||
// Payment mode
|
// Payment mode
|
||||||
if (! empty($arrayfields['f.fk_mode_reglement']['checked']))
|
if (! empty($arrayfields['f.fk_mode_reglement']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="liste_titre" align="left">';
|
print '<td class="liste_titre">';
|
||||||
$form->select_types_paiements($search_paymentmode, 'search_paymentmode', '', 0, 1, 1, 10);
|
$form->select_types_paiements($search_paymentmode, 'search_paymentmode', '', 0, 1, 1, 10);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
// Payment terms
|
// Payment terms
|
||||||
if (! empty($arrayfields['f.fk_cond_reglement']['checked']))
|
if (! empty($arrayfields['f.fk_cond_reglement']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="liste_titre" align="left">';
|
print '<td class="liste_titre">';
|
||||||
$form->select_conditions_paiements($search_paymentterms, 'search_paymentterms', -1, 1, 1);
|
$form->select_conditions_paiements($search_paymentterms, 'search_paymentterms', -1, 1, 1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
// Module source
|
||||||
|
if (! empty($arrayfields['f.module_source']['checked']))
|
||||||
|
{
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input class="flat maxwidth75" type="text" name="search_module_source" value="'.dol_escape_htmltag($search_module_source).'">';
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
|
// POS Terminal
|
||||||
|
if (! empty($arrayfields['f.pos_source']['checked']))
|
||||||
|
{
|
||||||
|
print '<td class="liste_titre">';
|
||||||
|
print '<input class="flat maxwidth50" type="text" name="search_pos_source" value="'.dol_escape_htmltag($search_pos_source).'">';
|
||||||
|
print '</td>';
|
||||||
|
}
|
||||||
if (! empty($arrayfields['f.total_ht']['checked']))
|
if (! empty($arrayfields['f.total_ht']['checked']))
|
||||||
{
|
{
|
||||||
// Amount
|
// Amount
|
||||||
@@ -923,6 +945,8 @@ if ($resql)
|
|||||||
if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'], $_SERVER["PHP_SELF"], "typent.code", "", $param, 'align="center"', $sortfield, $sortorder);
|
if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'], $_SERVER["PHP_SELF"], "typent.code", "", $param, 'align="center"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['f.fk_mode_reglement']['checked'])) print_liste_field_titre($arrayfields['f.fk_mode_reglement']['label'], $_SERVER["PHP_SELF"], "f.fk_mode_reglement", "", $param, "", $sortfield, $sortorder);
|
if (! empty($arrayfields['f.fk_mode_reglement']['checked'])) print_liste_field_titre($arrayfields['f.fk_mode_reglement']['label'], $_SERVER["PHP_SELF"], "f.fk_mode_reglement", "", $param, "", $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['f.fk_cond_reglement']['checked'])) print_liste_field_titre($arrayfields['f.fk_cond_reglement']['label'], $_SERVER["PHP_SELF"], "f.fk_cond_reglement", "", $param, "", $sortfield, $sortorder);
|
if (! empty($arrayfields['f.fk_cond_reglement']['checked'])) print_liste_field_titre($arrayfields['f.fk_cond_reglement']['label'], $_SERVER["PHP_SELF"], "f.fk_cond_reglement", "", $param, "", $sortfield, $sortorder);
|
||||||
|
if (! empty($arrayfields['f.module_source']['checked'])) print_liste_field_titre($arrayfields['f.module_source']['label'], $_SERVER["PHP_SELF"], "f.module_source", "", $param, "", $sortfield, $sortorder);
|
||||||
|
if (! empty($arrayfields['f.pos_source']['checked'])) print_liste_field_titre($arrayfields['f.pos_source']['label'], $_SERVER["PHP_SELF"], "f.pos_source", "", $param, "", $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['f.total_ht']['checked'])) print_liste_field_titre($arrayfields['f.total_ht']['label'], $_SERVER['PHP_SELF'], 'f.total', '', $param, 'class="right"', $sortfield, $sortorder);
|
if (! empty($arrayfields['f.total_ht']['checked'])) print_liste_field_titre($arrayfields['f.total_ht']['label'], $_SERVER['PHP_SELF'], 'f.total', '', $param, 'class="right"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['f.total_vat']['checked'])) print_liste_field_titre($arrayfields['f.total_vat']['label'], $_SERVER['PHP_SELF'], 'f.tva', '', $param, 'class="right"', $sortfield, $sortorder);
|
if (! empty($arrayfields['f.total_vat']['checked'])) print_liste_field_titre($arrayfields['f.total_vat']['label'], $_SERVER['PHP_SELF'], 'f.tva', '', $param, 'class="right"', $sortfield, $sortorder);
|
||||||
if (! empty($arrayfields['f.total_localtax1']['checked'])) print_liste_field_titre($arrayfields['f.total_localtax1']['label'], $_SERVER['PHP_SELF'], 'f.localtax1', '', $param, 'class="right"', $sortfield, $sortorder);
|
if (! empty($arrayfields['f.total_localtax1']['checked'])) print_liste_field_titre($arrayfields['f.total_localtax1']['label'], $_SERVER['PHP_SELF'], 'f.localtax1', '', $param, 'class="right"', $sortfield, $sortorder);
|
||||||
@@ -1107,14 +1131,14 @@ if ($resql)
|
|||||||
if (! empty($arrayfields['s.nom']['checked']))
|
if (! empty($arrayfields['s.nom']['checked']))
|
||||||
{
|
{
|
||||||
print '<td class="tdoverflowmax200">';
|
print '<td class="tdoverflowmax200">';
|
||||||
if ($contextpage == 'poslist')
|
if ($contextpage == 'poslist')
|
||||||
{
|
{
|
||||||
print $thirdpartystatic->name;
|
print $thirdpartystatic->name;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $thirdpartystatic->getNomUrl(1, 'customer');
|
print $thirdpartystatic->getNomUrl(1, 'customer');
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
@@ -1186,6 +1210,24 @@ if ($resql)
|
|||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Module Source
|
||||||
|
if (! empty($arrayfields['f.module_source']['checked']))
|
||||||
|
{
|
||||||
|
print '<td>';
|
||||||
|
print $obj->module_source;
|
||||||
|
print '</td>';
|
||||||
|
if (! $i) $totalarray['nbfield']++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// POS Terminal
|
||||||
|
if (! empty($arrayfields['f.pos_source']['checked']))
|
||||||
|
{
|
||||||
|
print '<td>';
|
||||||
|
print $obj->pos_source;
|
||||||
|
print '</td>';
|
||||||
|
if (! $i) $totalarray['nbfield']++;
|
||||||
|
}
|
||||||
|
|
||||||
// Amount HT
|
// Amount HT
|
||||||
if (! empty($arrayfields['f.total_ht']['checked']))
|
if (! empty($arrayfields['f.total_ht']['checked']))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ foreach($linkedObjectBlock as $key => $objectlink)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
?></td>
|
?></td>
|
||||||
<td class="linkedcol-name"><?php echo $objectlink->getNomUrl(1); ?></td>
|
<td class="linkedcol-name nowraponall"><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||||
<td class="linkedcol-ref left"><?php echo $objectlink->ref_client; ?></td>
|
<td class="linkedcol-ref left"><?php echo $objectlink->ref_client; ?></td>
|
||||||
<td class="linkedcol-date center"><?php echo dol_print_date($objectlink->date, 'day'); ?></td>
|
<td class="linkedcol-date center"><?php echo dol_print_date($objectlink->date, 'day'); ?></td>
|
||||||
<td class="linkedcol-amount right"><?php
|
<td class="linkedcol-amount right"><?php
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ foreach($linkedObjectBlock as $key => $objectlink)
|
|||||||
?>
|
?>
|
||||||
<tr class="<?php echo $trclass; ?>" >
|
<tr class="<?php echo $trclass; ?>" >
|
||||||
<td class="linkedcol-element"><?php echo $langs->trans("RepeatableInvoice"); ?></td>
|
<td class="linkedcol-element"><?php echo $langs->trans("RepeatableInvoice"); ?></td>
|
||||||
<td class="linkedcol-name"><?php echo $objectlink->getNomUrl(1); ?></td>
|
<td class="linkedcol-name nowraponall"><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||||
<td class="linkedcol-ref" align="center"></td>
|
<td class="linkedcol-ref" align="center"></td>
|
||||||
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->date_when, 'day'); ?></td>
|
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->date_when, 'day'); ?></td>
|
||||||
<td class="linkedcol-amount right"><?php
|
<td class="linkedcol-amount right"><?php
|
||||||
|
|||||||
@@ -301,6 +301,7 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box
|
|||||||
$textwithnotags=preg_replace('/<([^>]+)>/i', '', $text);
|
$textwithnotags=preg_replace('/<([^>]+)>/i', '', $text);
|
||||||
$text2=isset($contents[$i][$j]['text2'])?$contents[$i][$j]['text2']:'';
|
$text2=isset($contents[$i][$j]['text2'])?$contents[$i][$j]['text2']:'';
|
||||||
$text2withnotags=preg_replace('/<([^>]+)>/i', '', $text2);
|
$text2withnotags=preg_replace('/<([^>]+)>/i', '', $text2);
|
||||||
|
|
||||||
$textnoformat=isset($contents[$i][$j]['textnoformat'])?$contents[$i][$j]['textnoformat']:'';
|
$textnoformat=isset($contents[$i][$j]['textnoformat'])?$contents[$i][$j]['textnoformat']:'';
|
||||||
//$out.= "xxx $textwithnotags y";
|
//$out.= "xxx $textwithnotags y";
|
||||||
if (empty($contents[$i][$j]['tooltip'])) $contents[$i][$j]['tooltip']="";
|
if (empty($contents[$i][$j]['tooltip'])) $contents[$i][$j]['tooltip']="";
|
||||||
@@ -332,13 +333,13 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box
|
|||||||
if (! empty($contents[$i][$j]['maxlength'])) $maxlength=$contents[$i][$j]['maxlength'];
|
if (! empty($contents[$i][$j]['maxlength'])) $maxlength=$contents[$i][$j]['maxlength'];
|
||||||
|
|
||||||
if ($maxlength) $textwithnotags=dol_trunc($textwithnotags, $maxlength);
|
if ($maxlength) $textwithnotags=dol_trunc($textwithnotags, $maxlength);
|
||||||
if (preg_match('/^<img/i', $text) || preg_match('/^<div/i', $text) || ! empty($contents[$i][$j]['asis'])) $out.= $text; // show text with no html cleaning
|
if (preg_match('/^<(img|div|span)/i', $text) || ! empty($contents[$i][$j]['asis'])) $out.= $text; // show text with no html cleaning
|
||||||
else $out.= $textwithnotags; // show text with html cleaning
|
else $out.= $textwithnotags; // show text with html cleaning
|
||||||
|
|
||||||
// End Url
|
// End Url
|
||||||
if (! empty($contents[$i][$j]['url'])) $out.= '</a>';
|
if (! empty($contents[$i][$j]['url'])) $out.= '</a>';
|
||||||
|
|
||||||
if (preg_match('/^<img/i', $text2) || preg_match('/^<div/i', $text2) || ! empty($contents[$i][$j]['asis2'])) $out.= $text2; // show text with no html cleaning
|
if (preg_match('/^<(img|div|span)/i', $text2) || ! empty($contents[$i][$j]['asis2'])) $out.= $text2; // show text with no html cleaning
|
||||||
else $out.= $text2withnotags; // show text with html cleaning
|
else $out.= $text2withnotags; // show text with html cleaning
|
||||||
|
|
||||||
if (! empty($textnoformat)) $out.= "\n".$textnoformat."\n";
|
if (! empty($textnoformat)) $out.= "\n".$textnoformat."\n";
|
||||||
|
|||||||
@@ -115,12 +115,14 @@ class FormFile
|
|||||||
if (empty($title)) $title=$langs->trans("AttachANewFile");
|
if (empty($title)) $title=$langs->trans("AttachANewFile");
|
||||||
if ($title != 'none') $out.=load_fiche_titre($title, null, null);
|
if ($title != 'none') $out.=load_fiche_titre($title, null, null);
|
||||||
|
|
||||||
if (empty($usewithoutform))
|
if (empty($usewithoutform)) // Try to avoid this and set instead the form by the caller.
|
||||||
{
|
{
|
||||||
$out .= '<form name="'.$htmlname.'" id="'.$htmlname.'" action="'.$url.'" enctype="multipart/form-data" method="POST">';
|
$out .= '<form name="'.$htmlname.'" id="'.$htmlname.'" action="'.$url.'" enctype="multipart/form-data" method="POST">';
|
||||||
|
$out .= '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
$out .= '<input type="hidden" id="'.$htmlname.'_section_dir" name="section_dir" value="'.$sectiondir.'">';
|
$out .= '<input type="hidden" id="'.$htmlname.'_section_dir" name="section_dir" value="'.$sectiondir.'">';
|
||||||
$out .= '<input type="hidden" id="'.$htmlname.'_section_id" name="section_id" value="'.$sectionid.'">';
|
$out .= '<input type="hidden" id="'.$htmlname.'_section_id" name="section_id" value="'.$sectionid.'">';
|
||||||
$out .= '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
$out .= '<input type="hidden" name="sortfield" value="'.GETPOST('sortfield', 'alpha').'">';
|
||||||
|
$out .= '<input type="hidden" name="sortorder" value="'.GETPOST('sortorder', 'aZ09').'">';
|
||||||
}
|
}
|
||||||
|
|
||||||
$out .= '<table width="100%" class="nobordernopadding">';
|
$out .= '<table width="100%" class="nobordernopadding">';
|
||||||
|
|||||||
@@ -3055,30 +3055,35 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
//if (in_array($picto, array('switch_off', 'switch_on', 'off', 'on')))
|
//if (in_array($picto, array('switch_off', 'switch_on', 'off', 'on')))
|
||||||
if (empty($srconly) && in_array($pictowithouttext, array(
|
if (empty($srconly) && in_array($pictowithouttext, array(
|
||||||
'1downarrow', '1uparrow', '1leftarrow', '1rightarrow', '1uparrow_selected', '1downarrow_selected', '1leftarrow_selected', '1rightarrow_selected',
|
'1downarrow', '1uparrow', '1leftarrow', '1rightarrow', '1uparrow_selected', '1downarrow_selected', '1leftarrow_selected', '1rightarrow_selected',
|
||||||
'address', 'bank', 'building', 'cash-register', 'close_title', 'cubes', 'delete', 'edit', 'ellipsis-h', 'bookmark', 'filter', 'grip', 'grip_title', 'list', 'listlight', 'note',
|
'address', 'bank', 'building', 'cash-register', 'close_title', 'cubes', 'delete', 'dolly', 'edit', 'ellipsis-h', 'bookmark', 'filter', 'grip', 'grip_title', 'list', 'listlight', 'note',
|
||||||
'object_list','object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser',
|
'object_list','object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser',
|
||||||
'off', 'on', 'play', 'playdisabled', 'printer', 'resize',
|
'off', 'on', 'play', 'playdisabled', 'printer', 'resize',
|
||||||
'note', 'setup', 'sign-out', 'split', 'switch_off', 'switch_on', 'tools', 'unlink', 'uparrow', 'user', 'wrench',
|
'note', 'setup', 'sign-out', 'split', 'switch_off', 'switch_on', 'tools', 'unlink', 'uparrow', 'user', 'wrench',
|
||||||
'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g','whatsapp',
|
'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g','whatsapp',
|
||||||
'chevron-left','chevron-right','chevron-down','chevron-top',
|
'chevron-left','chevron-right','chevron-down','chevron-top',
|
||||||
'home', 'companies', 'products', 'commercial', 'invoicing', 'accountancy', 'project', 'hrm', 'members', 'ticket', 'generic',
|
'home', 'companies', 'products', 'commercial', 'invoicing', 'accountancy', 'project', 'hrm', 'members', 'ticket', 'generic',
|
||||||
|
'error','warning',
|
||||||
'title_setup', 'title_accountancy', 'title_bank', 'title_hrm', 'title_agenda'
|
'title_setup', 'title_accountancy', 'title_bank', 'title_hrm', 'title_agenda'
|
||||||
)
|
)
|
||||||
)) {
|
)) {
|
||||||
$fa='fas';
|
$fa='fas';
|
||||||
$fakey = $pictowithouttext;
|
$fakey = $pictowithouttext;
|
||||||
$facolor = ''; $fasize = '';
|
$facolor = ''; $fasize = '';
|
||||||
|
|
||||||
$arrayconvpictotofa = array(
|
$arrayconvpictotofa = array(
|
||||||
'address'=> 'address-book', 'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins', 'accountancy'=>'money-check-alt', 'project'=>'sitemap',
|
'address'=> 'address-book', 'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins', 'accountancy'=>'money-check-alt', 'project'=>'sitemap',
|
||||||
'hrm'=>'umbrella-beach', 'members'=>'users', 'ticket'=>'ticket-alt', 'generic'=>'folder-open',
|
'hrm'=>'umbrella-beach', 'members'=>'users', 'ticket'=>'ticket-alt', 'generic'=>'folder-open',
|
||||||
'switch_off'=>'toggle-off', 'switch_on'=>'toggle-on', 'bookmark'=>'star',
|
'switch_off'=>'toggle-off', 'switch_on'=>'toggle-on', 'bookmark'=>'star',
|
||||||
'bank'=>'university', 'close_title'=>'window-close', 'delete'=>'trash', 'edit'=>'pencil', 'filter'=>'filter', 'split'=>'code-fork',
|
'bank'=>'university', 'close_title'=>'window-close', 'delete'=>'trash', 'edit'=>'pencil', 'filter'=>'filter', 'split'=>'code-fork',
|
||||||
'object_list'=>'list-alt','object_calendar'=>'calendar-alt', 'object_calendarweek'=>'calendar-week', 'object_calendarmonth'=>'calendar-alt', 'object_calendarday'=>'calendar-day', 'object_calendarperuser'=>'table',
|
'object_list'=>'list-alt','object_calendar'=>'calendar-alt', 'object_calendarweek'=>'calendar-week', 'object_calendarmonth'=>'calendar-alt', 'object_calendarday'=>'calendar-day', 'object_calendarperuser'=>'table',
|
||||||
|
'error'=>'exclamation-triangle', 'warning'=>'exclamation-triangle',
|
||||||
'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach', 'title_agenda'=>'calendar-alt'
|
'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach', 'title_agenda'=>'calendar-alt'
|
||||||
);
|
);
|
||||||
|
if ($pictowithouttext == 'error' || $pictowithouttext == 'warning') {
|
||||||
if ($pictowithouttext == 'switch_off') {
|
$facolor = '';
|
||||||
|
$fakey = 'fa-'.$arrayconvpictotofa[$pictowithouttext];
|
||||||
|
$marginleftonlyshort = 0;
|
||||||
|
$morecss .= ($morecss ? ' ' : '').('picto'.$pictowithouttext);
|
||||||
|
} elseif ($pictowithouttext == 'switch_off') {
|
||||||
$facolor = '#999';
|
$facolor = '#999';
|
||||||
$fasize = '2em';
|
$fasize = '2em';
|
||||||
$fakey = 'fa-'.$arrayconvpictotofa[$pictowithouttext];
|
$fakey = 'fa-'.$arrayconvpictotofa[$pictowithouttext];
|
||||||
@@ -3178,12 +3183,12 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
elseif (! empty($arrayconvpictotofa[$pictowithouttext]))
|
elseif (! empty($arrayconvpictotofa[$pictowithouttext]))
|
||||||
{
|
{
|
||||||
$fakey = 'fa-'.$arrayconvpictotofa[$pictowithouttext];
|
$fakey = 'fa-'.$arrayconvpictotofa[$pictowithouttext];
|
||||||
$facolor = '#444';
|
//$facolor = '#444';
|
||||||
$marginleftonlyshort=0;
|
$marginleftonlyshort=0;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$fakey = 'fa-'.$pictowithouttext;
|
$fakey = 'fa-'.$pictowithouttext;
|
||||||
$facolor = '#444';
|
//$facolor = '#444';
|
||||||
$marginleftonlyshort=0;
|
$marginleftonlyshort=0;
|
||||||
}
|
}
|
||||||
//this snippet only needed since function img_edit accepts only one additional parameter: no separate one for css only.
|
//this snippet only needed since function img_edit accepts only one additional parameter: no separate one for css only.
|
||||||
@@ -3200,7 +3205,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
$moreatt=trim($moreatt);
|
$moreatt=trim($moreatt);
|
||||||
|
|
||||||
$enabledisablehtml = '<span class="' . $fa . ' ' . $fakey . ($marginleftonlyshort ? ($marginleftonlyshort == 1 ? ' marginleftonlyshort' : ' marginleftonly') : '');
|
$enabledisablehtml = '<span class="' . $fa . ' ' . $fakey . ($marginleftonlyshort ? ($marginleftonlyshort == 1 ? ' marginleftonlyshort' : ' marginleftonly') : '');
|
||||||
$enabledisablehtml .= ' valignmiddle' . ($morecss ? ' ' . $morecss : '') . '" style="' . ($fasize ? ('font-size: ' . $fasize . ';') : '') . ($facolor ? (' color: ' . $facolor . ';') : '') . ($morestyle ? ' ' . $morestyle : '') . '"' . (($notitle || empty($titlealt)) ? '' : ' title="' . dol_escape_htmltag($titlealt) . '"') . ($moreatt ? ' ' . $moreatt : '') . '>';
|
$enabledisablehtml .= ($morecss ? ' ' . $morecss : '') . '" style="' . ($fasize ? ('font-size: ' . $fasize . ';') : '') . ($facolor ? (' color: ' . $facolor . ';') : '') . ($morestyle ? ' ' . $morestyle : '') . '"' . (($notitle || empty($titlealt)) ? '' : ' title="' . dol_escape_htmltag($titlealt) . '"') . ($moreatt ? ' ' . $moreatt : '') . '>';
|
||||||
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
|
if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
|
||||||
$enabledisablehtml.= $titlealt;
|
$enabledisablehtml.= $titlealt;
|
||||||
}
|
}
|
||||||
@@ -3536,7 +3541,7 @@ function img_warning($titlealt = 'default', $moreatt = '', $morecss = 'pictowarn
|
|||||||
if ($titlealt == 'default') $titlealt = $langs->trans('Warning');
|
if ($titlealt == 'default') $titlealt = $langs->trans('Warning');
|
||||||
|
|
||||||
//return '<div class="imglatecoin">'.img_picto($titlealt, 'warning_white.png', 'class="pictowarning valignmiddle"'.($moreatt ? ($moreatt == '1' ? ' style="float: right"' : ' '.$moreatt): '')).'</div>';
|
//return '<div class="imglatecoin">'.img_picto($titlealt, 'warning_white.png', 'class="pictowarning valignmiddle"'.($moreatt ? ($moreatt == '1' ? ' style="float: right"' : ' '.$moreatt): '')).'</div>';
|
||||||
return img_picto($titlealt, 'warning.png', 'class="valignmiddle'.($morecss?' '.$morecss:'').'"'.($moreatt ? ($moreatt == '1' ? ' style="float: right"' : ' '.$moreatt): ''));
|
return img_picto($titlealt, 'warning.png', 'class="'.$morecss.'"'.($moreatt ? ($moreatt == '1' ? ' style="float: right"' : ' '.$moreatt): ''));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -527,9 +527,9 @@ function measuring_units_string($unit, $measuring_style = '', $scale = '', $use_
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transform a given unit into the square of that unit, if known
|
* Transform a given unit scale into the square of that unit, if known.
|
||||||
*
|
*
|
||||||
* @param int $unit Unit key (-3,-2,-1,0,98,99...)
|
* @param int $unit Unit scale key (-3,-2,-1,0,98,99...)
|
||||||
* @return int Squared unit key (-6,-4,-2,0,98,99...)
|
* @return int Squared unit key (-6,-4,-2,0,98,99...)
|
||||||
* @see formproduct->selectMeasuringUnits
|
* @see formproduct->selectMeasuringUnits
|
||||||
*/
|
*/
|
||||||
@@ -547,9 +547,9 @@ function measuring_units_squared($unit)
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transform a given unit into the cube of that unit, if known
|
* Transform a given unit scale into the cube of that unit, if known
|
||||||
*
|
*
|
||||||
* @param int $unit Unit key (-3,-2,-1,0,98,99...)
|
* @param int $unit Unit scale key (-3,-2,-1,0,98,99...)
|
||||||
* @return int Cubed unit key (-9,-6,-3,0,88,89...)
|
* @return int Cubed unit key (-9,-6,-3,0,88,89...)
|
||||||
* @see formproduct->selectMeasuringUnits
|
* @see formproduct->selectMeasuringUnits
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -399,7 +399,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false)
|
|||||||
print '<a href="'.$_SERVER["PHP_SELF"].($edit?'?action=edit&theme=':'?theme=').$subdir.(GETPOST('optioncss', 'alpha', 1)?'&optioncss='.GETPOST('optioncss', 'alpha', 1):'').($fuser?'&id='.$fuser->id:'').'" style="font-weight: normal;" alt="'.$langs->trans("Preview").'">';
|
print '<a href="'.$_SERVER["PHP_SELF"].($edit?'?action=edit&theme=':'?theme=').$subdir.(GETPOST('optioncss', 'alpha', 1)?'&optioncss='.GETPOST('optioncss', 'alpha', 1):'').($fuser?'&id='.$fuser->id:'').'" style="font-weight: normal;" alt="'.$langs->trans("Preview").'">';
|
||||||
if ($subdir == $conf->global->MAIN_THEME) $title=$langs->trans("ThemeCurrentlyActive");
|
if ($subdir == $conf->global->MAIN_THEME) $title=$langs->trans("ThemeCurrentlyActive");
|
||||||
else $title=$langs->trans("ShowPreview");
|
else $title=$langs->trans("ShowPreview");
|
||||||
print '<img src="'.$url.'" border="0" width="80" height="60" alt="'.$title.'" title="'.$title.'" style="margin-bottom: 5px;">';
|
print '<img class="shadow" src="'.$url.'" alt="'.$title.'" title="'.$title.'" style="width: 80px; height: 60px; border: none; margin-bottom: 5px;">';
|
||||||
print '</a><br>';
|
print '</a><br>';
|
||||||
if ($subdir == $selected_theme)
|
if ($subdir == $selected_theme)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -232,9 +232,9 @@ class modFacture extends DolibarrModules
|
|||||||
$this->export_fields_array[$r]['f.multicurrency_total_tva'] = 'MulticurrencyAmountVAT';
|
$this->export_fields_array[$r]['f.multicurrency_total_tva'] = 'MulticurrencyAmountVAT';
|
||||||
$this->export_fields_array[$r]['f.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC';
|
$this->export_fields_array[$r]['f.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC';
|
||||||
}
|
}
|
||||||
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS_IN_EXPORT))
|
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS))
|
||||||
{
|
{
|
||||||
$this->export_fields_array[$r]['f.module_source']='POSModule';
|
$this->export_fields_array[$r]['f.module_source']='Module';
|
||||||
$this->export_fields_array[$r]['f.pos_source']='POSTerminal';
|
$this->export_fields_array[$r]['f.pos_source']='POSTerminal';
|
||||||
}
|
}
|
||||||
$this->export_TypeFields_array[$r] = array(
|
$this->export_TypeFields_array[$r] = array(
|
||||||
@@ -248,7 +248,7 @@ class modFacture extends DolibarrModules
|
|||||||
'fd.special_code'=>'Numeric', 'fd.product_type'=>"Numeric", 'fd.fk_product'=>'List:product:label', 'p.ref'=>'Text', 'p.label'=>'Text',
|
'fd.special_code'=>'Numeric', 'fd.product_type'=>"Numeric", 'fd.fk_product'=>'List:product:label', 'p.ref'=>'Text', 'p.label'=>'Text',
|
||||||
'p.accountancy_code_sell'=>'Text'
|
'p.accountancy_code_sell'=>'Text'
|
||||||
);
|
);
|
||||||
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS_IN_EXPORT))
|
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS))
|
||||||
{
|
{
|
||||||
$this->export_TypeFields_array[$r]['f.module_source']='Text';
|
$this->export_TypeFields_array[$r]['f.module_source']='Text';
|
||||||
$this->export_TypeFields_array[$r]['f.pos_source']='Text';
|
$this->export_TypeFields_array[$r]['f.pos_source']='Text';
|
||||||
@@ -314,7 +314,7 @@ class modFacture extends DolibarrModules
|
|||||||
$this->export_fields_array[$r]['f.multicurrency_total_tva'] = 'MulticurrencyAmountVAT';
|
$this->export_fields_array[$r]['f.multicurrency_total_tva'] = 'MulticurrencyAmountVAT';
|
||||||
$this->export_fields_array[$r]['f.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC';
|
$this->export_fields_array[$r]['f.multicurrency_total_ttc'] = 'MulticurrencyAmountTTC';
|
||||||
}
|
}
|
||||||
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS_IN_EXPORT))
|
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS))
|
||||||
{
|
{
|
||||||
$this->export_fields_array[$r]['f.module_source']='POSModule';
|
$this->export_fields_array[$r]['f.module_source']='POSModule';
|
||||||
$this->export_fields_array[$r]['f.pos_source']='POSTerminal';
|
$this->export_fields_array[$r]['f.pos_source']='POSTerminal';
|
||||||
@@ -328,7 +328,7 @@ class modFacture extends DolibarrModules
|
|||||||
'pj.ref'=>'Text', 'p.amount'=>'Numeric', 'pf.amount'=>'Numeric', 'p.rowid'=>'Numeric', 'p.ref'=>'Text', 'p.title'=>'Text', 'p.datep'=>'Date', 'p.num_paiement'=>'Numeric',
|
'pj.ref'=>'Text', 'p.amount'=>'Numeric', 'pf.amount'=>'Numeric', 'p.rowid'=>'Numeric', 'p.ref'=>'Text', 'p.title'=>'Text', 'p.datep'=>'Date', 'p.num_paiement'=>'Numeric',
|
||||||
'p.fk_bank'=>'Numeric', 'p.note'=>'Text', 'pt.code'=>'Text', 'pt.libelle'=>'text', 'ba.ref'=>'Text'
|
'p.fk_bank'=>'Numeric', 'p.note'=>'Text', 'pt.code'=>'Text', 'pt.libelle'=>'text', 'ba.ref'=>'Text'
|
||||||
);
|
);
|
||||||
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS_IN_EXPORT))
|
if (! empty($conf->cashdesk->enabled) || ! empty($conf->takepos->enabled) || ! empty($conf->global->INVOICE_SHOW_POS))
|
||||||
{
|
{
|
||||||
$this->export_fields_array[$r]['f.module_source']='POSModule';
|
$this->export_fields_array[$r]['f.module_source']='POSModule';
|
||||||
$this->export_fields_array[$r]['f.pos_source']='POSTerminal';
|
$this->export_fields_array[$r]['f.pos_source']='POSTerminal';
|
||||||
|
|||||||
@@ -176,9 +176,11 @@ class modProduct extends DolibarrModules
|
|||||||
'p.accountancy_code_sell_export'=>"ProductAccountancySellExportCode", 'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",
|
'p.accountancy_code_sell_export'=>"ProductAccountancySellExportCode", 'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",
|
||||||
'p.note'=>"NotePrivate",'p.note_public'=>'NotePublic',
|
'p.note'=>"NotePrivate",'p.note_public'=>'NotePublic',
|
||||||
'p.weight'=>"Weight",'p.length'=>"Length",'p.width'=>"Width",'p.height'=>"Height",'p.surface'=>"Surface",'p.volume'=>"Volume",
|
'p.weight'=>"Weight",'p.length'=>"Length",'p.width'=>"Width",'p.height'=>"Height",'p.surface'=>"Surface",'p.volume'=>"Volume",
|
||||||
//'p.duration'=>"Duration",
|
'p.duration'=>"Duration",
|
||||||
|
'p.finished' => 'Nature',
|
||||||
'p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",
|
'p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",
|
||||||
'p.tva_tx'=>'VATRate','p.datec'=>'DateCreation','p.tms'=>'DateModification'
|
'p.tva_tx'=>'VATRate',
|
||||||
|
'p.datec'=>'DateCreation','p.tms'=>'DateModification'
|
||||||
);
|
);
|
||||||
if (is_object($mysoc) && $mysoc->useNPR()) $this->export_fields_array[$r]['p.recuperableonly']='NPR';
|
if (is_object($mysoc) && $mysoc->useNPR()) $this->export_fields_array[$r]['p.recuperableonly']='NPR';
|
||||||
if (! empty($conf->fournisseur->enabled) || !empty($conf->margin->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('p.cost_price'=>'CostPrice'));
|
if (! empty($conf->fournisseur->enabled) || !empty($conf->margin->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('p.cost_price'=>'CostPrice'));
|
||||||
@@ -191,13 +193,17 @@ class modProduct extends DolibarrModules
|
|||||||
if (! empty($conf->global->MAIN_MULTILANGS)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('l.lang'=>'Language', 'l.label'=>'TranslatedLabel','l.description'=>'TranslatedDescription','l.note'=>'TranslatedNote'));
|
if (! empty($conf->global->MAIN_MULTILANGS)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('l.lang'=>'Language', 'l.label'=>'TranslatedLabel','l.description'=>'TranslatedDescription','l.note'=>'TranslatedNote'));
|
||||||
if (! empty($conf->global->PRODUCT_USE_UNITS)) $this->export_fields_array[$r]['p.fk_unit'] = 'Unit';
|
if (! empty($conf->global->PRODUCT_USE_UNITS)) $this->export_fields_array[$r]['p.fk_unit'] = 'Unit';
|
||||||
$this->export_TypeFields_array[$r]=array(
|
$this->export_TypeFields_array[$r]=array(
|
||||||
'p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",
|
'p.ref'=>"Text",'p.label'=>"Text",
|
||||||
|
'p.fk_product_type'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",
|
||||||
|
'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",
|
||||||
'p.accountancy_code_sell_intra'=>"Text",'p.accountancy_code_sell_export'=>"Text",'p.accountancy_code_buy'=>"Text",
|
'p.accountancy_code_sell_intra'=>"Text",'p.accountancy_code_sell_export'=>"Text",'p.accountancy_code_buy'=>"Text",
|
||||||
'p.note'=>"Text",'p.note_public'=>"Text",
|
'p.note'=>"Text",'p.note_public'=>"Text",
|
||||||
'p.weight'=>"Numeric",'p.length'=>"Numeric",'p.width'=>"Numeric",'p.height'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",
|
'p.weight'=>"Numeric",'p.length'=>"Numeric",'p.width'=>"Numeric",'p.height'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",
|
||||||
'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",
|
'p.customcode'=>'Text',
|
||||||
'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date'
|
'p.duration'=>"Text",
|
||||||
//'p.duration'=>"Duree",
|
'p.finished' => 'Numeric',
|
||||||
|
'p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric',
|
||||||
|
'p.datec'=>'Date','p.tms'=>'Date'
|
||||||
);
|
);
|
||||||
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.stock'=>'Numeric','p.seuil_stock_alerte'=>'Numeric','p.desiredstock'=>'Numeric','p.pmp'=>'Numeric','p.cost_price'=>'Numeric'));
|
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.stock'=>'Numeric','p.seuil_stock_alerte'=>'Numeric','p.desiredstock'=>'Numeric','p.pmp'=>'Numeric','p.cost_price'=>'Numeric'));
|
||||||
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.barcode'=>'Text'));
|
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.barcode'=>'Text'));
|
||||||
@@ -552,6 +558,7 @@ class modProduct extends DolibarrModules
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (! is_array($this->import_convertvalue_array[$r])) $this->import_convertvalue_array[$r] = array();
|
||||||
$this->import_convertvalue_array[$r] = array_merge($this->import_convertvalue_array[$r], array(
|
$this->import_convertvalue_array[$r] = array_merge($this->import_convertvalue_array[$r], array(
|
||||||
'p.fk_unit' => array(
|
'p.fk_unit' => array(
|
||||||
'rule' => 'fetchidfromcodeorlabel',
|
'rule' => 'fetchidfromcodeorlabel',
|
||||||
|
|||||||
@@ -149,10 +149,12 @@ class modService extends DolibarrModules
|
|||||||
'p.accountancy_code_sell'=>"ProductAccountancySellCode", 'p.accountancy_code_sell_intra'=>"ProductAccountancySellIntraCode",
|
'p.accountancy_code_sell'=>"ProductAccountancySellCode", 'p.accountancy_code_sell_intra'=>"ProductAccountancySellIntraCode",
|
||||||
'p.accountancy_code_sell_export'=>"ProductAccountancySellExportCode", 'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",
|
'p.accountancy_code_sell_export'=>"ProductAccountancySellExportCode", 'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",
|
||||||
'p.note'=>"NotePrivate",'p.note_public'=>'NotePublic',
|
'p.note'=>"NotePrivate",'p.note_public'=>'NotePublic',
|
||||||
//'p.weight'=>"Weight",'p.length'=>"Length",'p.width'=>"Width",'p.height'=>"Height",'p.surface'=>"Surface",'p.volume'=>"Volume",
|
'p.weight'=>"Weight",'p.length'=>"Length",'p.width'=>"Width",'p.height'=>"Height",'p.surface'=>"Surface",'p.volume'=>"Volume",
|
||||||
'p.duration'=>"Duration",
|
'p.duration'=>"Duration",
|
||||||
|
'p.finished' => 'Nature',
|
||||||
'p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",
|
'p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",
|
||||||
'p.tva_tx'=>'VATRate','p.datec'=>'DateCreation','p.tms'=>'DateModification'
|
'p.tva_tx'=>'VATRate',
|
||||||
|
'p.datec'=>'DateCreation','p.tms'=>'DateModification'
|
||||||
);
|
);
|
||||||
if (is_object($mysoc) && $mysoc->useNPR()) $this->export_fields_array[$r]['p.recuperableonly']='NPR';
|
if (is_object($mysoc) && $mysoc->useNPR()) $this->export_fields_array[$r]['p.recuperableonly']='NPR';
|
||||||
if (! empty($conf->fournisseur->enabled) || !empty($conf->margin->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('p.cost_price'=>'CostPrice'));
|
if (! empty($conf->fournisseur->enabled) || !empty($conf->margin->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('p.cost_price'=>'CostPrice'));
|
||||||
@@ -165,13 +167,17 @@ class modService extends DolibarrModules
|
|||||||
if (! empty($conf->global->MAIN_MULTILANGS)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('l.lang'=>'Language', 'l.label'=>'TranslatedLabel','l.description'=>'TranslatedDescription','l.note'=>'TranslatedNote'));
|
if (! empty($conf->global->MAIN_MULTILANGS)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r], array('l.lang'=>'Language', 'l.label'=>'TranslatedLabel','l.description'=>'TranslatedDescription','l.note'=>'TranslatedNote'));
|
||||||
if (! empty($conf->global->PRODUCT_USE_UNITS)) $this->export_fields_array[$r]['p.fk_unit'] = 'Unit';
|
if (! empty($conf->global->PRODUCT_USE_UNITS)) $this->export_fields_array[$r]['p.fk_unit'] = 'Unit';
|
||||||
$this->export_TypeFields_array[$r]=array(
|
$this->export_TypeFields_array[$r]=array(
|
||||||
'p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",
|
'p.ref'=>"Text",'p.label'=>"Text",
|
||||||
|
'p.fk_product_type'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",
|
||||||
|
'p.description'=>"Text",'p.url'=>"Text",'p.accountancy_code_sell'=>"Text",
|
||||||
'p.accountancy_code_sell_intra'=>"Text",'p.accountancy_code_sell_export'=>"Text",'p.accountancy_code_buy'=>"Text",
|
'p.accountancy_code_sell_intra'=>"Text",'p.accountancy_code_sell_export'=>"Text",'p.accountancy_code_buy'=>"Text",
|
||||||
'p.note'=>"Text",'p.note_public'=>"Text",
|
'p.note'=>"Text",'p.note_public'=>"Text",
|
||||||
'p.weight'=>"Numeric",'p.length'=>"Numeric",'p.width'=>"Numeric",'p.height'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",
|
'p.weight'=>"Numeric",'p.length'=>"Numeric",'p.width'=>"Numeric",'p.height'=>"Numeric",'p.surface'=>"Numeric",'p.volume'=>"Numeric",
|
||||||
'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",
|
'p.customcode'=>'Text',
|
||||||
'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date',
|
'p.duration'=>"Text",
|
||||||
'p.duration'=>"Duree",
|
'p.finished' => 'Numeric',
|
||||||
|
'p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric',
|
||||||
|
'p.datec'=>'Date','p.tms'=>'Date'
|
||||||
);
|
);
|
||||||
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.stock'=>'Numeric','p.seuil_stock_alerte'=>'Numeric','p.desiredstock'=>'Numeric','p.pmp'=>'Numeric','p.cost_price'=>'Numeric'));
|
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.stock'=>'Numeric','p.seuil_stock_alerte'=>'Numeric','p.desiredstock'=>'Numeric','p.pmp'=>'Numeric','p.cost_price'=>'Numeric'));
|
||||||
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.barcode'=>'Text'));
|
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r], array('p.barcode'=>'Text'));
|
||||||
@@ -527,6 +533,7 @@ class modService extends DolibarrModules
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (! is_array($this->import_convertvalue_array[$r])) $this->import_convertvalue_array[$r] = array();
|
||||||
$this->import_convertvalue_array[$r] = array_merge($this->import_convertvalue_array[$r], array(
|
$this->import_convertvalue_array[$r] = array_merge($this->import_convertvalue_array[$r], array(
|
||||||
'p.fk_unit' => array(
|
'p.fk_unit' => array(
|
||||||
'rule' => 'fetchidfromcodeorlabel',
|
'rule' => 'fetchidfromcodeorlabel',
|
||||||
|
|||||||
@@ -187,31 +187,31 @@ class modGeneratePassPerso extends ModeleGenPassword
|
|||||||
$spe = str_split($this->Spe);
|
$spe = str_split($this->Spe);
|
||||||
|
|
||||||
if (count(array_intersect($password_a, $maj)) < $this->NbMaj) {
|
if (count(array_intersect($password_a, $maj)) < $this->NbMaj) {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count(array_intersect($password_a, $num)) < $this->NbNum) {
|
if (count(array_intersect($password_a, $num)) < $this->NbNum) {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count(array_intersect($password_a, $spe)) < $this->NbSpe) {
|
if (count(array_intersect($password_a, $spe)) < $this->NbSpe) {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->consecutiveInterationSameCharacter($password)) {
|
if (!$this->consecutiveInterationSameCharacter($password)) {
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Consecutive iterations of the same character
|
* Check the consecutive iterations of the same character. Return false if the number doesn't match the maximum consecutive value allowed.
|
||||||
*
|
*
|
||||||
* @param string $password Password to check
|
* @param string $password Password to check
|
||||||
* @return int 0 if KO, >0 if OK
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function consecutiveInterationSameCharacter($password)
|
private function consecutiveInterationSameCharacter($password)
|
||||||
{
|
{
|
||||||
$last = "";
|
$last = "";
|
||||||
|
|
||||||
@@ -224,14 +224,16 @@ class modGeneratePassPerso extends ModeleGenPassword
|
|||||||
if($c != $last) {
|
if($c != $last) {
|
||||||
$last = $c;
|
$last = $c;
|
||||||
$count = 0;
|
$count = 0;
|
||||||
} else {
|
|
||||||
$count++;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($count >= $this->NbRepeat) {
|
$count++;
|
||||||
return 0;
|
if ($count > $this->NbRepeat) {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -484,13 +484,13 @@ $help_url='';
|
|||||||
|
|
||||||
$sql = 'SELECT';
|
$sql = 'SELECT';
|
||||||
if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT';
|
if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT';
|
||||||
$sql.= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client,';
|
$sql.= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, s.email,';
|
||||||
$sql.= " typent.code as typent_code,";
|
$sql.= " typent.code as typent_code,";
|
||||||
$sql.= " state.code_departement as state_code, state.nom as state_name,";
|
$sql.= " state.code_departement as state_code, state.nom as state_name,";
|
||||||
$sql.= " cf.rowid, cf.ref, cf.ref_supplier, cf.fk_statut, cf.billed, cf.total_ht, cf.tva as total_tva, cf.total_ttc, cf.fk_user_author, cf.date_commande as date_commande, cf.date_livraison as date_delivery,";
|
$sql.= " cf.rowid, cf.ref, cf.ref_supplier, cf.fk_statut, cf.billed, cf.total_ht, cf.tva as total_tva, cf.total_ttc, cf.fk_user_author, cf.date_commande as date_commande, cf.date_livraison as date_delivery,";
|
||||||
$sql.= ' cf.date_creation as date_creation, cf.tms as date_update,';
|
$sql.= ' cf.date_creation as date_creation, cf.tms as date_update,';
|
||||||
$sql.= " p.rowid as project_id, p.ref as project_ref, p.title as project_title,";
|
$sql.= " p.rowid as project_id, p.ref as project_ref, p.title as project_title,";
|
||||||
$sql.= " u.firstname, u.lastname, u.photo, u.login";
|
$sql.= " u.firstname, u.lastname, u.photo, u.login, u.email as user_email";
|
||||||
// Add fields from extrafields
|
// Add fields from extrafields
|
||||||
foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : '');
|
foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : '');
|
||||||
// Add fields from hooks
|
// Add fields from hooks
|
||||||
@@ -946,20 +946,12 @@ if ($resql)
|
|||||||
{
|
{
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
|
|
||||||
print '<table class="nobordernopadding"><tr class="nocellnopadd">';
|
|
||||||
// Picto + Ref
|
// Picto + Ref
|
||||||
print '<td class="nobordernopadding nowrap">';
|
|
||||||
print $objectstatic->getNomUrl(1);
|
print $objectstatic->getNomUrl(1);
|
||||||
print '</td>';
|
|
||||||
// Warning
|
|
||||||
//print '<td style="min-width: 20px" class="nobordernopadding nowrap">';
|
|
||||||
//print '</td>';
|
|
||||||
// Other picto tool
|
// Other picto tool
|
||||||
print '<td width="16" class="right nobordernopadding hideonsmartphone">';
|
|
||||||
$filename=dol_sanitizeFileName($obj->ref);
|
$filename=dol_sanitizeFileName($obj->ref);
|
||||||
$filedir=$conf->fournisseur->commande->dir_output.'/' . dol_sanitizeFileName($obj->ref);
|
$filedir=$conf->fournisseur->commande->dir_output.'/' . dol_sanitizeFileName($obj->ref);
|
||||||
print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
|
print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir);
|
||||||
print '</td></tr></table>';
|
|
||||||
|
|
||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
@@ -987,20 +979,21 @@ if ($resql)
|
|||||||
$userstatic->firstname = $obj->firstname;
|
$userstatic->firstname = $obj->firstname;
|
||||||
$userstatic->login = $obj->login;
|
$userstatic->login = $obj->login;
|
||||||
$userstatic->photo = $obj->photo;
|
$userstatic->photo = $obj->photo;
|
||||||
|
$userstatic->email = $obj->user_email;
|
||||||
if (! empty($arrayfields['u.login']['checked']))
|
if (! empty($arrayfields['u.login']['checked']))
|
||||||
{
|
{
|
||||||
print "<td>";
|
print '<td class="tdoverflowmax150">';
|
||||||
if ($userstatic->id) print $userstatic->getNomUrl(1);
|
if ($userstatic->id) print $userstatic->getNomUrl(1);
|
||||||
else print " ";
|
|
||||||
print "</td>";
|
print "</td>";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
// Thirdparty
|
// Thirdparty
|
||||||
if (! empty($arrayfields['s.nom']['checked']))
|
if (! empty($arrayfields['s.nom']['checked']))
|
||||||
{
|
{
|
||||||
print '<td>';
|
print '<td class="tdoverflowmax150">';
|
||||||
$thirdpartytmp->id = $obj->socid;
|
$thirdpartytmp->id = $obj->socid;
|
||||||
$thirdpartytmp->name = $obj->name;
|
$thirdpartytmp->name = $obj->name;
|
||||||
|
$thirdpartytmp->email = $obj->email;
|
||||||
print $thirdpartytmp->getNomUrl(1, 'supplier');
|
print $thirdpartytmp->getNomUrl(1, 'supplier');
|
||||||
print '</td>'."\n";
|
print '</td>'."\n";
|
||||||
if (! $i) $totalarray['nbfield']++;
|
if (! $i) $totalarray['nbfield']++;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -37,7 +37,7 @@ currencySymbol = kr
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NUL!
|
NULL = #NUL!
|
||||||
DIV0 = #DIVISION/0!
|
DIV0 = #DIVISION/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = €
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NULL!
|
NULL = #NULL!
|
||||||
DIV0 = #DIV/0!
|
DIV0 = #DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = $ ## I'm surprised that the Excel Documentation suggests $ rath
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #¡NULO!
|
NULL = #¡NULO!
|
||||||
DIV0 = #¡DIV/0!
|
DIV0 = #¡DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = $ # Symbol not known, should it be a € (Euro)?
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #TYHJÄ!
|
NULL = #TYHJÄ!
|
||||||
DIV0 = #JAKO/0!
|
DIV0 = #JAKO/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = €
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NUL!
|
NULL = #NUL!
|
||||||
DIV0 = #DIV/0!
|
DIV0 = #DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = €
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NULLO!
|
NULL = #NULLO!
|
||||||
DIV0 = #DIV/0!
|
DIV0 = #DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = €
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #LEEG!
|
NULL = #LEEG!
|
||||||
DIV0 = #DEEL/0!
|
DIV0 = #DEEL/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = kr
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NULL!
|
NULL = #NULL!
|
||||||
DIV0 = #DIV/0!
|
DIV0 = #DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = zł
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #ZERO!
|
NULL = #ZERO!
|
||||||
DIV0 = #DZIEL/0!
|
DIV0 = #DZIEL/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = R$
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NULO!
|
NULL = #NULO!
|
||||||
DIV0 = #DIV/0!
|
DIV0 = #DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = €
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #NULO!
|
NULL = #NULO!
|
||||||
DIV0 = #DIV/0!
|
DIV0 = #DIV/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = р
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #ПУСТО!
|
NULL = #ПУСТО!
|
||||||
DIV0 = #ДЕЛ/0!
|
DIV0 = #ДЕЛ/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = kr
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #Skärning!
|
NULL = #Skärning!
|
||||||
DIV0 = #Division/0!
|
DIV0 = #Division/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
@@ -36,7 +36,7 @@ currencySymbol = YTL
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Excel Error Codes (For future use)
|
## Excel Error Codes (For future use)
|
||||||
##
|
##
|
||||||
NULL = #BOŞ!
|
NULL = #BOŞ!
|
||||||
DIV0 = #SAYI/0!
|
DIV0 = #SAYI/0!
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
##
|
##
|
||||||
## PHPExcel
|
## PHPExcel
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Copyright (c) 2006 - 2013 PHPExcel
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
## This library is free software; you can redistribute it and/or
|
||||||
|
|||||||
BIN
htdocs/install/doctemplates/adherent/1/photos/person5.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
BIN
htdocs/install/doctemplates/adherent/2/photos/pierrecurie.jpg
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
BIN
htdocs/install/doctemplates/adherent/3/photos/person9.jpeg
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
BIN
htdocs/install/doctemplates/adherent/4/photos/person2.jpeg
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
@@ -16,6 +16,7 @@ MarginDetails=Margin details
|
|||||||
ProductMargins=Product margins
|
ProductMargins=Product margins
|
||||||
CustomerMargins=Customer margins
|
CustomerMargins=Customer margins
|
||||||
SalesRepresentativeMargins=Sales representative margins
|
SalesRepresentativeMargins=Sales representative margins
|
||||||
|
ContactOfInvoice=Contact of invoice
|
||||||
UserMargins=User margins
|
UserMargins=User margins
|
||||||
ProductService=Product or Service
|
ProductService=Product or Service
|
||||||
AllProducts=All products and services
|
AllProducts=All products and services
|
||||||
@@ -36,7 +37,7 @@ CostPrice=Cost price
|
|||||||
UnitCharges=Unit charges
|
UnitCharges=Unit charges
|
||||||
Charges=Charges
|
Charges=Charges
|
||||||
AgentContactType=Commercial agent contact type
|
AgentContactType=Commercial agent contact type
|
||||||
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.
|
AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per contact/address. Note that reading statistics on 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
|
rateMustBeNumeric=Rate must be a numeric value
|
||||||
markRateShouldBeLesserThan100=Mark rate should be lower than 100
|
markRateShouldBeLesserThan100=Mark rate should be lower than 100
|
||||||
ShowMarginInfos=Show margin infos
|
ShowMarginInfos=Show margin infos
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ dol_fiche_head($head, 'agentMargins', $titre, 0, $picto);
|
|||||||
|
|
||||||
print '<table class="border" width="100%">';
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('SalesRepresentative').'</td>';
|
print '<tr><td class="titlefield">'.$langs->trans('ContactOfInvoice').'</td>';
|
||||||
print '<td class="maxwidthonsmartphone" colspan="4">';
|
print '<td class="maxwidthonsmartphone" colspan="4">';
|
||||||
print $form->select_dolusers($agentid, 'agentid', 1, '', $user->rights->margins->read->all ? 0 : 1, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
|
print $form->select_dolusers($agentid, 'agentid', 1, '', $user->rights->margins->read->all ? 0 : 1, '', '', 0, 0, 0, '', 0, '', 'maxwidth300');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@@ -1243,7 +1243,7 @@ $text=$langs->trans("ModuleBuilder");
|
|||||||
|
|
||||||
print load_fiche_titre($text, '', 'title_setup');
|
print load_fiche_titre($text, '', 'title_setup');
|
||||||
|
|
||||||
print '<span class="opacitymedium">'.$langs->trans("ModuleBuilderDesc", 'https://wiki.dolibarr.org/index.php/Module_development#Create_your_module').'</span><br>';
|
print '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModuleBuilderDesc", 'https://wiki.dolibarr.org/index.php/Module_development#Create_your_module').'</span><br>';
|
||||||
|
|
||||||
$dirsrootforscan=array($dirread);
|
$dirsrootforscan=array($dirread);
|
||||||
// Add also the core modules into the list of modules to show/edit
|
// Add also the core modules into the list of modules to show/edit
|
||||||
@@ -1309,7 +1309,7 @@ foreach($dirsrootforscan as $dirread)
|
|||||||
if (empty($newdircustom)) $newdircustom=img_warning();
|
if (empty($newdircustom)) $newdircustom=img_warning();
|
||||||
// If dirread was forced to somewhere else, by using URL
|
// If dirread was forced to somewhere else, by using URL
|
||||||
// htdocs/modulebuilder/index.php?module=Inventory@/home/ldestailleur/git/dolibarr/htdocs/product
|
// htdocs/modulebuilder/index.php?module=Inventory@/home/ldestailleur/git/dolibarr/htdocs/product
|
||||||
print $langs->trans("DirScanned").' : <strong>'.$dirread.'</strong><br>';
|
print $langs->trans("DirScanned").' : <strong class="wordbreakimp">'.$dirread.'</strong><br>';
|
||||||
}
|
}
|
||||||
//var_dump($listofmodules);
|
//var_dump($listofmodules);
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ foreach($linkedObjectBlock as $key => $objectlink)
|
|||||||
<td class="linkedcol-element"><?php echo $langs->trans("Reception"); ?>
|
<td class="linkedcol-element"><?php echo $langs->trans("Reception"); ?>
|
||||||
<?php if(!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a'; ?>
|
<?php if(!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a'; ?>
|
||||||
</td>
|
</td>
|
||||||
<td class="linkedcol-name" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
<td class="linkedcol-name nowraponall" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||||
<td class="linkedcol-ref" align="center"></td>
|
<td class="linkedcol-ref" align="center"></td>
|
||||||
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->date_delivery, 'day'); ?></td>
|
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->date_delivery, 'day'); ?></td>
|
||||||
<td class="linkedcol-amount right"><?php
|
<td class="linkedcol-amount right"><?php
|
||||||
|
|||||||
@@ -165,14 +165,14 @@ print "</td></tr>\n";
|
|||||||
|
|
||||||
// Use Takepos printing
|
// Use Takepos printing
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("DolibarrReceiptPrinter").' (<a href="http://en.takepos.com/connector">'.$langs->trans("TakeposConnectorNecesary").'</a>)';
|
print $langs->trans("DolibarrReceiptPrinter").' (<a href="http://en.takepos.com/connector" target="_blank">'.$langs->trans("TakeposConnectorNecesary").'</a>)';
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print $form->selectyesno("TAKEPOSCONNECTOR", $conf->global->TAKEPOSCONNECTOR, 1);
|
print $form->selectyesno("TAKEPOSCONNECTOR", $conf->global->TAKEPOSCONNECTOR, 1);
|
||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
if ($conf->global->TAKEPOSCONNECTOR){
|
if ($conf->global->TAKEPOSCONNECTOR) {
|
||||||
print '<tr class="oddeven value"><td>';
|
print '<tr class="oddeven value"><td>';
|
||||||
print $langs->trans("IPAddress").' (<a href="http://en.takepos.com/connector">'.$langs->trans("TakeposConnectorNecesary").'</a>)';
|
print $langs->trans("IPAddress").' (<a href="http://en.takepos.com/connector" target="_blank">'.$langs->trans("TakeposConnectorNecesary").'</a>)';
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print '<input type="text" size="20" id="TAKEPOS_PRINT_SERVER" name="TAKEPOS_PRINT_SERVER" value="'.$conf->global->TAKEPOS_PRINT_SERVER.'">';
|
print '<input type="text" size="20" id="TAKEPOS_PRINT_SERVER" name="TAKEPOS_PRINT_SERVER" value="'.$conf->global->TAKEPOS_PRINT_SERVER.'">';
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
@@ -189,7 +189,7 @@ print "</td></tr>\n";
|
|||||||
|
|
||||||
if ($conf->global->TAKEPOS_BAR_RESTAURANT && $conf->global->TAKEPOSCONNECTOR){
|
if ($conf->global->TAKEPOS_BAR_RESTAURANT && $conf->global->TAKEPOSCONNECTOR){
|
||||||
print '<tr class="oddeven value"><td>';
|
print '<tr class="oddeven value"><td>';
|
||||||
print $langs->trans("OrderPrinters").' (<a href="orderprinters.php?leftmenu=setup">'.$langs->trans("Setup").'</a>)';
|
print $langs->trans("OrderPrinters").' (<a href="'.DOL_URL_ROOT.'/takepos/admin/orderprinters.php?leftmenu=setup">'.$langs->trans("Setup").'</a>)';
|
||||||
print '<td colspan="2">';
|
print '<td colspan="2">';
|
||||||
print $form->selectyesno("TAKEPOS_ORDER_PRINTERS", $conf->global->TAKEPOS_ORDER_PRINTERS, 1);
|
print $form->selectyesno("TAKEPOS_ORDER_PRINTERS", $conf->global->TAKEPOS_ORDER_PRINTERS, 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@@ -742,39 +742,39 @@ if ($invoice->socid != $conf->global->{'CASHDESK_ID_THIRDPARTY'.$_SESSION["takep
|
|||||||
}
|
}
|
||||||
print '</p>';
|
print '</p>';
|
||||||
|
|
||||||
// Module Adherent
|
// Module Adherent
|
||||||
if (! empty($conf->adherent->enabled))
|
if (! empty($conf->adherent->enabled))
|
||||||
|
{
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||||
|
$langs->load("members");
|
||||||
|
print '<p style="font-size:120%;" class="right">';
|
||||||
|
print $langs->trans("Member").': ';
|
||||||
|
$adh=new Adherent($db);
|
||||||
|
$result=$adh->fetch('', '', $invoice->socid);
|
||||||
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
$adh->ref=$adh->getFullName($langs);
|
||||||
$langs->load("members");
|
print $adh->getFullName($langs);
|
||||||
print '<p style="font-size:120%;" class="right">';
|
print '<br>'.$langs->trans("Type").': '.$adh->type;
|
||||||
print $langs->trans("Member").': ';
|
if ($adh->datefin)
|
||||||
$adh=new Adherent($db);
|
|
||||||
$result=$adh->fetch('', '', $invoice->socid);
|
|
||||||
if ($result > 0)
|
|
||||||
{
|
{
|
||||||
$adh->ref=$adh->getFullName($langs);
|
print '<br>'.$langs->trans("SubscriptionEndDate").': '.dol_print_date($adh->datefin, 'day');
|
||||||
print $adh->getFullName($langs);
|
if ($adh->hasDelay()) {
|
||||||
print '<br>'.$langs->trans("Type").': '.$adh->type;
|
print " ".img_warning($langs->trans("Late"));
|
||||||
if ($adh->datefin)
|
}
|
||||||
{
|
}
|
||||||
print '<br>'.$langs->trans("SubscriptionEndDate").': '.dol_print_date($adh->datefin, 'day');
|
else
|
||||||
if ($adh->hasDelay()) {
|
{
|
||||||
print " ".img_warning($langs->trans("Late"));
|
print '<br>'.$langs->trans("SubscriptionNotReceived");
|
||||||
|
if ($adh->statut > 0) print " ".img_warning($langs->trans("Late")); // displays delay Pictogram only if not a draft and not terminated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print $langs->trans("SubscriptionNotReceived");
|
print '<span class="opacitymedium">'.$langs->trans("ThirdpartyNotLinkedToMember").'</span>';
|
||||||
if ($adh->statut > 0) print " ".img_warning($langs->trans("Late")); // displays delay Pictogram only if not a draft and not terminated
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print '<span class="opacitymedium">'.$langs->trans("ThirdpartyNotLinkedToMember").'</span>';
|
|
||||||
}
|
|
||||||
print '</p>';
|
|
||||||
}
|
}
|
||||||
|
print '</p>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == "search")
|
if ($action == "search")
|
||||||
|
|||||||
@@ -111,6 +111,13 @@ if (! defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
|||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div#topmenu-global-search-dropdown, div#topmenu-bookmark-dropdown {
|
||||||
|
line-height: 46px;
|
||||||
|
}
|
||||||
|
a.top-menu-dropdown-link {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.dropdown-user-image {
|
.dropdown-user-image {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|||||||
@@ -1039,15 +1039,21 @@ td.showDragHandle {
|
|||||||
}
|
}
|
||||||
#id-right, #id-left {
|
#id-right, #id-left {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
padding-bottom: 20px;
|
|
||||||
|
|
||||||
display: table-cell; /* DOL_XXX Empeche fonctionnement correct du scroll horizontal sur tableau, avec datatable ou CSS */
|
display: table-cell; /* DOL_XXX Empeche fonctionnement correct du scroll horizontal sur tableau, avec datatable ou CSS */
|
||||||
float: none;
|
float: none;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
#id-left {
|
||||||
|
padding-bottom: 5px;
|
||||||
|
<?php if (! empty($conf->global->MAIN_USE_TOP_MENU_SEARCH_DROPDOWN) && ! empty($conf->global->MAIN_USE_TOP_MENU_BOOKMARK_DROPDOWN)) { ?>
|
||||||
|
padding-top: 8px;
|
||||||
|
<?php } ?>
|
||||||
|
}
|
||||||
#id-right { /* This must stay id-right and not be replaced with echo $right */
|
#id-right { /* This must stay id-right and not be replaced with echo $right */
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: rgb(<?php print $colorbackbody; ?>);
|
background: rgb(<?php print $colorbackbody; ?>);
|
||||||
|
padding-bottom: 20px;
|
||||||
}
|
}
|
||||||
#id-left {
|
#id-left {
|
||||||
/* background-color: #fff;
|
/* background-color: #fff;
|
||||||
@@ -1130,7 +1136,7 @@ div.vmenu, td.vmenu {
|
|||||||
}
|
}
|
||||||
.blockvmenu .menu_titre {
|
.blockvmenu .menu_titre {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
margin-bottom: 3px;
|
margin-bottom: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try responsive even not on smartphone
|
/* Try responsive even not on smartphone
|
||||||
@@ -1343,7 +1349,8 @@ div.nopadding {
|
|||||||
padding-<?php echo $left; ?>: 3px;
|
padding-<?php echo $left; ?>: 3px;
|
||||||
}
|
}
|
||||||
.pictowarning {
|
.pictowarning {
|
||||||
vertical-align: text-bottom;
|
/* vertical-align: text-bottom; */
|
||||||
|
color: #9f4705;
|
||||||
}
|
}
|
||||||
.pictomodule {
|
.pictomodule {
|
||||||
width: 14px;
|
width: 14px;
|
||||||
@@ -2183,8 +2190,8 @@ div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks, div.blockvmen
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-right: 1px;
|
padding-right: 1px;
|
||||||
padding-top: 3px;
|
padding-top: 4px;
|
||||||
padding-bottom: 3px;
|
padding-bottom: 7px;
|
||||||
margin: 0 0 0 2px;
|
margin: 0 0 0 2px;
|
||||||
|
|
||||||
background: rgb(<?php echo $colorbackvmenu1; ?>);
|
background: rgb(<?php echo $colorbackvmenu1; ?>);
|
||||||
@@ -2935,7 +2942,9 @@ td.evenodd, tr.nohoverpair td, #trlinefordates td {
|
|||||||
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
|
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
|
||||||
}
|
}
|
||||||
.trforbreak td {
|
.trforbreak td {
|
||||||
background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinebreak)); ?> !important;
|
font-weight: bold;
|
||||||
|
border-bottom: 1pt solid black !important;
|
||||||
|
/* background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinebreak)); ?> !important; */
|
||||||
}
|
}
|
||||||
|
|
||||||
table.dataTable td {
|
table.dataTable td {
|
||||||
@@ -3423,6 +3432,7 @@ img.boxhandle, img.boxclose {
|
|||||||
.ok { color: #114466; }
|
.ok { color: #114466; }
|
||||||
.warning { color: #887711 !important; }
|
.warning { color: #887711 !important; }
|
||||||
.error { color: #550000 !important; font-weight: bold; }
|
.error { color: #550000 !important; font-weight: bold; }
|
||||||
|
.green { color: #118822; }
|
||||||
|
|
||||||
div.ok {
|
div.ok {
|
||||||
color: #114466;
|
color: #114466;
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ $colorbackbody='255,255,255';
|
|||||||
$colortexttitlenotab='110,80,20';
|
$colortexttitlenotab='110,80,20';
|
||||||
$colortexttitle='0,0,0';
|
$colortexttitle='0,0,0';
|
||||||
$colortext='0,0,0';
|
$colortext='0,0,0';
|
||||||
$colortextlink='10, 10, 100';
|
$colortextlink='10, 20, 120';
|
||||||
$fontsize='0.86em';
|
$fontsize='0.86em';
|
||||||
$fontsizesmaller='0.75em';
|
$fontsizesmaller='0.75em';
|
||||||
$topMenuFontSize='1.2em';
|
$topMenuFontSize='1.2em';
|
||||||
|
|||||||
@@ -6,6 +6,11 @@ if (! defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
|||||||
* Component: Info Box
|
* Component: Info Box
|
||||||
* -------------------
|
* -------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
span.info-box-icon-text { /* hide box text number due to problems */
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.info-box {
|
.info-box {
|
||||||
display: block;
|
display: block;
|
||||||
min-height: 90px;
|
min-height: 90px;
|
||||||
|
|||||||
@@ -1782,7 +1782,7 @@ div.mainmenu {
|
|||||||
position : relative;
|
position : relative;
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
background-position:center top;
|
background-position:center top;
|
||||||
height: <?php echo ($heightmenu-19); ?>px;
|
height: <?php echo ($heightmenu-22); ?>px;
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
min-width: 40px;
|
min-width: 40px;
|
||||||
}
|
}
|
||||||
@@ -2104,7 +2104,7 @@ table.login_table_securitycode tr td {
|
|||||||
|
|
||||||
div.login_block {
|
div.login_block {
|
||||||
border-right: 1px solid rgba(0,0,0,0.3);
|
border-right: 1px solid rgba(0,0,0,0.3);
|
||||||
padding-top: 5px;
|
padding-top: 3px;
|
||||||
padding-bottom: 3px;
|
padding-bottom: 3px;
|
||||||
<?php print $left; ?>: 0;
|
<?php print $left; ?>: 0;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
@@ -2316,6 +2316,7 @@ a.vsmenu.addbookmarkpicto {
|
|||||||
}
|
}
|
||||||
div.blockvmenufirst {
|
div.blockvmenufirst {
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
|
/* border-top: 1px solid #e0e0e0; */
|
||||||
}
|
}
|
||||||
div.blockvmenusearch, div.blockvmenubookmarks
|
div.blockvmenusearch, div.blockvmenubookmarks
|
||||||
{
|
{
|
||||||
@@ -3045,7 +3046,9 @@ td.evenodd, tr.nohoverpair td {
|
|||||||
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
|
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
|
||||||
}
|
}
|
||||||
.trforbreak td {
|
.trforbreak td {
|
||||||
background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinebreak)); ?> !important;
|
font-weight: bold;
|
||||||
|
border-bottom: 1pt solid black !important;
|
||||||
|
/* background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinebreak)); ?> !important; */
|
||||||
}
|
}
|
||||||
|
|
||||||
table.dataTable td {
|
table.dataTable td {
|
||||||
@@ -3212,6 +3215,10 @@ tr.liste_sub_total, tr.liste_sub_total td {
|
|||||||
-webkit-box-shadow: 0px 0px 0px #f4f4f4 !important;
|
-webkit-box-shadow: 0px 0px 0px #f4f4f4 !important;
|
||||||
box-shadow: 0px 0px 0px #f4f4f4 !important;
|
box-shadow: 0px 0px 0px #f4f4f4 !important;
|
||||||
}
|
}
|
||||||
|
.shadow {
|
||||||
|
-webkit-box-shadow: 2px 2px 5px #CCC !important;
|
||||||
|
box-shadow: 2px 2px 5px #CCC !important;
|
||||||
|
}
|
||||||
|
|
||||||
div.tabBar .noborder {
|
div.tabBar .noborder {
|
||||||
-webkit-box-shadow: 0px 0px 0px #f4f4f4 !important;
|
-webkit-box-shadow: 0px 0px 0px #f4f4f4 !important;
|
||||||
@@ -3460,6 +3467,7 @@ img.boxhandle, img.boxclose {
|
|||||||
.ok { color: #114466; }
|
.ok { color: #114466; }
|
||||||
.warning { color: #887711 !important; }
|
.warning { color: #887711 !important; }
|
||||||
.error { color: #550000 !important; font-weight: bold; }
|
.error { color: #550000 !important; font-weight: bold; }
|
||||||
|
.green { color: #118822; }
|
||||||
|
|
||||||
div.ok {
|
div.ok {
|
||||||
color: #114466;
|
color: #114466;
|
||||||
@@ -3969,7 +3977,7 @@ table.cal_event td.cal_event_right { padding: 4px 4px !important; }
|
|||||||
.cal_peruserviewname { max-width: 140px; height: 22px; }
|
.cal_peruserviewname { max-width: 140px; height: 22px; }
|
||||||
|
|
||||||
.topmenuimage {
|
.topmenuimage {
|
||||||
background-size: 28px auto;
|
background-size: 24px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ============================================================================== */
|
/* ============================================================================== */
|
||||||
@@ -5680,7 +5688,7 @@ border-top-right-radius: 6px;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.menuhider {
|
.menuhider {
|
||||||
width: <?php echo $disableimages ? 'auto' : '40'; ?>px;
|
width: <?php echo $disableimages ? 'auto' : '44'; ?>px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* nboftopmenuentries = <?php echo $nbtopmenuentries ?>, fontsize=<?php echo $fontsize ?> */
|
/* nboftopmenuentries = <?php echo $nbtopmenuentries ?>, fontsize=<?php echo $fontsize ?> */
|
||||||
@@ -5699,7 +5707,7 @@ border-top-right-radius: 6px;
|
|||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.topmenuimage {
|
.topmenuimage {
|
||||||
background-size: 26px auto;
|
background-size: 24px auto;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
}
|
}
|
||||||
li.tmenu, li.tmenusel {
|
li.tmenu, li.tmenusel {
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ foreach($linkedObjectBlock as $key => $objectlink)
|
|||||||
<td class="linkedcol-element" ><?php echo $langs->trans("Ticket"); ?>
|
<td class="linkedcol-element" ><?php echo $langs->trans("Ticket"); ?>
|
||||||
<?php if(!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a'; ?>
|
<?php if(!empty($showImportButton) && $conf->global->MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES) print '<a class="objectlinked_importbtn" href="'.$objectlink->getNomUrl(0, '', 0, 1).'&action=selectlines" data-element="'.$objectlink->element.'" data-id="'.$objectlink->id.'" > <i class="fa fa-indent"></i> </a'; ?>
|
||||||
</td>
|
</td>
|
||||||
<td class="linkedcol-name" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
<td class="linkedcol-name nowraponall" ><?php echo $objectlink->getNomUrl(1); ?></td>
|
||||||
<td class="linkedcol-ref" align="center"><?php echo $objectlink->ref_client; ?></td>
|
<td class="linkedcol-ref" align="center"><?php echo $objectlink->ref_client; ?></td>
|
||||||
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->datec, 'day'); ?></td>
|
<td class="linkedcol-date" align="center"><?php echo dol_print_date($objectlink->datec, 'day'); ?></td>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ $ok=false;
|
|||||||
if ($user->id == $id) $ok=true; // A user can always read its own card
|
if ($user->id == $id) $ok=true; // A user can always read its own card
|
||||||
if (! empty($user->rights->salaries->read)) $ok=true;
|
if (! empty($user->rights->salaries->read)) $ok=true;
|
||||||
if (! empty($user->rights->hrm->read)) $ok=true;
|
if (! empty($user->rights->hrm->read)) $ok=true;
|
||||||
|
if (! empty($user->rights->expensereport->lire) && ($user->id == $object->id || $user->rights->expensereport->readall)) $ok=true;
|
||||||
if (! $ok)
|
if (! $ok)
|
||||||
{
|
{
|
||||||
accessforbidden();
|
accessforbidden();
|
||||||
|
|||||||
@@ -1318,7 +1318,7 @@ class User extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
// Cree et positionne $this->id
|
// Create user and set $this->id. Trigger is disabled because executed later.
|
||||||
$result=$this->create($user, 1);
|
$result=$this->create($user, 1);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1012,8 +1012,8 @@ class Website extends CommonObject
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_delete_dir_recursive(dirname($pathtofile).'/'.$object->ref);
|
dol_delete_dir_recursive($conf->website->dir_temp.'/'.$object->ref);
|
||||||
dol_mkdir(dirname($pathtofile).'/'.$object->ref);
|
dol_mkdir($conf->website->dir_temp.'/'.$object->ref);
|
||||||
|
|
||||||
$filename = basename($pathtofile);
|
$filename = basename($pathtofile);
|
||||||
if (! preg_match('/^website_(.*)-(.*)$/', $filename, $reg))
|
if (! preg_match('/^website_(.*)-(.*)$/', $filename, $reg))
|
||||||
@@ -1023,6 +1023,7 @@ class Website extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
$result = dol_uncompress($pathtofile, $conf->website->dir_temp.'/'.$object->ref);
|
$result = dol_uncompress($pathtofile, $conf->website->dir_temp.'/'.$object->ref);
|
||||||
|
|
||||||
if (! empty($result['error']))
|
if (! empty($result['error']))
|
||||||
{
|
{
|
||||||
$this->errors[]='Failed to unzip file '.$pathtofile.'.';
|
$this->errors[]='Failed to unzip file '.$pathtofile.'.';
|
||||||
|
|||||||
@@ -1836,6 +1836,9 @@ if ($action == 'importsiteconfirm')
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Force mode dynamic on
|
||||||
|
dolibarr_set_const($db, 'WEBSITE_SUBCONTAINERSINLINE', 1, 'chaine', 0, '', $conf->entity);
|
||||||
|
|
||||||
header("Location: ".$_SERVER["PHP_SELF"].'?website='.$object->ref);
|
header("Location: ".$_SERVER["PHP_SELF"].'?website='.$object->ref);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
@@ -3489,12 +3492,12 @@ if ($action == 'preview' || $action == 'createfromclone' || $action == 'createpa
|
|||||||
{
|
{
|
||||||
if (empty($websitekey) || $websitekey == '-1')
|
if (empty($websitekey) || $websitekey == '-1')
|
||||||
{
|
{
|
||||||
print '<br><br><div class="center">'.$langs->trans("NoWebSiteCreateOneFirst").'</center><br><br><br>';
|
print '<br><br><div class="center previewnotyetavailable"><span class="">'.$langs->trans("NoWebSiteCreateOneFirst").'</span></div><br><br><br>';
|
||||||
print '<div class="center"><div class="logo_setup"></div></div>';
|
print '<div class="center"><div class="logo_setup"></div></div>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<br><br><div class="center">'.$langs->trans("PreviewOfSiteNotYetAvailable", $object->ref).'</center><br><br><br>';
|
print '<br><br><div class="center previewnotyetavailable"><span class="">'.$langs->trans("PreviewOfSiteNotYetAvailable", $object->ref).'</span></div><br><br><br>';
|
||||||
print '<div class="center"><div class="logo_setup"></div></div>';
|
print '<div class="center"><div class="logo_setup"></div></div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||