Index: number.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/cck/number.module,v retrieving revision 1.13 diff -u -r1.13 number.module --- number.module 28 Mar 2006 19:08:24 -0000 1.13 +++ number.module 1 Apr 2006 18:49:53 -0000 @@ -43,6 +43,7 @@ '#title' => t('Maximum'), '#default_value' => $field['max'] ? $field['max'] : '', ); + if(module_exist('options')) $form = options_field_settings('form', $field, $form); return $form; case 'validate': @@ -52,10 +53,13 @@ if ($field['max'] && !is_numeric($field['max'])) { form_set_error('rows', t('"Maximum" must be a number.')); } + if (module_exist('options')) options_field_settings('validate', $field); break; case 'save': - return array('min', 'max'); + $vals = array('min', 'max'); + if (module_exist('options')) $vals = array_merge($vals, options_field_settings('save', $field)); + return $vals; case 'database columns': if ($field['type'] == 'number_integer') { @@ -80,25 +84,30 @@ $output = ''; $node_field = $node->$field['field_name']; - if ($field['multiple']) { - foreach ($node_field as $delta => $item) { - $node_field[$delta]['view'] = number_field_view($field, $item['value']); + // let the options widget control the display of the field, if being used + if (module_exist('options') && strstr($field['widget']['type'], 'option')) { + return options_field($op, &$node, $field, $a2, $a3, $a4); + + } else { + if ($field['multiple']) { + foreach ($node_field as $delta => $item) { + $node_field[$delta]['view'] = number_field_view($field, $item['value']); + } } - } - else { - $node_field['view'] = number_field_view($field, $node_field['value']); - } - - $node->$field['field_name'] = $node_field; - if ($field['multiple']) { - $output = ''; - foreach ($node_field as $delta => $item) { - $output .= '
'. $item['view'] .'
'; + else { + $node_field['view'] = number_field_view($field, $node_field['value']); + } + $node->$field['field_name'] = $node_field; + if ($field['multiple']) { + $output = ''; + foreach ($node_field as $delta => $item) { + $output .= '
'. $item['view'] .'
'; + } + return $output; + } + else { + return '
'. $node_field['view'] .'
'; } - return $output; - } - else { - return '
'. $node_field['view'] .'
'; } break; }