bug #1253252 [display] Cannot NULL a column with relation defined

This commit is contained in:
Marc Delisle
2008-12-07 12:37:05 +00:00
parent f24b2379b3
commit 612610eac9
3 changed files with 14 additions and 3 deletions

View File

@@ -13,6 +13,9 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
- rfe #1927189 strip ` from column names on import - rfe #1927189 strip ` from column names on import
- rfe #1821619 LeftFrameDBSeparator can be an array - rfe #1821619 LeftFrameDBSeparator can be an array
3.1.2.0 (not yet released)
- bug #1253252 [display] Can't NULL a column with relation defined
3.1.1.0 (not yet released) 3.1.1.0 (not yet released)
- patch #2242765 [core] Navi panel server links wrong, - patch #2242765 [core] Navi panel server links wrong,
thanks to Martin Stricker - martinstricker thanks to Martin Stricker - martinstricker

View File

@@ -23,7 +23,7 @@ function nullify(theType, urlField, md5Field, multi_edit)
} }
// "SET" field , "ENUM" field with more than 20 characters // "SET" field , "ENUM" field with more than 20 characters
// or foreign key field // or foreign key field (drop-down)
if (theType == 1 || theType == 3 || theType == 4) { if (theType == 1 || theType == 3 || theType == 4) {
rowForm.elements['field_' + md5Field + multi_edit + '[]'].selectedIndex = -1; rowForm.elements['field_' + md5Field + multi_edit + '[]'].selectedIndex = -1;
} }
@@ -41,6 +41,10 @@ function nullify(theType, urlField, md5Field, multi_edit)
} // end if } // end if
} }
// foreign key field (with browsing icon for foreign values)
else if (theType == 6) {
rowForm.elements['field_' + md5Field + multi_edit + '[]'].value = '';
}
// Other field types // Other field types
else /*if (theType == 5)*/ { else /*if (theType == 5)*/ {
rowForm.elements['fields' + multi_edit + '[' + urlField + ']'].value = ''; rowForm.elements['fields' + multi_edit + '[' + urlField + ']'].value = '';

View File

@@ -566,6 +566,7 @@ foreach ($rows as $row_id => $vrow) {
// The null column // The null column
// --------------- // ---------------
$foreignData = PMA_getForeignData($foreigners, $field['Field'], false, '', '');
echo ' <td>' . "\n"; echo ' <td>' . "\n";
if ($field['Null'] == 'YES') { if ($field['Null'] == 'YES') {
echo ' <input type="hidden" name="fields_null_prev' . $field_name_appendix . '"'; echo ' <input type="hidden" name="fields_null_prev' . $field_name_appendix . '"';
@@ -591,8 +592,12 @@ foreach ($rows as $row_id => $vrow) {
} }
} elseif (strstr($field['True_Type'], 'set')) { } elseif (strstr($field['True_Type'], 'set')) {
$onclick .= '3, '; $onclick .= '3, ';
} elseif ($foreigners && isset($foreigners[$field['Field']])) { } elseif ($foreigners && isset($foreigners[$field['Field']]) && $foreignData['foreign_link'] == false) {
// foreign key in a drop-down
$onclick .= '4, '; $onclick .= '4, ';
} elseif ($foreigners && isset($foreigners[$field['Field']]) && $foreignData['foreign_link'] == true) {
// foreign key with a browsing icon
$onclick .= '6, ';
} else { } else {
$onclick .= '5, '; $onclick .= '5, ';
} }
@@ -613,7 +618,6 @@ foreach ($rows as $row_id => $vrow) {
// See bug #1667887 for the reason why we don't use the maxlength // See bug #1667887 for the reason why we don't use the maxlength
// HTML attribute // HTML attribute
$foreignData = PMA_getForeignData($foreigners, $field['Field'], false, '', '');
echo ' <td>' . "\n"; echo ' <td>' . "\n";
if ($foreignData['foreign_link'] == true) { if ($foreignData['foreign_link'] == true) {
echo $backup_field . "\n"; echo $backup_field . "\n";