ftimme
2012-10-22 0e509a3e29baf9dcb9f730af58f765becacf8f5f
- Added check for unique customer numbers (empty customer numbers are allowed as well).
- Extended UNIQUE validator to allow empty values if "allowempty" option is set to "y".
7 files modified
21 ■■■■ changed files
interface/lib/classes/tform.inc.php 9 ●●●●● patch | view | raw | blame | history
interface/web/client/form/client.tform.php 4 ●●●● patch | view | raw | blame | history
interface/web/client/form/reseller.tform.php 4 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_client.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_reseller.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_client.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_reseller.lng 1 ●●●● patch | view | raw | blame | history
interface/lib/classes/tform.inc.php
@@ -799,7 +799,9 @@
                                        }
                                break;
                                case 'UNIQUE':
                                        if($this->action == 'NEW') {
                                        if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
                                        if($validator['allowempty'] == 'n' || ($validator['allowempty'] == 'y' && $field_value != '')){
                                            if($this->action == 'NEW') {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'");
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
@@ -809,7 +811,7 @@
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        } else {
                                            } else {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."' AND ".$this->formDef['db_table_idx']." != ".$this->primary_id);
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
@@ -819,7 +821,8 @@
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        }
                                            }
                                        }
                                break;
                                case 'NOTEMPTY':
                                        if(empty($field_value)) {
interface/web/client/form/client.tform.php
@@ -118,6 +118,10 @@
        'customer_no' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'TEXT',
            'validators'    => array (     0 => array (    'type'    => 'UNIQUE',
                                                        'errmsg'=> 'customer_no_error_unique',
                                                        'allowempty' => 'y'),
                                    ),
            'default'    => '',
            'value'        => '',
            'separator'    => '',
interface/web/client/form/reseller.tform.php
@@ -118,6 +118,10 @@
        'customer_no' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'TEXT',
            'validators'    => array (     0 => array (    'type'    => 'UNIQUE',
                                                        'errmsg'=> 'customer_no_error_unique',
                                                        'allowempty' => 'y'),
                                    ),
            'default'    => '',
            'value'        => '',
            'separator'    => '',
interface/web/client/lib/lang/de_client.lng
@@ -135,5 +135,6 @@
$wb['repeat_password_txt'] = "Passwort wiederholen";
$wb['password_mismatch_txt'] = "Die Passwörter stimmen nicht überein.";
$wb['password_match_txt'] = "Die Passwörter stimmen überein.";
$wb["customer_no_error_unique"] = 'Die Kundennummer muß einzigartig sein (oder leer).';
?>
interface/web/client/lib/lang/de_reseller.lng
@@ -128,5 +128,6 @@
$wb['repeat_password_txt'] = "Passwort wiederholen";
$wb['password_mismatch_txt'] = "Die Passwörter stimmen nicht überein.";
$wb['password_match_txt'] = "Die Passwörter stimmen überein.";
$wb["customer_no_error_unique"] = 'Die Kundennummer muß einzigartig sein (oder leer).';
?>
interface/web/client/lib/lang/en_client.lng
@@ -139,4 +139,5 @@
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['email_error_isemail'] = 'Please enter a valid email address.';
$wb["customer_no_error_unique"] = 'The customer no. must be unique (or empty).';
?>
interface/web/client/lib/lang/en_reseller.lng
@@ -131,4 +131,5 @@
$wb['password_mismatch_txt'] = 'The passwords do not match.';
$wb['password_match_txt'] = 'The passwords do match.';
$wb['email_error_isemail'] = 'Please enter a valid email address.';
$wb["customer_no_error_unique"] = 'The customer no. must be unique (or empty).';
?>