Joywork/templates/form_emp.php

98 lines
4.5 KiB
PHP
Raw Normal View History

2026-05-22 20:21:54 +02:00
<div class="inputs" id="<?=$id_form_emp_imput?>">
<?php
$name_select = "who_work";
if($id_form_emp == "ms-new-client-work-client-partner")
$name_select = "who_work_client";
?>
<select name="<?=$name_select?>" id="<?=$id_form_emp?>" data-load-once="true" <?=isset($dopAttr) ? $dopAttr : ''?>>
<optgroup>
<option value='<?=$_SESSION['id']?>'>Я</option>
<?php
$r_check_permissions = $user->checkMenuPermissions();
if ($id_form_emp != 'delete_who_work' && $id_form_emp != 'delete_who_work_req' && $id_form_emp != 'delete_who_work_obj' && ($_SESSION['agency'] || $_SESSION['users_admin'] || $r_check_permissions['menu_can_transfer_to_common'] == 1)) { ?>
<option value='0'>Всё агентство</option>
<?php } ?>
<?php
$agency_id = $_SESSION['agency_id'] ;
$sql_name_agency_id = "SELECT last_name, first_name, middle_name FROM users WHERE id = $agency_id";
if ($query_name_agency_id = mysql_query($sql_name_agency_id)) {
$name_agency_id_assoc = mysql_fetch_assoc($query_name_agency_id);
}
$name_agency_id = $name_agency_id_assoc['last_name']. ' '.$name_agency_id_assoc['first_name']. ' '.$name_agency_id_assoc['middle_name'];
?>
<option value='<?=$user->agencyId?>'><?=$name_agency_id?></option>
</optgroup>
<?php
$formMenegers = array();
$formAgency = array();
$depClass = new Department();
//Определение отделов
$sql_d = "SELECT d.name as dep_name, r.name as role_name, r.role, r.department_id, r.id FROM departments as d left join roles as r on d.id = r.department_id WHERE d.agency_id = ".$user->agencyId;
$q_d = mysql_query($sql_d);
$departments = array();
while($r_d = mysql_fetch_assoc($q_d)){
$departments[$r_d['id']] = $r_d;
}
$agentsOfAgency = User::getAllAgents($user->agencyId);
foreach($agentsOfAgency as $fa){
$formAgency[] = $fa['id'];
}
$agentsOfManager = User::getAllManagers($user->agencyId);
foreach($agentsOfManager as $fm){
$formMenegers[] = $fm['id'];
}
foreach($agentsOfManager as $fm){
if((int)$fm['role_id'] > 0 && (int)$fm['department_id'] > 0){
$role_user = $depClass->getRole((int)$fm['role_id']);
if($role_user['role'] == 'admin_department'){
$menagerDep = User::getDepManagers($role_user['department_id']);
foreach($menagerDep as $md){
if(!in_array($md['id'], $formMenegers)){
$formMenegers[] = $md['id'];
$agentsOfManager[] = $md;
$thisAgents = User::getAgentsOfAgency($md['id'], true);
foreach($thisAgents as $da){
//var_dump($da);
if(!empty($da) && !in_array($da['id'], $formAgency)){
$formAgency[] = $da['id'];
$agentsOfAgency[] = $da;
}
}
}
}
}
}
}
if($agentsOfManager) {
echo "<optgroup label='Менеджеры'>";
foreach($agentsOfManager as $mngr)
{
echo "<option value='$mngr[id]'>" . trim($mngr['last_name'] . ' ' . $mngr['first_name'] . ' ' . $mngr['middle_name']);
if($mngr['role_id'] > 0){
echo ' ('.$departments[$mngr['role_id']]['role_name']. ' ' . $departments[$mngr['role_id']]['dep_name'].')';
}
echo "</option>";
}
echo "</optgroup>";
}
if($agentsOfAgency) {
echo "<optgroup label='Агенты'>";
foreach($agentsOfAgency as $agent)
{
echo "<option value='$agent[id]'>" . trim($agent['last_name'] . ' ' . $agent['first_name'] . ' ' . $agent['middle_name']);
if($agent['role_id'] > 0){
echo ' ('.$departments[$agent['role_id']]['role_name']. ' ' . $departments[$agent['role_id']]['dep_name'].')';
}
echo "</option>";
}
echo "</optgroup>";
}
?>
</select>
</div>