Преглед на файлове

Merge branch 'master' of biuro.biall-net.pl:plabudda/se

a.binder преди 11 години
родител
ревизия
e4f843fb32
променени са 5 файла, в които са добавени 257 реда и са изтрити 110 реда
  1. 36 0
      SE/procesy5.php
  2. 63 57
      SE/se-lib/ProcesMenu.php
  3. 49 4
      SE/se-lib/TypespecialVariable.php
  4. 76 0
      SE/superedit-PROCES_MENU.php
  5. 33 49
      SE/superedit-USERS2_WINDYKACJA_STATUS.php

+ 36 - 0
SE/procesy5.php

@@ -193,6 +193,42 @@ jQuery(document).ready(function(){
 	});
 });
 	</script>
+	<link rel="stylesheet" href="stuff/jquery.selectize/css/selectize.bootstrap2.css" type="text/css" />
+	<script src="stuff/jquery.selectize/js/standalone/selectize.min.js"></script>
+	<style type="text/css">
+.typepsecial .selectize-input { width:366px; padding:4px 6px; }
+.typepsecial .selectize-control::before {
+	-moz-transition: opacity 0.2s;
+	-webkit-transition: opacity 0.2s;
+	transition: opacity 0.2s;
+	content: ' ';
+	z-index: 2;
+	position: absolute;
+	display: block;
+	top: 12px;
+	right: 34px;
+	width: 16px;
+	height: 16px;
+	background: url(stuff/i/loading.gif);
+	background-size: 16px 16px;
+	opacity: 0;
+}
+.typepsecial .selectize-control.loading::before {
+	opacity: 0.4;
+}
+.typepsecial .selectize-control.single .selectize-input {
+	color: #333;
+	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+	background-color: #fff;
+	background-image: none;
+	background-repeat: none;
+	border-color: #ccc;
+	filter: none;
+	-webkit-box-shadow: none;
+	-moz-box-shadow: none;
+	box-shadow: none;
+}
+	</style>
 	<?php
 		lay_procesy_css();
 		App::show_head_css();

+ 63 - 57
SE/se-lib/ProcesMenu.php

@@ -4,6 +4,10 @@ require_once dirname(__FILE__) . '/' . 'Lib.php';
 Lib::loadClass('V');
 Lib::loadClass('User');
 Lib::loadClass('ProcesTestyHelper');
+Lib::loadClass('TypespecialVariable');
+Lib::loadClass('UsersHelper');
+Lib::loadClass('DB');
+Lib::loadClass('UserBookmarks');
 
 class ProcesMenu {
 
@@ -30,7 +34,6 @@ class ProcesMenu {
 			}
 		}
 
