2
0
forked from Wavyzz/dolibarr

Debug v20

This commit is contained in:
Laurent Destailleur
2024-04-30 02:47:03 +02:00
parent 5c66d59557
commit 8ff36d2dca
7 changed files with 119 additions and 98 deletions

View File

@@ -819,84 +819,6 @@ if ($resql) {
print '<input type="hidden" name="bid" value="'.GETPOSTINT("bid").'">'; print '<input type="hidden" name="bid" value="'.GETPOSTINT("bid").'">';
} }
// Form to reconcile
if ($user->hasRight('banque', 'consolidate') && $action == 'reconcile') {
print '<div class="valignmiddle inline-block" style="padding-right: 20px;">';
if (getDolGlobalInt('NW_RECEIPTNUMBERFORMAT')) {
print '<strong>'.$langs->trans("InputReceiptNumber").'</strong>: ';
print '<input class="flat width175" id="num_releve" name="num_releve" type="text" value="'.(GETPOST('num_releve') ? GETPOST('num_releve') : '').'">';
} else {
$texttoshow = $langs->trans("InputReceiptNumber").': ';
$yyyy = dol_substr($langs->transnoentitiesnoconv("Year"), 0, 1).substr($langs->transnoentitiesnoconv("Year"), 0, 1).substr($langs->transnoentitiesnoconv("Year"), 0, 1).substr($langs->transnoentitiesnoconv("Year"), 0, 1);
$mm = dol_substr($langs->transnoentitiesnoconv("Month"), 0, 1).substr($langs->transnoentitiesnoconv("Month"), 0, 1);
$dd = dol_substr($langs->transnoentitiesnoconv("Day"), 0, 1).substr($langs->transnoentitiesnoconv("Day"), 0, 1);
$placeholder = $yyyy.$mm;
$placeholder .= ' '.$langs->trans("or").' ';
$placeholder .= $yyyy.$mm.$dd;
if (!$placeholder) {
$texttoshow .= $langs->trans("InputReceiptNumberBis");
}
print $texttoshow;
print '<input class="flat width175" pattern="[0-9]+" title="'.dol_escape_htmltag($texttoshow.($placeholder ? ': '.$placeholder : '')).'" id="num_releve" name="num_releve" placeholder="'.dol_escape_htmltag($placeholder).'" type="text" value="'.(GETPOSTINT('num_releve') ? GETPOSTINT('num_releve') : '').'">'; // The only default value is value we just entered
}
print '</div>';
if (is_array($options) && count($options)) {
print $langs->trans("EventualyAddCategory").': ';
print Form::selectarray('cat', $options, GETPOST('cat'), 1);
}
print '<br><div style="margin-top: 5px;"><span class="opacitymedium">'.$langs->trans("ThenCheckLinesAndConciliate").'</span> ';
print '<input class="button" name="confirm_savestatement" type="submit" value="'.$langs->trans("SaveStatementOnly").'">';
print ' '.$langs->trans("or").' ';
print '<input class="button" name="confirm_reconcile" type="submit" value="'.$langs->trans("Conciliate").'">';
print ' '.$langs->trans("or").' ';
print '<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans("Cancel").'">';
print '</div>';
// Show last bank statements
$nbmax = 12; // We show last 12 receipts (so we can have more than one year)
$liste = "";
$sql = "SELECT DISTINCT num_releve FROM ".MAIN_DB_PREFIX."bank";
$sql .= " WHERE fk_account = ".((int) $object->id)." AND num_releve IS NOT NULL";
$sql .= $db->order("num_releve", "DESC");
$sql .= $db->plimit($nbmax + 1);
print '<br>';
print $langs->trans("LastAccountStatements").' : ';
$resqlr = $db->query($sql);
if ($resqlr) {
$numr = $db->num_rows($resqlr);
$i = 0;
$last_ok = 0;
while (($i < $numr) && ($i < $nbmax)) {
$objr = $db->fetch_object($resqlr);
if (!$last_ok) {
$last_releve = $objr->num_releve;
$last_ok = 1;
}
$i++;
$liste = '<a href="'.DOL_URL_ROOT.'/compta/bank/releve.php?account='.$id.'&amp;num='.$objr->num_releve.'">'.$objr->num_releve.'</a> &nbsp; '.$liste;
}
if ($numr >= $nbmax) {
$liste = "... &nbsp; ".$liste;
}
print $liste;
if ($numr <= 0) {
print '<b>'.$langs->trans("None").'</b>';
}
} else {
dol_print_error($db);
}
// Using BANK_REPORT_LAST_NUM_RELEVE to automatically report last num (or not)
if (getDolGlobalString('BANK_REPORT_LAST_NUM_RELEVE')) {
print '
<script type="text/javascript">
$("#num_releve").val("' . $last_releve.'");
</script>
';
}
print '<br><br>';
}
// Form to add a transaction with no invoice // Form to add a transaction with no invoice
if ($user->hasRight('banque', 'modifier') && $action == 'addline' && getDolGlobalString('BANK_USE_OLD_VARIOUS_PAYMENT')) { if ($user->hasRight('banque', 'modifier') && $action == 'addline' && getDolGlobalString('BANK_USE_OLD_VARIOUS_PAYMENT')) {
print load_fiche_titre($langs->trans("AddBankRecordLong"), '', ''); print load_fiche_titre($langs->trans("AddBankRecordLong"), '', '');
@@ -991,7 +913,7 @@ if ($resql) {
$bankcateg = new BankCateg($db); $bankcateg = new BankCateg($db);
$newcardbutton = ''; $newcardbutton = '';
if ($action != 'addline' && $action != 'reconcile') { if ($action != 'addline') {
if (!getDolGlobalString('BANK_DISABLE_DIRECT_INPUT')) { if (!getDolGlobalString('BANK_DISABLE_DIRECT_INPUT')) {
if (!getDolGlobalString('BANK_USE_OLD_VARIOUS_PAYMENT')) { // Default is to record miscellaneous direct entries using miscellaneous payments if (!getDolGlobalString('BANK_USE_OLD_VARIOUS_PAYMENT')) { // Default is to record miscellaneous direct entries using miscellaneous payments
$newcardbutton = dolGetButtonTitle($langs->trans('AddBankRecord'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/compta/bank/various_payment/card.php?action=create&accountid='.urlencode($search_account).'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.urlencode($search_account)), '', $user->rights->banque->modifier); $newcardbutton = dolGetButtonTitle($langs->trans('AddBankRecord'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/compta/bank/various_payment/card.php?action=create&accountid='.urlencode($search_account).'&backtopage='.urlencode($_SERVER['PHP_SELF'].'?id='.urlencode($search_account)), '', $user->rights->banque->modifier);
@@ -1015,7 +937,7 @@ if ($resql) {
$morehtml .= $buttonreconcile; $morehtml .= $buttonreconcile;
} }
$morehtml .= '<!-- Add New button -->'.$newcardbutton; $morehtmlright = '<!-- Add New button -->'.$newcardbutton;
$picto = 'bank_account'; $picto = 'bank_account';
if ($id > 0 || !empty($ref)) { if ($id > 0 || !empty($ref)) {
@@ -1023,7 +945,86 @@ if ($resql) {
} }
// @phan-suppress-next-line PhanPluginSuspiciousParamOrder // @phan-suppress-next-line PhanPluginSuspiciousParamOrder
print_barre_liste($langs->trans("BankTransactions"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $picto, 0, $morehtml, '', $limit, 0, 0, 1); print_barre_liste($langs->trans("BankTransactions"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton.$morehtml, $num, $nbtotalofrecords, $picto, 0, $morehtmlright, '', $limit, 0, 0, 1);
// Form to reconcile
if ($user->hasRight('banque', 'consolidate') && $action == 'reconcile') {
print '<!-- form with reconciliation input -->'."\n";
print '<div class="valignmiddle inline-block" style="padding-right: 20px;">';
if (getDolGlobalInt('NW_RECEIPTNUMBERFORMAT')) {
print '<strong>'.$langs->trans("InputReceiptNumber").'</strong>: ';
print '<input class="flat width175" id="num_releve" name="num_releve" type="text" value="'.(GETPOST('num_releve') ? GETPOST('num_releve') : '').'">';
} else {
$texttoshow = $langs->trans("InputReceiptNumber").': ';
$yyyy = dol_substr($langs->transnoentitiesnoconv("Year"), 0, 1).substr($langs->transnoentitiesnoconv("Year"), 0, 1).substr($langs->transnoentitiesnoconv("Year"), 0, 1).substr($langs->transnoentitiesnoconv("Year"), 0, 1);
$mm = dol_substr($langs->transnoentitiesnoconv("Month"), 0, 1).substr($langs->transnoentitiesnoconv("Month"), 0, 1);
$dd = dol_substr($langs->transnoentitiesnoconv("Day"), 0, 1).substr($langs->transnoentitiesnoconv("Day"), 0, 1);
$placeholder = $yyyy.$mm;
$placeholder .= ' '.$langs->trans("or").' ';
$placeholder .= $yyyy.$mm.$dd;
if (!$placeholder) {
$texttoshow .= $langs->trans("InputReceiptNumberBis");
}
print $texttoshow;
print '<input class="flat width175" pattern="[0-9]+" title="'.dol_escape_htmltag($texttoshow.($placeholder ? ': '.$placeholder : '')).'" id="num_releve" name="num_releve" placeholder="'.dol_escape_htmltag($placeholder).'" type="text" value="'.(GETPOSTINT('num_releve') ? GETPOSTINT('num_releve') : '').'">'; // The only default value is value we just entered
}
print '</div>';
if (is_array($options) && count($options)) {
print $langs->trans("EventualyAddCategory").': ';
print Form::selectarray('cat', $options, GETPOST('cat'), 1);
}
print '<br><div style="margin-top: 5px;"><span class="opacitymedium">'.$langs->trans("ThenCheckLinesAndConciliate").'</span> ';
print '<input class="button" name="confirm_savestatement" type="submit" value="'.$langs->trans("SaveStatementOnly").'">';
print ' '.$langs->trans("or").' ';
print '<input class="button" name="confirm_reconcile" type="submit" value="'.$langs->trans("Conciliate").'">';
print ' '.$langs->trans("or").' ';
print '<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans("Cancel").'">';
print '</div>';
// Show last bank statements
$nbmax = 12; // We show last 12 receipts (so we can have more than one year)
$liste = "";
$sql = "SELECT DISTINCT num_releve FROM ".MAIN_DB_PREFIX."bank";
$sql .= " WHERE fk_account = ".((int) $object->id)." AND num_releve IS NOT NULL";
$sql .= $db->order("num_releve", "DESC");
$sql .= $db->plimit($nbmax + 1);
print '<br>';
print $langs->trans("LastAccountStatements").' : ';
$resqlr = $db->query($sql);
if ($resqlr) {
$numr = $db->num_rows($resqlr);
$i = 0;
$last_ok = 0;
while (($i < $numr) && ($i < $nbmax)) {
$objr = $db->fetch_object($resqlr);
if (!$last_ok) {
$last_releve = $objr->num_releve;
$last_ok = 1;
}
$i++;
$liste = '<a target="_blank" href="'.DOL_URL_ROOT.'/compta/bank/releve.php?account='.((int) $id).'&num='.urlencode($objr->num_releve).'">'.dol_escape_htmltag($objr->num_releve).'</a> &nbsp; '.$liste;
}
if ($numr >= $nbmax) {
$liste = "... &nbsp; ".$liste;
}
print $liste;
if ($numr <= 0) {
print '<b>'.$langs->trans("None").'</b>';
}
} else {
dol_print_error($db);
}
// Using BANK_REPORT_LAST_NUM_RELEVE to automatically report last num (or not)
if (getDolGlobalString('BANK_REPORT_LAST_NUM_RELEVE')) {
print '
<script type="text/javascript">
$("#num_releve").val("' . $last_releve.'");
</script>
';
}
print '<br><br>';
}
// We can add page now to param // We can add page now to param
if ($page != '') { if ($page != '') {
@@ -1031,7 +1032,6 @@ if ($resql) {
} }
$moreforfilter = ''; $moreforfilter = '';
$moreforfilter .= '<div class="divsearchfield">'; $moreforfilter .= '<div class="divsearchfield">';
$moreforfilter .= $langs->trans('DateOperationShort'); $moreforfilter .= $langs->trans('DateOperationShort');
$moreforfilter .= ($conf->browser->layout == 'phone' ? '<br>' : ' '); $moreforfilter .= ($conf->browser->layout == 'phone' ? '<br>' : ' ');
@@ -1456,7 +1456,7 @@ if ($resql) {
// Action column // Action column
if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) { if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
print '<td>'; print '<td class="center">';
if (!$objp->conciliated && $action == 'reconcile') { if (!$objp->conciliated && $action == 'reconcile') {
print '<input class="flat checkforselect" name="rowid['.$objp->rowid.']" type="checkbox" name="toselect[]" value="'.$objp->rowid.'" size="1"'.(!empty($tmparray[$objp->rowid]) ? ' checked' : '').'>'; print '<input class="flat checkforselect" name="rowid['.$objp->rowid.']" type="checkbox" name="toselect[]" value="'.$objp->rowid.'" size="1"'.(!empty($tmparray[$objp->rowid]) ? ' checked' : '').'>';
} }
@@ -1857,7 +1857,7 @@ if ($resql) {
// Action column // Action column
if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) { if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
print '<td>'; print '<td class="center">';
if (!$objp->conciliated && $action == 'reconcile') { if (!$objp->conciliated && $action == 'reconcile') {
print '<input class="flat checkforselect" name="rowid['.$objp->rowid.']" type="checkbox" value="'.$objp->rowid.'" size="1"'.(!empty($tmparray[$objp->rowid]) ? ' checked' : '').'>'; print '<input class="flat checkforselect" name="rowid['.$objp->rowid.']" type="checkbox" value="'.$objp->rowid.'" size="1"'.(!empty($tmparray[$objp->rowid]) ? ' checked' : '').'>';
} }
@@ -1891,7 +1891,7 @@ if ($resql) {
} elseif ($i == $posconciliatecol) { } elseif ($i == $posconciliatecol) {
print '<td class="center">'; print '<td class="center">';
if ($user->hasRight('banque', 'consolidate') && $action == 'reconcile') { if ($user->hasRight('banque', 'consolidate') && $action == 'reconcile') {
print '<input class="button" name="confirm_reconcile" type="submit" value="'.$langs->trans("Conciliate").'">'; print '<input class="button smallpaddingimp" name="confirm_reconcile" type="submit" value="'.$langs->trans("Conciliate").'">';
} }
print '</td>'; print '</td>';
} else { } else {

View File

@@ -274,6 +274,7 @@ if (empty($numref)) {
$sql = "SELECT DISTINCT(b.num_releve) as numr"; $sql = "SELECT DISTINCT(b.num_releve) as numr";
$sql .= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql .= " FROM ".MAIN_DB_PREFIX."bank as b";
$sql .= " WHERE b.fk_account = ".((int) $object->id); $sql .= " WHERE b.fk_account = ".((int) $object->id);
$sql .= " AND b.num_releve IS NOT NULL";
$sql .= $db->order($sortfield, $sortorder); $sql .= $db->order($sortfield, $sortorder);
// Count total nb of records // Count total nb of records
@@ -285,9 +286,9 @@ if (empty($numref)) {
$sql .= $db->plimit($conf->liste_limit + 1, $offset); $sql .= $db->plimit($conf->liste_limit + 1, $offset);
$result = $db->query($sql); $resql = $db->query($sql);
if ($result) { if ($resql) {
$numrows = $db->num_rows($result); $numrows = $db->num_rows($resql);
$i = 0; $i = 0;
// Onglets // Onglets
@@ -360,7 +361,7 @@ if (empty($numref)) {
$content = array(); $content = array();
while ($i < min($numrows, $conf->liste_limit)) { while ($i < min($numrows, $conf->liste_limit)) {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($resql);
if (!isset($objp->numr)) { if (!isset($objp->numr)) {
// //
@@ -414,6 +415,11 @@ if (empty($numref)) {
} }
$i++; $i++;
} }
if (empty($numrows)) {
print '<tr><td colspan="5"><span class="opacitymedium">'.$langs->trans("None").'</span></td></tr>';
}
print "</table>\n"; print "</table>\n";
print '</form>'; print '</form>';
@@ -481,9 +487,9 @@ if (empty($numref)) {
// Recherche les ecritures pour le releve // Recherche les ecritures pour le releve
$sql = $sqlrequestforbankline; $sql = $sqlrequestforbankline;
$result = $db->query($sql); $resql = $db->query($sql);
if ($result) { if ($resql) {
$numrows = $db->num_rows($result); $numrows = $db->num_rows($resql);
$i = 0; $i = 0;
// Ligne Solde debut releve // Ligne Solde debut releve
@@ -493,7 +499,7 @@ if (empty($numref)) {
print "</tr>\n"; print "</tr>\n";
while ($i < $numrows) { while ($i < $numrows) {
$objp = $db->fetch_object($result); $objp = $db->fetch_object($resql);
$total = $total + $objp->amount; $total = $total + $objp->amount;
print '<tr class="oddeven">'; print '<tr class="oddeven">';
@@ -696,7 +702,7 @@ if (empty($numref)) {
print "</tr>"; print "</tr>";
$i++; $i++;
} }
$db->free($result); $db->free($resql);
} else { } else {
dol_print_error($db); dol_print_error($db);
} }

View File

@@ -8587,6 +8587,7 @@ class Form
} }
} }
$out .= "</select>"; $out .= "</select>";
// Add code for jquery to use multiselect // Add code for jquery to use multiselect
if ($addjscombo && $jsbeautify) { if ($addjscombo && $jsbeautify) {
// Enhance with select2 // Enhance with select2

View File

@@ -6235,7 +6235,7 @@ function print_fleche_navigation($page, $file, $options = '', $nextpage = 0, $be
print '<datalist id="limitlist">'; print '<datalist id="limitlist">';
} else { } else {
print '<li class="paginationxxx">'; print '<li class="paginationxxx">';
print '<select class="flat selectlimit nopadding maxwidth75 center" id="limit" name="limit" title="'.dol_escape_htmltag($langs->trans("MaxNbOfRecordPerPage")).'">'; print '<select id="limit" class="flat selectlimit nopadding maxwidth75 center" name="limit" title="'.dol_escape_htmltag($langs->trans("MaxNbOfRecordPerPage")).'">';
} }
$tmpchoice = explode(',', $pagesizechoices); $tmpchoice = explode(',', $pagesizechoices);
$tmpkey = $limit.':'.$limit; $tmpkey = $limit.':'.$limit;
@@ -6263,7 +6263,8 @@ function print_fleche_navigation($page, $file, $options = '', $nextpage = 0, $be
print '</datalist>'; print '</datalist>';
} else { } else {
print '</select>'; print '</select>';
print ajax_combobox("limit"); print ajax_combobox("limit", array(), 0, 0, 'resolve', -1, 'limit');
//print ajax_combobox("limit");
} }
if ($conf->use_javascript_ajax) { if ($conf->use_javascript_ajax) {

View File

@@ -335,6 +335,7 @@ $parameters = array();
$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters); // Note that $action and $object may have been modified by hook $reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters); // Note that $action and $object may have been modified by hook
$sql .= $hookmanager->resPrint; $sql .= $hookmanager->resPrint;
$sql = preg_replace('/,\s*$/', '', $sql); $sql = preg_replace('/,\s*$/', '', $sql);
//print $sql;
$result = $db->query($sql); $result = $db->query($sql);
if ($result) { if ($result) {
@@ -358,7 +359,9 @@ $nbtotalofrecords = '';
if (!getDolGlobalInt('MAIN_DISABLE_FULL_SCANLIST')) { if (!getDolGlobalInt('MAIN_DISABLE_FULL_SCANLIST')) {
/* The fast and low memory method to get and count full list converts the sql into a sql count */ /* The fast and low memory method to get and count full list converts the sql into a sql count */
$sqlforcount = preg_replace('/^'.preg_quote($sqlfields, '/').'/', 'SELECT COUNT(*) as nbtotalofrecords', $sql); $sqlforcount = preg_replace('/^'.preg_quote($sqlfields, '/').'/', 'SELECT COUNT(*) as nbtotalofrecords', $sql);
$sqlforcount = preg_replace('/LEFT JOIN [a-z]+_product_stock as ps ON t.rowid = ps.fk_entrepot LEFT JOIN [a-z]+_product as p ON ps.fk_product = p.rowid/', '', $sqlforcount);
$sqlforcount = preg_replace('/GROUP BY .*$/', '', $sqlforcount); $sqlforcount = preg_replace('/GROUP BY .*$/', '', $sqlforcount);
$resql = $db->query($sqlforcount); $resql = $db->query($sqlforcount);
if ($resql) { if ($resql) {
$objforcount = $db->fetch_object($resql); $objforcount = $db->fetch_object($resql);
@@ -557,7 +560,7 @@ foreach ($object->fields as $key => $val) {
if (!empty($arrayfields['t.'.$key]['checked'])) { if (!empty($arrayfields['t.'.$key]['checked'])) {
print '<td class="liste_titre'.($cssforfield ? ' '.$cssforfield : '').($key == 'status' ? ' parentonrightofpage' : '').'">'; print '<td class="liste_titre'.($cssforfield ? ' '.$cssforfield : '').($key == 'status' ? ' parentonrightofpage' : '').'">';
if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) {
print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), (isset($val['notnull']) ? $val['notnull'] : 0), 0, 0, '', 1, 0, 0, '', 'maxwidth100'.($key == 'status' ? ' search_status width100 onrightofpage' : ''), 1); print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), 1, 0, 0, '', 1, 0, 0, '', 'maxwidth100'.($key == 'status' ? ' search_status width100 onrightofpage' : ''), 1);
} elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) {
print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', $cssforfield.' maxwidth250', 1); print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', $cssforfield.' maxwidth250', 1);
} elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) {

View File

@@ -1406,7 +1406,7 @@ select.flat.selectlimit {
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
} }
.selectlimit, .marginrightonly { .marginrightonly {
margin-<?php echo $right; ?>: 10px !important; margin-<?php echo $right; ?>: 10px !important;
} }
.marginleftonly { .marginleftonly {
@@ -6833,6 +6833,11 @@ select.multiselectononeline {
} }
} }
/* must be after the other .select2-container.select2-container--open .select2-dropdown.ui-dialog */
.limit.select2-container.select2-container--open .select2-dropdown.ui-dialog {
min-width: 100px !important;
}
/* ============================================================================== */ /* ============================================================================== */
/* For categories */ /* For categories */

View File

@@ -6714,6 +6714,11 @@ select.multiselectononeline {
} }
} }
/* must be after the other .select2-container.select2-container--open .select2-dropdown.ui-dialog */
.limit.select2-container.select2-container--open .select2-dropdown.ui-dialog {
min-width: 100px !important;
}
.parentonrightofpage { .parentonrightofpage {
direction: rtl; direction: rtl;
} }