diff --git a/workflow/engine/methods/additionalTables/additionalTablesSave.php b/workflow/engine/methods/additionalTables/additionalTablesSave.php index bd2b8b6a2..aee6ba9e7 100644 --- a/workflow/engine/methods/additionalTables/additionalTablesSave.php +++ b/workflow/engine/methods/additionalTables/additionalTablesSave.php @@ -58,7 +58,22 @@ foreach ($_POST['form']['FIELDS'] as $iRow => $aRow) { if (!isset($_POST['form']['FIELDS'][$iRow]['FLD_FOREIGN_KEY_TABLE'])) { $_POST['form']['FIELDS'][$iRow]['FLD_FOREIGN_KEY_TABLE'] = ''; } + + if (!isset($_POST['form']['FIELDS'][$iRow]['FLD_NULL_HDN'])) { + $_POST['form']['FIELDS'][$iRow]['FLD_NULL_HDN'] = ''; + } + if (!isset($_POST['form']['FIELDS'][$iRow]['FLD_KEY_HDN'])) { + $_POST['form']['FIELDS'][$iRow]['FLD_KEY_HDN'] = ''; + } + // replace values check + if (isset($_POST['form']['FIELDS'][$iRow]['FLD_KEY']) && $_POST['form']['FIELDS'][$iRow]['FLD_KEY_HDN'] == 'on') { + $_POST['form']['FIELDS'][$iRow]['FLD_KEY'] = $_POST['form']['FIELDS'][$iRow]['FLD_KEY_HDN']; + } + if (isset($_POST['form']['FIELDS'][$iRow]['FLD_NULL']) && $_POST['form']['FIELDS'][$iRow]['FLD_NULL_HDN'] == 'on') { + $_POST['form']['FIELDS'][$iRow]['FLD_NULL'] = $_POST['form']['FIELDS'][$iRow]['FLD_NULL_HDN']; + } } + $aKeys = array(); $aDynavars = array(); $aNoKeys = array(); diff --git a/workflow/engine/xmlform/additionalTables/additionalTablesEdit.xml b/workflow/engine/xmlform/additionalTables/additionalTablesEdit.xml index b1c639d27..2f9ca1433 100644 --- a/workflow/engine/xmlform/additionalTables/additionalTablesEdit.xml +++ b/workflow/engine/xmlform/additionalTables/additionalTablesEdit.xml @@ -287,11 +287,17 @@ var verifyData = function(oForm) { } } } - var bContinueKey = false; + var bContinueKey = false; for (var i = 1; i <= iRows; i++) { if (getGridField('FIELDS', i, 'FLD_KEY').checked) { bContinueKey = true; } + if (getGridField('FIELDS', i, 'FLD_KEY').checked) { + getGridField('FIELDS', i, 'FLD_KEY_HDN').value = "on" ; + } + if (getGridField('FIELDS', i, 'FLD_NULL').checked) { + getGridField('FIELDS', i, 'FLD_NULL_HDN').value = "on" ; + } } if (bContinue && bContinueKey) { oForm.submit(); @@ -365,7 +371,10 @@ var changeValues = function(iRow, sType) { var FLD_SIZE = getGridField('FIELDS', iOtherRow, 'FLD_SIZE').value; var FLD_NULL = getGridField('FIELDS', iOtherRow, 'FLD_NULL').checked; var FLD_KEY = getGridField('FIELDS', iOtherRow, 'FLD_KEY').checked; - + + var FLD_NULL_HDN = getGridField('FIELDS', iOtherRow, 'FLD_NULL_HDN').value; + var FLD_KEY_HDN = getGridField('FIELDS', iOtherRow, 'FLD_KEY_HDN').value; + getGridField('FIELDS', iOtherRow, 'FLD_UID').value = getGridField('FIELDS', iRow, 'FLD_UID').value; getGridField('FIELDS', iOtherRow, 'FLD_NAME').value = getGridField('FIELDS', iRow, 'FLD_NAME').value; getGridField('FIELDS', iOtherRow, 'FLD_DESCRIPTION').value = getGridField('FIELDS', iRow, 'FLD_DESCRIPTION').value; @@ -374,6 +383,10 @@ var changeValues = function(iRow, sType) { getGridField('FIELDS', iOtherRow, 'FLD_NULL').checked = getGridField('FIELDS', iRow, 'FLD_NULL').checked; getGridField('FIELDS', iOtherRow, 'FLD_KEY').checked = getGridField('FIELDS', iRow, 'FLD_KEY').checked; + getGridField('FIELDS', iOtherRow, 'FLD_NULL_HDN').value = getGridField('FIELDS', iRow, 'FLD_NULL_HDN').value; + getGridField('FIELDS', iOtherRow, 'FLD_KEY_HDN').value = getGridField('FIELDS', iRow, 'FLD_KEY_HDN').value; + + getGridField('FIELDS', iRow, 'FLD_UID').value = FLD_UID; getGridField('FIELDS', iRow, 'FLD_NAME').value = FLD_NAME; getGridField('FIELDS', iRow, 'FLD_DESCRIPTION').value = FLD_DESCRIPTION; @@ -382,6 +395,10 @@ var changeValues = function(iRow, sType) { getGridField('FIELDS', iRow, 'FLD_NULL').checked = FLD_NULL; getGridField('FIELDS', iRow, 'FLD_KEY').checked = FLD_KEY; + getGridField('FIELDS', iRow, 'FLD_NULL_HDN').value = FLD_NULL_HDN; + getGridField('FIELDS', iRow, 'FLD_KEY_HDN').value = FLD_KEY_HDN; + + onChangeType(iRow, false); onChangeType(iOtherRow, false); }; @@ -410,8 +427,9 @@ var dynaformOnload = function() { onChangeType(iRow, true); //onClickForeignKey(iRow, true); - document.getElementById('FIELDS').rows[iRow].getElementsByTagName('td')[8].innerHTML = document.getElementById('FIELDS').rows[1].getElementsByTagName('td')[8].innerHTML.replace('[1]', '[' + iRow + ']'); - document.getElementById('FIELDS').rows[iRow].getElementsByTagName('td')[9].innerHTML = document.getElementById('FIELDS').rows[1].getElementsByTagName('td')[9].innerHTML.replace('[1]', '[' + iRow + ']'); + document.getElementById('FIELDS').rows[iRow].getElementsByTagName('td')[10].innerHTML = document.getElementById('FIELDS').rows[1].getElementsByTagName('td')[10].innerHTML.replace('[1]', '[' + iRow + ']'); + document.getElementById('FIELDS').rows[iRow].getElementsByTagName('td')[11].innerHTML = document.getElementById('FIELDS').rows[1].getElementsByTagName('td')[11].innerHTML.replace('[1]', '[' + iRow + ']'); + }; // }; diff --git a/workflow/engine/xmlform/additionalTables/additionalTablesFields.xml b/workflow/engine/xmlform/additionalTables/additionalTablesFields.xml index 4f814b5a6..b20ec8dc3 100644 --- a/workflow/engine/xmlform/additionalTables/additionalTablesFields.xml +++ b/workflow/engine/xmlform/additionalTables/additionalTablesFields.xml @@ -23,10 +23,13 @@ Null - - Primary Key + + + + + \ No newline at end of file diff --git a/workflow/engine/xmlform/additionalTables/additionalTablesFields2.xml b/workflow/engine/xmlform/additionalTables/additionalTablesFields2.xml index cd20eea96..7eb14ee94 100644 --- a/workflow/engine/xmlform/additionalTables/additionalTablesFields2.xml +++ b/workflow/engine/xmlform/additionalTables/additionalTablesFields2.xml @@ -23,12 +23,15 @@ Null - - Primary Key + + + + + diff --git a/workflow/engine/xmlform/additionalTables/additionalTablesNew.xml b/workflow/engine/xmlform/additionalTables/additionalTablesNew.xml index a7cdb7521..a84adfc9b 100644 --- a/workflow/engine/xmlform/additionalTables/additionalTablesNew.xml +++ b/workflow/engine/xmlform/additionalTables/additionalTablesNew.xml @@ -290,6 +290,12 @@ var verifyData = function(oForm) { if (getGridField('FIELDS', i, 'FLD_KEY').checked) { bContinueKey = true; } + if (getGridField('FIELDS', i, 'FLD_KEY').checked) { + getGridField('FIELDS', i, 'FLD_KEY_HDN').value = "on" ; + } + if (getGridField('FIELDS', i, 'FLD_NULL').checked) { + getGridField('FIELDS', i, 'FLD_NULL_HDN').value = "on" ; + } } if (bContinue && bContinueKey) { oForm.submit();