Ignorar:
Fecha y hora:
18/07/2017 11:51:15 (hace 7 años)
Autor:
Sipes Apn <root@…>
Branches:
stable
Children:
c64f646
Parents:
96e211e
Mensaje:

se corrigio el error presentado al momento de eliminar un valor

Fichero:
1 editado

Leyenda

No modificado
Añadido
Eliminado
  • 0.3-modules/cck_plan_fields/cck_plan_fields.module

    r1e031fe rf9bf786  
    616616 */
    617617function cck_plan_fields_validate($element, &$form_state) {
    618 
    619618  $field_name = $element['#field_name'];
    620   $type_name = $element['#type_name'];
    621   $field = content_fields($field_name, $type_name);
    622   $min = is_numeric($field['widget']['min']);
    623   $max = is_numeric($field['widget']['max']);
    624   $cck_plan_fields_path = drupal_get_path('module', 'cck_plan_fields');
    625   drupal_add_js($cck_plan_fields_path . '/js/cck_plan_fields.js');
    626   $flag = FALSE;
    627   foreach ($element['#columns'] as $ftype) {
    628     if ($ftype != 'tid' && !empty($element[$ftype]['#value'])) {
    629       $error_field = implode('][', $element['#parents']) .'][' . $ftype;
    630       if (!is_numeric($element[$ftype]['#value'])) {
    631         form_set_error($error_field, t('Amount should be a number in %field.', array('%field' => t($field['widget']['label']))));
    632       }
    633       elseif ($field['cck_plan_fields_simple_type'] == 'int') {
    634         $start = $element[$ftype]['#value'];
    635         $value = preg_replace('@[^-0-9]@', '', $start);
    636         if ($start != $value) {
    637           form_set_error($error_field, t('Only numbers are allowed in %field.', array('%number' => $field['widget']['min'], '%field' => t($field['widget']['label']))));
    638         }
    639       }
    640       elseif ($min && $field['widget']['min'] > $element[$ftype]['#value']) {
    641         form_set_error($error_field, t('Amount should be greater %number in %field.', array('%number' => $field['widget']['min'], '%field' => t($field['widget']['label']))));
    642       }
    643       elseif ($max && $field['widget']['max'] < $element[$ftype]['#value']) {
    644         form_set_error($error_field, t('Amount should be litter %number in %field.', array('%number' => $field['widget']['max'], '%field' => t($field['widget']['label']))));
    645       }
    646       $flag = TRUE;
    647     }
    648   }
    649   if (!$flag) {
    650     return;
    651   }
    652   if ($element['#delta']) {
    653     $current_taxonomy = $element['tid']['#value'];
    654     for($i = 0; $i < $element['#delta']; $i++) {
    655       if ($current_taxonomy == $form_state['values'][$field_name][$i]['tid']) {
    656         $error_field = implode('][', $element['#parents']) .'][tid';
    657         form_set_error($error_field, t('Account can not be repeat in %field.', array('%field' => t($field['widget']['label']))));
    658       }
    659     }
    660   }
    661   $type_name = $element['#type_name'];
    662   $field = content_fields($field_name, $type_name);
    663   $field_key = $element['#columns'][0];
     619  if (!isset($element['_remove']['#post'][$field_name][$element['#delta']]['_remove'])) {
     620    $type_name = $element['#type_name'];
     621    $field = content_fields($field_name, $type_name);
     622    $min = is_numeric($field['widget']['min']);
     623    $max = is_numeric($field['widget']['max']);
     624    $cck_plan_fields_path = drupal_get_path('module', 'cck_plan_fields');
     625    drupal_add_js($cck_plan_fields_path . '/js/cck_plan_fields.js');
     626    $flag = FALSE;
     627    foreach ($element['#columns'] as $ftype) {
     628      if ($ftype != 'tid' && !empty($element[$ftype]['#value'])) {
     629        $error_field = implode('][', $element['#parents']) .'][' . $ftype;
     630        if (!is_numeric($element[$ftype]['#value'])) {
     631          form_set_error($error_field, t('Amount should be a number in %field.', array('%field' => t($field['widget']['label']))));
     632        }
     633        elseif ($field['cck_plan_fields_simple_type'] == 'int') {
     634          $start = $element[$ftype]['#value'];
     635          $value = preg_replace('@[^-0-9]@', '', $start);
     636          if ($start != $value) {
     637            form_set_error($error_field, t('Only numbers are allowed in %field.', array('%number' => $field['widget']['min'], '%field' => t($field['widget']['label']))));
     638          }
     639        }
     640        elseif ($min && $field['widget']['min'] > $element[$ftype]['#value']) {
     641          form_set_error($error_field, t('Amount should be greater %number in %field.', array('%number' => $field['widget']['min'], '%field' => t($field['widget']['label']))));
     642        }
     643        elseif ($max && $field['widget']['max'] < $element[$ftype]['#value']) {
     644          form_set_error($error_field, t('Amount should be litter %number in %field.', array('%number' => $field['widget']['max'], '%field' => t($field['widget']['label']))));
     645        }
     646        $flag = TRUE;
     647      }
     648    }
     649    if (!$flag) {
     650      return;
     651    }
     652    if ($element['#delta']) {
     653      $current_taxonomy = $element['tid']['#value'];
     654      for($i = 0; $i < $element['#delta']; $i++) {
     655        if ($current_taxonomy == $form_state['values'][$field_name][$i]['tid']) {
     656          $error_field = implode('][', $element['#parents']) .'][tid';
     657          form_set_error($error_field, t('Account can not be repeat in %field.', array('%field' => t($field['widget']['label']))));
     658        }
     659      }
     660    }
     661  }
    664662}
    665663
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.