-		Lib::loadClass('UsersHelper');
 		$this->_acl = UsersHelper::getUserAcl($this->_user_id);
 		if (!$this->_acl) {
 			die('Error Acl');
@@ -176,7 +179,6 @@ class ProcesMenu {
 		}
 
 		$procesy_init_ids = array();
-		Lib::loadClass('DB');
 		$db = DB::getDB();
 		$sql = "select `ID`,`DESC` from `CRM_PROCES` where `TYPE`='PROCES_INIT' and `ID` in (".implode(",", $menu_to_show).") ";
 		$res = $db->query($sql);
@@ -342,7 +344,6 @@ class ProcesMenu {
 /*
  * $_SESSION['USER_PROFILE'][section][key] = val;
  */
-		Lib::loadClass('UserBookmarks');
 		$userBookmarks = UserBookmarks::getInstance();
 
 		$bookmarksJson = array();
@@ -359,6 +360,12 @@ class ProcesMenu {
 		$userGroupIdsCSV = User::getGroupsIds();
 		$userGroupIdsCSV = implode(',', $userGroupIdsCSV);
 
+		$typeSpecialUserId = null;
+		if (User::isAdmin()) {
+			$typeSpecialUserId = TypespecialVariable::getInstance(-1, '__USER_ID');
+		}
+		$typeSpecialZasob = TypespecialVariable::getInstance(-1, '__ZASOB');
+
 		?>
 <div id="SE-menu" class="navbar navbar-inverse" style="position: static;">
 	<div class="navbar-inner">
@@ -409,41 +416,43 @@ class ProcesMenu {
 							<li>
 								<a href="procesy5.php?task=CRM_LISTA_ZASOBOW&filtr_id=" title="Wyświetlenie drzewa zasobów">Wszystkie Zasoby</a>
 							</li>
-							<li>
-								<from id="ProcesMenuZasobSearchFrm" class="form-search" method="GET" action="procesy5.php">
-									<input type="hidden" name="task" value="CRM_LISTA_ZASOBOW">
-									<div class="input-append" style="padding:2px 6px">
-										<input id="ProcesMenuZasobSearchInput" type="text" name="filtr_id" class="span2 search-query" placeholder="Nr zasobu">
-										<input id="ProcesMenuZasobSearchSubmit" type="submit" class="btn" value="Szukaj" />
-									</div>
-								</from>
-								<script>
-function procesMenuZasobSearchGo() {
-	var id = jQuery('#ProcesMenuZasobSearchInput').val();
-	if ('' !== id) {
-		window.location.href = window.location.protocol + '//' + window.location.host + window.location.pathname.substr(0, window.location.pathname.lastIndexOf('/')) + '/procesy5.php?task=CRM_LISTA_ZASOBOW&filtr_id=' + id;
-	}
-}
+
+							<li class="divider"></li>
+							<li class="nav-header"><nobr>Wyszukaj:</nobr></li>
+								<?php if (!$typeSpecialZasob) : ?>
+									<li>
+										<div class="alert alert-error">Brak typespecial __ZASOB</div>
+									</li>
+								<?php else : ?>
+									<li>
+										<form id="ProcesMenuZasobFrm" action="procesy5.php" method="GET" style="padding:0 20px">
+											<input type="hidden" name="task" value="CRM_LISTA_ZASOBOW">
+											<?php
+												$fldName = 'ProcesMenu__filtr_id';
+												$fldParams = array();
+												$fldParams['allowCreate'] = false;
+												$fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=PROCES_MENU&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fldName}";
+												$fldParams['placeholder'] = 'Szukaj...';
+												$fldParams['formFieldName'] = 'filtr_id';
+												//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
+												echo $typeSpecialZasob->showFormItem($tblID = -1, $fldName, $selValue = '', $fldParams);
+											?>
+											<input class="btn btn-mini btn-primary" type="submit" value="Wybierz" />
+											<script>
 jQuery(document).ready(function() {
-	jQuery('#ProcesMenuZasobSearchInput').on('click', function(e) {
-		return false;
-	});
-	jQuery('#ProcesMenuZasobSearchInput').on('keypress', function(e) {
-		if (e.which == 13) {
-			procesMenuZasobSearchGo();
-		}
-	});
-	jQuery('#ProcesMenuZasobSearchSubmit').on('click', function(e) {
-		procesMenuZasobSearchGo();
-	});
 	jQuery('#ProcesMenuZasobDropdownLink').on('click', function(e) {
 		setTimeout(function(){
-			jQuery('#ProcesMenuZasobSearchInput').focus();
+			jQuery('#ts-<?php echo $fldName; ?>')
+				.next('.selectize-control')
+				.find('input:first')
+				.focus();
 		}, 200);
 	});
 });
-								</script>
+											</script>
+										</form>
 							</li>
+								<?php endif; ?>
 						</ul>
 					</li>
 					<li<?php if ($active == 'obowiazki') echo ' class="active"'; ?>><a href="procesy5.php?task=CRM_WYSWIETL_OBOWIAZKI" title="Wyswietlenie OBOWIAZKOW">Obowiązki</a></li>
@@ -502,32 +511,29 @@ jQuery(document).ready(function() {
 							<li><a href="index.php?LOGIN=PERMS_RELOAD" title="Przeładuj uprawnienia"><i class="icon-refresh"></i> Przeładuj uprawnienia</a></li>
 							<?php if (User::isAdmin()) : ?>
 								<li class="divider"></li>
-								<li class="nav-header">Pokaż testy pracownika:</li>
-								<li>
-									<?php
-										Lib::loadClass('UsersHelper');
-										$users = UsersHelper::get_users_list(null, 100, 0, 'ADM_NAME', 'ASC');
-										$user_sel = array();
-										foreach ($users as $r) {
-											$user_sel [$r->ID] = "{$r->ID}: {$r->ADM_NAME} ({$r->ADM_ACCOUNT}, {$r->EMAIL}, {$r->ADM_PHONE})";
-										}
-
-										if (!empty($user_sel)) {
-											echo '<form action="index.php" method="POST">';
-											echo '<input type="hidden" name="FUNCTION_INIT" value="MENU_SELECT_PROCES">';
-											echo '<input type="hidden" name="_action" value="showMyTests">';
-											echo '<select name="_user_id">';
-											foreach ($user_sel as $k_option => $v_label) {
-												$sel = ($k_option == $this->_user_id)? ' selected="selected"' : '';
-												echo '<option value="' . $k_option . '"' . $sel . '>' . $v_label . '</option>';
-											}
-											echo '</select>';
-											echo ' ';
-											echo '<input type="submit" value="Wybierz" />';
-											echo '</form>';
-										}
-									?>
-								</li>
+								<li class="nav-header"><nobr>Pokaż testy pracownika:</nobr></li>
+								<?php if (!$typeSpecialUserId) : ?>
+									<li>
+										<div class="alert alert-error">Brak typespecial __USERS_ID</div>
+									</li>
+								<?php else : ?>
+									<li>
+										<form action="index.php" method="POST">
+											<input type="hidden" name="FUNCTION_INIT" value="MENU_SELECT_PROCES">
+											<input type="hidden" name="_action" value="showMyTests">
+											<?php
+												$fldName = '_user_id';
+												$fldParams = array();
+												$fldParams['allowCreate'] = false;
+												$fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=PROCES_MENU&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fldName}";
+												$fldParams['placeholder'] = 'Szukaj...';
+												//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
+												echo $typeSpecialUserId->showFormItem($tblID = -1, $fldName, $selValue = '', $fldParams);
+											?>
+											<input class="btn btn-mini btn-warning" type="submit" value="Wybierz" />
+										</form>
+									</li>
+								<?php endif; ?>
 							<?php endif; ?>
 							<li class="divider"></li>
 							<li><a href="index.php?LOGIN=LOGOUT"><i class="icon-off"></i> Wyloguj</a></li>

+ 49 - 4
SE/se-lib/TypespecialVariable.php

@@ -28,6 +28,7 @@ class TypespecialVariable extends TypespecialBase {
 			case '__COMPANIES':
 			case 'DEFAULT_ACL_GROUP':
 			case 'VERSION_GIT':
+			case '__USER_ID':
 				return new TypespecialVariable($fldID, $fldName);
 				break;
 		}
@@ -65,6 +66,7 @@ class TypespecialVariable extends TypespecialBase {
 			case 'A_CLASSIFIED':
 			case 'DEFAULT_ACL_GROUP':
 			case 'VERSION_GIT':
+			case '__USER_ID':
 				$jsonAllowCreate = 'false';
 				break;
 			default:
@@ -90,7 +92,11 @@ class TypespecialVariable extends TypespecialBase {
 
 		$optionsJson = 'null';
 		$out .= '<div class="typepsecial">';
-		$out .= '<select id="ts-' . $fName . '">';
+		$outPlaceholder = '';
+		if ('' != ($paramPlaceholder = V::get('placeholder', '', $params))) {
+			$outPlaceholder = ' placeholder="' . $paramPlaceholder . '"';
+		}
+		$out .= '<select id="ts-' . $fName . '"' . $outPlaceholder . '>';
 			if (!empty($selValue)) {
 				$tsVal = (!empty($tsValue))? $tsValue : $selValue;
 				//$out .= '<option value="' . $selValue . '" selected="selected" typespecial="'.$tsVal.'">' . $tsVal . '</option>';
@@ -107,8 +113,10 @@ class TypespecialVariable extends TypespecialBase {
 		$ajaxDataUrlBase = "index-ajax.php?_cls=TableAjax&_zasobID={$tblID}&_task=TYPESPECIAL&fldID={$this->fldID}";
 		$ajaxDataUrlBase = V::get('ajaxDataUrlBase', $ajaxDataUrlBase, $params);
 
+		$frmFldName = V::get('formFieldName', $fName, $params);
+
 		$out .= '<script>' . "
-(function(){
+jQuery(document).ready(function(){
 	var fldNode=jQuery('#{$fName}'), tsNode=jQuery('#ts-{$fName}');
 	if (!fldNode && !tsNode) {
 		return;
@@ -119,7 +127,7 @@ class TypespecialVariable extends TypespecialBase {
 	if (fldNode.parent().hasClass('show-last-value')) {
 		fldNode.parent().hide();
 	}
-	tsNode.attr('name', '{$fName}');
+	tsNode.attr('name', '{$frmFldName}');
 	tsNode.attr('tabindex', fldNode.attr('tabindex'));
 	
 
@@ -205,7 +213,7 @@ class TypespecialVariable extends TypespecialBase {
 		}
 	});
 
-})()
+});
 		" . '</script>';
 
 		return $out;
@@ -547,6 +555,43 @@ class TypespecialVariable extends TypespecialBase {
 					$values[] = (object)array('id'=>$version, 'param_out'=>$version);
 				}
 			}
+			case '__USER_ID': {
+				$db = DB::getDB();
+				$query = trim($query, ' %');
+				$query = $db->_($query);
+				$sqlLimit = 20;
+				$sqlSelectLabel = array();
+				$sqlSelectLabel[] = 'u.`ADM_NAME`';
+				$sqlSelectLabel[] = "' ('";
+				$sqlSelectLabel[] = 'u.`ADM_ACCOUNT`';
+				$sqlSelectLabel[] = "', '";
+				$sqlSelectLabel[] = 'u.`EMAIL`';
+				$sqlSelectLabel[] = "', '";
+				$sqlSelectLabel[] = 'u.`ADM_PHONE`';
+				$sqlSelectLabel[] = "')'";
+				$sqlSelectLabel = "concat(" . implode(", ", $sqlSelectLabel) . ")";
+
+				$sql = "select u.`ID`
+						, {$sqlSelectLabel} as `LABEL`
+					from `ADMIN_USERS` as u
+					where u.`A_STATUS` in('NORMAL', 'WAITING','MONITOR','WARNING')
+						and u.`EMPLOYEE_TYPE` in('Pracownik','Partner')
+						and (u.`ID` like '%{$query}%'
+							or u.`ADM_ACCOUNT` like '%{$query}%'
+							or u.`ADM_NAME` like '%{$query}%'
+							or u.`ADM_PHONE` like '%{$query}%'
+							or u.`EMAIL` like '%{$query}%'
+						)
+					limit {$sqlLimit}
+				";
+				if(V::get('DBG_TS', 0, $_GET) > 2){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">sql (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sql);echo'</pre>';}
+				$res = $db->query($sql);
+				while ($r = $db->fetch($res)) {
+					$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;
+			}
 			default:
 				
 		}

+ 76 - 0
SE/superedit-PROCES_MENU.php

@@ -0,0 +1,76 @@
+<?php
+
+Lib::loadClass('TypespecialVariable');
+
+function PROCES_MENU() {
+
+	$taskMsgs = array();
+	$taskErrors = array();
+
+	$task = V::get('_task', '', $_REQUEST);
+	switch ($task) {
+		case 'TYPESPECIAL': {
+			$DBG = ('1' == V::get('DBG', '', $_REQUEST));
+			header("Content-type: application/json");
+
+			$fld = V::get('fld', '', $_GET);
+			switch ($fld) {
+				case '_user_id': {
+					$typeSpecialUserId = TypespecialVariable::getInstance(-1, '__USER_ID');
+					if (!$typeSpecialUserId) {
+						$jsonData = new stdClass();
+						$jsonData->message = "TypeSpecial '__USER_ID' not exists";
+						echo json_encode($jsonData);
+						exit;
+					}
+
+					$query = V::get('q', '', $_REQUEST);
+					$rawRows = null;
+					$jsonData = array();
+					$queryParams = array();
+					$rows = $typeSpecialUserId->getValuesWithExports($query, $queryParams);
+					if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'</pre>';}
+					foreach ($rows as $kID => $vItem) {
+						$itemJson = new stdClass();
+						$itemJson->id = $vItem->id;
+						$itemJson->name = $vItem->param_out;
+						if (!empty($vItem->exports)) {
+							$itemJson->exports = $vItem->exports;
+						}
+						$jsonData[] = $itemJson;
+					}
+					echo json_encode($jsonData);
+					break;
+				}
+				case 'ProcesMenu__filtr_id': {
+					$typeSpecialUserId = TypespecialVariable::getInstance(-1, '__ZASOB');
+					if (!$typeSpecialUserId) {
+						$jsonData = new stdClass();
+						$jsonData->message = "TypeSpecial '__ZASOB' not exists";
+						echo json_encode($jsonData);
+						exit;
+					}
+
+					$query = V::get('q', '', $_REQUEST);
+					$rawRows = null;
+					$jsonData = array();
+					$queryParams = array();
+					$rows = $typeSpecialUserId->getValuesWithExports($query, $queryParams);
+					if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'</pre>';}
+					foreach ($rows as $kID => $vItem) {
+						$itemJson = new stdClass();
+						$itemJson->id = $vItem->id;
+						$itemJson->name = $vItem->param_out;
+						if (!empty($vItem->exports)) {
+							$itemJson->exports = $vItem->exports;
+						}
+						$jsonData[] = $itemJson;
+					}
+					echo json_encode($jsonData);
+					break;
+				}
+			}
+			exit;
+		}
+	}
+}

+ 33 - 49
SE/superedit-USERS2_WINDYKACJA_STATUS.php

@@ -2136,6 +2136,37 @@ Informacja o zadłużeniu upubliczniona będzie w systemie KRD do dnia zapłaty
 		}
 	}
 
+	public static function getPowodyRezygnacji() {
+		// [895].[3888] - DEALS_TABLE.RODZAJ_DZIALANIA_HANDLOWEGO
+		$powody = array();
+		//	$powody['3226'] = "REZYGNACJA FINANSE";
+		//	$powody['3227'] = "REZYGNACJA SLABA OFERTA";
+		//	$powody['3121'] = "REZYGNACJA WYPROWADZKA";
+		//	$powody['3228'] = "REZYGNACJA PROBLEMY TECHNICZNE";
+		//	$powody['3230'] = "REZYGNACJA WYJAZD";
+		//	$powody['3229'] = "REZYGNACJA ZLA OBSLUGA BOK";
+		//	$powody['3123'] = "REZYGNACJA CESJA";
+		//	$powody['3119'] = "BRAK-BOK (Inne)";
+		//	$powody['4188'] = "UMOWA_BEZPOSREDNIA";
+		//	$powody['4189'] = "UMOWA_POSREDNIA";
+		//	$powody['4190'] = "TELEMARKETING";
+		$powody['4192'] = "REZYGNACJA ZMIANA OPERATORA";
+		$powody['4193'] = "REZYGNACJA WYPROWADZKA";
+		$powody['4194'] = "REZYGNACJA NIEZADOWOLENIE";
+		$powody['4195'] = "REZYGNACJA CESJA";
+		//$powody['4196'] = "REZYGNACJA FINANSE";
+		$powody['4197'] = "REZYGNACJA SLABA OFERTA";
+		$powody['4198'] = "REZYGNACJA PROBLEMY TECHNICZNE";
+		$powody['4199'] = "REZYGNACJA ZLA OBSLUGA BOK";
+		$powody['4200'] = "WYPOWIEDZENIE PRZEZ OPERATORA ZA DLUGI";
+		//	$powody['4201'] = "UMOWA W BOK ZWYCZAJNA";
+		//	$powody['4202'] = "REZYGNACJA WYJAZD";
+		//	$powody['4191'] = "BRAK-BOK (Inne)";
+		$powody['19803'] = "REZYGNACJA_Z_PRZEJSCIEM_DO_VECTRA";
+		$powody['4213'] = "REZYGNACJA INNE";
+		return $powody;
+	}
+
 	/**
 	 * @params $user
 	 * @params $id_koresp
@@ -2183,28 +2214,7 @@ Informacja o zadłużeniu upubliczniona będzie w systemie KRD do dnia zapłaty
 		}
 
 		$arg_values = array();
-		$arg_values['powod'] = array();// [774].[800] - USERS2_DEALS.RODZAJ_DZIALANIA_HANDLOWEGO
-//		$arg_values['powod']['3226'] = "Finansowe";
-//		$arg_values['powod']['3227'] = "Niesatysfakcjonująca oferta";
-//		$arg_values['powod']['3121'] = "Przeprowadzka";
-//		$arg_values['powod']['3228'] = "Problemy techniczne/awarie";
-//		$arg_values['powod']['3230'] = "Wyjazd";
-//		$arg_values['powod']['3229'] = "Zła obsługa BOK/DT";
-//		$arg_values['powod']['3119'] = "Inne";
-
-		// [895].[3888] - DEALS_TABLE.RODZAJ_DZIALANIA_HANDLOWEGO
-		$arg_values['powod']['4192'] = "REZYGNACJA ZMIANA OPERATORA";
-		$arg_values['powod']['4193'] = "REZYGNACJA WYPROWADZKA";
-		$arg_values['powod']['4194'] = "REZYGNACJA NIEZADOWOLENIE";
-		$arg_values['powod']['4195'] = "REZYGNACJA CESJA";
-		//$arg_values['powod']['4196'] = "REZYGNACJA FINANSE";
-		$arg_values['powod']['4197'] = "REZYGNACJA SLABA OFERTA";
-		$arg_values['powod']['4198'] = "REZYGNACJA PROBLEMY TECHNICZNE";
-		$arg_values['powod']['4199'] = "REZYGNACJA ZLA OBSLUGA BOK";
-		$arg_values['powod']['4200'] = "WYPOWIEDZENIE PRZEZ OPERATORA ZA DLUGI";
-		//$arg_values['powod']['4202'] = "REZYGNACJA WYJAZD";
-		// $arg_values['powod']['4191'] = "BRAK-BOK (Inne)";
-		$arg_values['powod']['4213'] = "REZYGNACJA INNE";
+		$arg_values['powod'] = self::getPowodyRezygnacji();
 
 		$com = new stdClass();
 		if ($user->BILLING_OWNER == 2) {
@@ -2316,33 +2326,7 @@ function frm_bok_rozwiazanie_umowy(frm){
 			$arg_values['nr_umowy'][$v_deal['ID']] = $v_deal['ID'] . ' (Nr umowy: ' . $v_deal['P_DEALNUMBER'] . ', ' . $v_deal['P_DEALDATE'] . ' - ' . $v_deal['P_DEALDATE_TERM'] . ')';
 		}
 
-		$arg_values['powod'] = array();// [774].[800] - USERS2_DEALS.RODZAJ_DZIALANIA_HANDLOWEGO
-//		$arg_values['powod']['3226'] = "REZYGNACJA FINANSE";
-//		$arg_values['powod']['3227'] = "REZYGNACJA SLABA OFERTA";
-//		$arg_values['powod']['3121'] = "REZYGNACJA WYPROWADZKA";
-//		$arg_values['powod']['3228'] = "REZYGNACJA PROBLEMY TECHNICZNE";
-//		$arg_values['powod']['3230'] = "REZYGNACJA WYJAZD";
-//		$arg_values['powod']['3229'] = "REZYGNACJA ZLA OBSLUGA BOK";
-//		$arg_values['powod']['3123'] = "REZYGNACJA CESJA";
-//		$arg_values['powod']['3119'] = "BRAK-BOK (Inne)";
-
-		// [895].[3888] - DEALS_TABLE.RODZAJ_DZIALANIA_HANDLOWEGO
-		//	$arg_values['powod']['4188'] = "UMOWA_BEZPOSREDNIA";
-		//	$arg_values['powod']['4189'] = "UMOWA_POSREDNIA";
-		//	$arg_values['powod']['4190'] = "TELEMARKETING";
-		$arg_values['powod']['4192'] = "REZYGNACJA ZMIANA OPERATORA";
-		$arg_values['powod']['4193'] = "REZYGNACJA WYPROWADZKA";
-		$arg_values['powod']['4194'] = "REZYGNACJA NIEZADOWOLENIE";
-		$arg_values['powod']['4195'] = "REZYGNACJA CESJA";
-		//$arg_values['powod']['4196'] = "REZYGNACJA FINANSE";
-		$arg_values['powod']['4197'] = "REZYGNACJA SLABA OFERTA";
-		$arg_values['powod']['4198'] = "REZYGNACJA PROBLEMY TECHNICZNE";
-		$arg_values['powod']['4199'] = "REZYGNACJA ZLA OBSLUGA BOK";
-		$arg_values['powod']['4200'] = "WYPOWIEDZENIE PRZEZ OPERATORA ZA DLUGI";
-		//	$arg_values['powod']['4201'] = "UMOWA W BOK ZWYCZAJNA";
-		//$arg_values['powod']['4202'] = "REZYGNACJA WYJAZD";
-		// $arg_values['powod']['4191'] = "BRAK-BOK (Inne)";
-		$arg_values['powod']['4213'] = "REZYGNACJA INNE";
+		$arg_values['powod'] = self::getPowodyRezygnacji();
 
 		// validate
 		if ($args['temin_odlaczenia'] == '') {