Skip to content
Snippets Groups Projects
Commit fa10b8f8 authored by Uma's avatar Uma
Browse files

Multi picklist Validation and save for editable picklist values is supported

parent 8becca8c
No related branches found
No related tags found
1 merge request!432Fixes:#1173 ::Uma:: Multi picklist Validation and save for editable picklist values is supported
......@@ -150,7 +150,15 @@ class Calendar_Save_Action extends Vtiger_Save_Action {
if(($fieldDataType == 'picklist' || $fieldDataType == 'multipicklist' || $fieldDataType == 'multiowner') && $fieldValue !== null){
$fieldInfo = $fieldModel->getFieldInfo();
$editablePicklistValues = $fieldInfo['editablepicklistvalues'];
if(!empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
if($fieldDataType == 'multipicklist'&& !empty($editablePicklistValues)){
$selectedMultiPick = array();
foreach ($fieldValue as $key => $selectedValue) {
if(in_array($selectedValue, $editablePicklistValues)){
$selectedMultiPick[] = $selectedValue;
}
}
$fieldValue = $selectedMultiPick;
}else if( $fieldDataType != 'multipicklist' && !empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
$fieldValue = null;
}
}
......
......@@ -62,7 +62,15 @@ class SalesOrder_SaveAjax_Action extends Inventory_SaveAjax_Action {
if(($fieldDataType == 'picklist' || $fieldDataType == 'multipicklist' || $fieldDataType == 'multiowner') && $fieldValue !== null){
$fieldInfo = $fieldModel->getFieldInfo();
$editablePicklistValues = $fieldInfo['editablepicklistvalues'];
if(!empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
if($fieldDataType == 'multipicklist'&& !empty($editablePicklistValues)){
$selectedMultiPick = array();
foreach ($fieldValue as $key => $selectedValue) {
if(in_array($selectedValue, $editablePicklistValues)){
$selectedMultiPick[] = $selectedValue;
}
}
$fieldValue = $selectedMultiPick;
}else if( $fieldDataType != 'multipicklist' && !empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
$fieldValue = null;
}
}
......@@ -94,7 +102,15 @@ class SalesOrder_SaveAjax_Action extends Inventory_SaveAjax_Action {
if(($fieldDataType == 'picklist' || $fieldDataType == 'multipicklist' || $fieldDataType == 'multiowner') && $fieldValue !== null){
$fieldInfo = $fieldModel->getFieldInfo();
$editablePicklistValues = $fieldInfo['editablepicklistvalues'];
if(!empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
if($fieldDataType == 'multipicklist'&& !empty($editablePicklistValues)){
$selectedMultiPick = array();
foreach ($fieldValue as $key => $selectedValue) {
if(in_array($selectedValue, $editablePicklistValues)){
$selectedMultiPick[] = $selectedValue;
}
}
$fieldValue = $selectedMultiPick;
}else if( $fieldDataType != 'multipicklist' && !empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
$fieldValue = null;
}
}
......
......@@ -164,7 +164,15 @@ class Vtiger_Save_Action extends Vtiger_Action_Controller {
if(($fieldDataType == 'picklist' || $fieldDataType == 'multipicklist' || $fieldDataType == 'multiowner') && $fieldValue !== null){
$fieldInfo = $fieldModel->getFieldInfo();
$editablePicklistValues = $fieldInfo['editablepicklistvalues'];
if(!empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
if($fieldDataType == 'multipicklist'&& !empty($editablePicklistValues)){
$selectedMultiPick = array();
foreach ($fieldValue as $key => $selectedValue) {
if(in_array($selectedValue, $editablePicklistValues)){
$selectedMultiPick[] = $selectedValue;
}
}
$fieldValue = $selectedMultiPick;
}else if( $fieldDataType != 'multipicklist' && !empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
$fieldValue = null;
}
}
......
......@@ -110,7 +110,15 @@ class Vtiger_SaveAjax_Action extends Vtiger_Save_Action {
if(($fieldDataType == 'picklist' || $fieldDataType == 'multipicklist' || $fieldDataType == 'multiowner') && $fieldValue !== null){
$fieldInfo = $fieldModel->getFieldInfo();
$editablePicklistValues = $fieldInfo['editablepicklistvalues'];
if(!empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
if($fieldDataType == 'multipicklist'&& !empty($editablePicklistValues)){
$selectedMultiPick = array();
foreach ($fieldValue as $key => $selectedValue) {
if(in_array($selectedValue, $editablePicklistValues)){
$selectedMultiPick[] = $selectedValue;
}
}
$fieldValue = $selectedMultiPick;
}else if( $fieldDataType != 'multipicklist' && !empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
$fieldValue = null;
}
}
......@@ -140,9 +148,24 @@ class Vtiger_SaveAjax_Action extends Vtiger_Save_Action {
$fieldValue = $fieldModel->getDefaultFieldValue();
}
$fieldDataType = $fieldModel->getFieldDataType();
if ($fieldDataType == 'time') {
if ($fieldDataType == 'time' && $fieldValue !== null) {
$fieldValue = Vtiger_Time_UIType::getTimeValueWithSeconds($fieldValue);
}
if(($fieldDataType == 'picklist' || $fieldDataType == 'multipicklist' || $fieldDataType == 'multiowner') && $fieldValue !== null){
$fieldInfo = $fieldModel->getFieldInfo();
$editablePicklistValues = $fieldInfo['editablepicklistvalues'];
if($fieldDataType == 'multipicklist'){
$selectedMultiPick = array();
foreach ($fieldValue as $key => $selectedValue) {
if(in_array($selectedValue, $editablePicklistValues)){
$selectedMultiPick[] = $selectedValue;
}
}
$fieldValue = $selectedMultiPick;
}else if( $fieldDataType != 'multipicklist' && !empty($editablePicklistValues) && !in_array($fieldValue, $editablePicklistValues)){
$fieldValue = null;
}
}
if ($fieldValue !== null) {
if (!is_array($fieldValue)) {
$fieldValue = trim($fieldValue);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment