Ver código fonte

added Typespecial for field L_APPOITMENT_USER

Piotr Labudda 9 anos atrás
pai
commit
ce1d8f9d10
1 arquivos alterados com 27 adições e 2 exclusões
  1. 27 2
      SE/se-lib/TypespecialVariable.php

+ 27 - 2
SE/se-lib/TypespecialVariable.php

@@ -35,6 +35,7 @@ class TypespecialVariable extends TypespecialBase {
 			case '__USER_ID':
 			case '__USER_LOGIN':
 			case 'A_EXEC_GROUP':
+			case 'L_APPOITMENT_USER':
 				return new TypespecialVariable($fldID, $fldName);
 				break;
 		}
@@ -68,6 +69,7 @@ class TypespecialVariable extends TypespecialBase {
 
 		$jsonAllowCreate = 'true';
 		switch ($this->fldName) {
+			case 'L_APPOITMENT_USER':
 			case 'A_ADM_COMPANY':
 			case 'A_CLASSIFIED':
 			case 'DEFAULT_ACL_GROUP':
@@ -765,10 +767,33 @@ jQuery(document).ready(function(){
 					$values[] = (object)array('id'=>$r->ID, 'param_out'=>$r->LABEL);
 				}
 				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">values (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($values);echo'</pre>';}
-				break;
+				return $values;
 			}
+			case 'L_APPOITMENT_USER': {
+				$query = trim($query, ' %');
+				$acl = User::getAcl()->getObjectAcl('default_db', 'ADMIN_USERS');
+				$queryFeatures = $acl->buildQuery([
+					(!empty($query))
+						? [null, 'or', [
+								(is_numeric($query)) ? ['ID', 'like', "{$query}%"] : null,
+								['ADM_ACCOUNT', 'like', "%{$query}%"],
+								['ADM_NAME', 'like', "%{$query}%"],
+								['ADM_PHONE', 'like', "%{$query}%"],
+								['EMAIL', 'like', "%{$query}%"],
+							] ]
+						: null,
+					'f_A_STATUS' => '=NORMAL',
+					'f_ADM_TECH_WORKER' => '!NO',
+					'limit' => 20
+				]);
+				return array_map(function ($item) {
+					return (object)[
+						'id' => $item['ID'],
+						'param_out' => "{$item['ADM_NAME']} ({$item['ADM_ACCOUNT']})"
+					];
+				}, $queryFeatures->getItems());
+			} break;
 			default:
-
 		}
 		return $values;
 	}