diff --git a/lib/locale/pl_PL/strings.php b/lib/locale/pl_PL/strings.php index b45349d0c8..87471a60b8 100644 --- a/lib/locale/pl_PL/strings.php +++ b/lib/locale/pl_PL/strings.php @@ -5625,6 +5625,8 @@ $_LANG['$a selected contacts of $b customers'] = '$a wybranych kontaktów spośród $b klientów'; $_LANG['show customer list'] = 'pokaż listę klientów'; +$_LANG['show assignment names'] = 'pokaż nazwy zobowiązań'; +$_LANG['assignment names'] = 'nazwy zobowiązań'; $_LANG['hide customer list'] = 'ukryj listę klientów'; $_LANG['Cannot open event - event closed too long ago.'] = 'Nie można otworzyć zdarzenia - zostało ono zamknięte zbyt dawno.'; diff --git a/modules/customersearch.php b/modules/customersearch.php index e43756147b..2825601543 100644 --- a/modules/customersearch.php +++ b/modules/customersearch.php @@ -39,22 +39,18 @@ } } -if (!isset($search)) { - $SESSION->restore('customersearch', $search); -} else { +if (isset($search)) { $SESSION->save('customersearch', $search); +} else { + $SESSION->restore('customersearch', $search); } if (!empty($search['balance_date'])) { - $time = intval($search['balance_date']); + $time = (int) $search['balance_date']; } if (isset($search['balance_days'])) { - if (strlen($search['balance_days'])) { - $days = intval($search['balance_days']); - } else { - $days = -1; - } + $days = strlen($search['balance_days']) !== 0 ? (int) $search['balance_days'] : -1; } if (!isset($_GET['o'])) { @@ -64,61 +60,71 @@ } $SESSION->save('cslo', $order); -if (!isset($_POST['s'])) { - $SESSION->restore('csls', $state); -} else { +if (isset($_POST['s'])) { $state = $_POST['s']; +} else { + $SESSION->restore('csls', $state); } $SESSION->save('csls', $state); -if (!isset($_POST['sk'])) { - $SESSION->restore('cslsk', $statesqlskey); -} else { +if (isset($_POST['sk'])) { $statesqlskey = $_POST['sk']; +} else { + $SESSION->restore('cslsk', $statesqlskey); } $SESSION->save('cslsk', $statesqlskey); -if (!isset($_POST['flags'])) { - $SESSION->restore('cslf', $flags); -} else { +if (isset($_POST['flags'])) { $flags = $_POST['flags']; +} else { + $SESSION->restore('cslf', $flags); } $SESSION->save('cslf', $flags); -if (!isset($_POST['hidessn'])) { +if (isset($_POST['hidessn'])) { + $hidessn = (int) $_POST['hidessn']; +} else { $SESSION->restore('cshidessn', $hidessn); if (!isset($hidessn)) { $hidessn = 1; } -} else { - $hidessn = intval($_POST['hidessn']); } $SESSION->save('cshidessn', $hidessn); -if (!isset($_POST['fk'])) { - $SESSION->restore('cslfk', $flagsqlskey); +if (isset($_POST['showassignments'])) { + $showassignments = (int) $_POST['showassignments']; } else { + $SESSION->restore('csshowassignments', $showassignments); + if (!isset($showassignments)) { + $showassignments = 1; + } +} +$SESSION->save('csshowassignments', $showassignments); + +if (!isset($_POST['fk'])) { $flagsqlskey = $_POST['fk']; +} else { + $SESSION->restore('cslfk', $flagsqlskey); } $SESSION->save('cslfk', $flagsqlskey); -if (!isset($_POST['consents'])) { - $SESSION->restore('csconsents', $consents); -} else { +if (isset($_POST['consents'])) { $consents = $_POST['consents']; +} else { + $SESSION->restore('csconsents', $consents); } $SESSION->save('csconsents', $consents); -if (!isset($_POST['karma'])) { - $SESSION->restore('cslkarma', $karma); -} else { +if (isset($_POST['karma'])) { $karma = $_POST['karma']; +} else { + $SESSION->restore('cslkarma', $karma); } $SESSION->save('cslkarma', $karma); if (!isset($_POST['n'])) { $SESSION->restore('csln', $network); -} else if ($_POST['n'] == 'all') { +} elseif ($_POST['n'] == 'all') { $network = array(); } else { $network = Utils::filterIntegers($_POST['n']); @@ -127,56 +133,54 @@ if (!isset($_POST['g'])) { $SESSION->restore('cslg', $customergroup); -} else if ($_POST['g'] == 'all') { +} elseif ($_POST['g'] == 'all') { $customergroup = array(); +} elseif (count($_POST['g']) == 1 && (int) $_POST['g'][0] <= 0) { + $customergroup = reset($_POST['g']); } else { - if (count($_POST['g']) == 1 && intval($_POST['g'][0]) <= 0) { - $customergroup = reset($_POST['g']); - } else { - $customergroup = $_POST['g']; - } + $customergroup = $_POST['g']; } $SESSION->save('cslg', $customergroup); -if (!isset($_POST['cgk'])) { - $SESSION->restore('cslcgk', $customergroupsqlskey); -} else { +if (isset($_POST['cgk'])) { $customergroupsqlskey = $_POST['cgk']; +} else { + $SESSION->restore('cslcgk', $customergroupsqlskey); } $SESSION->save('cslcgk', $customergroupsqlskey); -if (!isset($_POST['cgnot'])) { - $SESSION->restore('cslcgnot', $customergroupnegation); -} else { +if (isset($_POST['cgnot'])) { $customergroupnegation = !empty($_POST['cgnot']); +} else { + $SESSION->restore('cslcgnot', $customergroupnegation); } $SESSION->save('cslcgnot', $customergroupnegation); -if (!isset($_POST['k'])) { - $SESSION->restore('cslk', $sqlskey); -} else { +if (isset($_POST['k'])) { $sqlskey = $_POST['k']; +} else { + $SESSION->restore('cslk', $sqlskey); } $SESSION->save('cslk', $sqlskey); -if (!isset($_POST['ng'])) { - $SESSION->restore('cslng', $nodegroup); -} else { +if (isset($_POST['ng'])) { $nodegroup = $_POST['ng']; +} else { + $SESSION->restore('cslng', $nodegroup); } $SESSION->save('cslng', $nodegroup); -if (!isset($_POST['ngnot'])) { - $SESSION->restore('cslngnot', $nodegroupnegation); -} else { +if (isset($_POST['ngnot'])) { $nodegroupnegation = !empty($_POST['ngnot']); +} else { + $SESSION->restore('cslngnot', $nodegroupnegation); } $SESSION->save('cslngnot', $nodegroupnegation); -if (!isset($_POST['d'])) { - $SESSION->restore('csld', $division); -} else { +if (isset($_POST['d'])) { $division = $_POST['d']; +} else { + $SESSION->restore('csld', $division); } $SESSION->save('csld', $division); @@ -209,51 +213,69 @@ "division" )); - $listdata['total'] = $customerlist['total']; - $listdata['direction'] = $customerlist['direction']; - $listdata['order'] = $customerlist['order']; - $listdata['below'] = $customerlist['below']; - $listdata['over'] = $customerlist['over']; - $listdata['state'] = $state; - $listdata['flags'] = $flags; - $listdata['hidessn'] = $hidessn; - $listdata['karma'] = $karma; - $listdata['network'] = $network; - $listdata['customergroup'] = empty($customergroup) ? array() : $customergroup; - $listdata['nodegroup'] = $nodegroup; - $listdata['division'] = $division; - - unset($customerlist['total']); - unset($customerlist['state']); - unset($customerlist['flags']); - unset($customerlist['karma']); - unset($customerlist['direction']); - unset($customerlist['order']); - unset($customerlist['below']); - unset($customerlist['over']); - - if (! isset($_GET['page'])) { + $listdata = array( + 'total' => $customerlist['total'], + 'direction' => $customerlist['direction'], + 'order' => $customerlist['order'], + 'below' => $customerlist['below'], + 'over' => $customerlist['over'], + 'state' => $state, + 'flags' => $flags, + 'hidessn' => $hidessn, + 'showassignments' => $showassignments, + 'karma' => $karma, + 'network' => $network, + 'customergroup' => empty($customergroup) ? array() : $customergroup, + 'nodegroup' => $nodegroup, + 'division' => $division + ); + + unset( + $customerlist['total'], + $customerlist['state'], + $customerlist['flags'], + $customerlist['karma'], + $customerlist['direction'], + $customerlist['order'], + $customerlist['below'], + $customerlist['over'] + ); + + if ($showassignments) { + foreach ($customerlist as $idx => $c) { + $ca = $LMS->GetCustomerAssignments($c['id'], false, false); + if (isset($ca)) { + $customerlist[$idx]['assignmentsnames'] = implode(",", array_column($ca, 'name')); + } + } + } + + if (!isset($_GET['page'])) { $SESSION->restore('cslp', $_GET['page']); } - $page = (! $_GET['page'] ? 1 : $_GET['page']); + $page = $_GET['page'] ?? 1; $pagelimit = ConfigHelper::getConfig('phpui.customerlist_pagelimit', $listdata['total']); $start = ($page - 1) * $pagelimit; $SESSION->save('cslp', $page); - $SMARTY->assign('customerlist', $customerlist); - $SMARTY->assign('listdata', $listdata); - $SMARTY->assign('pagelimit', $pagelimit); - $SMARTY->assign('page', $page); - $SMARTY->assign('start', $start); + $SMARTY->assign( + array( + 'customerlist' => $customerlist, + 'listdata' => $listdata, + 'pagelimit' => $pagelimit, + 'page' => $page, + 'start' => $start + ) + ); if (isset($_GET['print'])) { $SMARTY->display('print/printcustomerlist.html'); } elseif (isset($_GET['export'])) { $SMARTY->assign('contactlist', $DB->GetAllByKey( 'SELECT customerid, (' . $DB->GroupConcat('contact') . ') AS phone - FROM customercontacts WHERE contact <> \'\' AND type & ? > 0 GROUP BY customerid', + FROM customercontacts WHERE contact <> \'\' AND type & ? > 0 GROUP BY customerid', 'customerid', array(CONTACT_MOBILE | CONTACT_LANDLINE) )); @@ -273,31 +295,38 @@ } else { $layout['pagetitle'] = trans('Customer Search'); - $listdata['state'] = $state; - $listdata['flags'] = $flags; - $listdata['hidessn'] = $hidessn; - $listdata['karma'] = $karma; - $listdata['network'] = $network; - $listdata['customergroup'] = empty($customergroup) ? array() : $customergroup; - $listdata['nodegroup'] = $nodegroup; - $listdata['division'] = $division; - - $SMARTY->assign('listdata', $listdata); + $listdata = array( + 'state' => $state, + 'flags' => $flags, + 'hidessn' => $hidessn, + 'showassignments' => $showassignments, + 'karma' => $karma, + 'network' => $network, + 'customergroup' => empty($customergroup) ? array() : $customergroup, + 'nodegroup' => $nodegroup, + 'division' => $division + ); $SESSION->remove('cslp'); - $SMARTY->assign('networks', $LMS->GetNetworks()); - $SMARTY->assign('customergroups', $LMS->CustomergroupGetAll()); - $SMARTY->assign('nodegroups', $LMS->GetNodeGroupNames()); - $SMARTY->assign('cstateslist', $LMS->GetCountryStates()); - $SMARTY->assign('tariffs', $LMS->GetTariffs()); - $SMARTY->assign('divisions', $LMS->GetDivisions()); - $SMARTY->assign('k', $sqlskey); - $SMARTY->assign('sk', $statesqlskey); - $SMARTY->assign('cgk', $customergroupsqlskey); - $SMARTY->assign('cgnot', $customergroupnegation); - $SMARTY->assign('fk', $flagsqlskey); - $SMARTY->assign('ngnot', $nodegroupnegation); - $SMARTY->assign('karma', $karma); + $SMARTY->assign( + array( + 'listdata' => $listdata, + 'networks' => $LMS->GetNetworks(), + 'customergroups' => $LMS->CustomergroupGetAll(), + 'nodegroups' => $LMS->GetNodeGroupNames(), + 'cstateslist' => $LMS->GetCountryStates(), + 'tariffs' => $LMS->GetTariffs(), + 'divisions' => $LMS->GetDivisions(), + 'k' => $sqlskey, + 'sk' => $statesqlskey, + 'cgk' => $customergroupsqlskey, + 'cgnot' => $customergroupnegation, + 'fk' => $flagsqlskey, + 'ngnot' => $nodegroupnegation, + 'karma' => $karma + ) + ); + $SMARTY->display('customer/customersearch.html'); } diff --git a/templates/default/customer/customersearch.html b/templates/default/customer/customersearch.html index 3c0abb1541..0bc4d0e900 100644 --- a/templates/default/customer/customersearch.html +++ b/templates/default/customer/customersearch.html @@ -133,6 +133,18 @@

{$layout.pagetitle}

{if !empty($listdata.hidessn) || !isset($listdata.hidessn)} checked{/if}> + + + + + + + + + {icon name="customer"} {trans("First/last or Company name:")} diff --git a/templates/default/print/printcustomerlist.html b/templates/default/print/printcustomerlist.html index 3242d237bb..a858127307 100644 --- a/templates/default/print/printcustomerlist.html +++ b/templates/default/print/printcustomerlist.html @@ -36,7 +36,13 @@

{$layout.pagetitle}

{/if} - {if ConfigHelper::checkConfig('privileges.superuser') || !ConfigHelper::checkConfig('privileges.hide_finances')}{trans("Subscription")}
{/if} + {if ConfigHelper::checkConfig('privileges.superuser') || !ConfigHelper::checkConfig('privileges.hide_finances')} + {trans("Subscription")} + {if !empty($listdata.showassignments)} + ({trans("assignment names")}) + {/if} +
+ {/if} {trans("E-mail")}
{trans("TEN/SSN")} @@ -86,8 +92,13 @@

{$layout.pagetitle}

{if ConfigHelper::checkConfig('privileges.superuser') || !ConfigHelper::checkConfig('privileges.hide_finances')} {$customer.tariffvalue|money_format} -
{/if} + {if !empty($listdata.showassignments) && !empty($customer['assignmentsnames'])} + ({foreach $customer['assignmentsnames'] as $idx => $ca} + {$ca} + {/foreach}) + {/if} +
{if $customer.email} {$customer.email|replace:",":', '}