+sub check_gender {
+ my ($self, $entry) = @_;
+
+ push @{ $entry->{errors} }, $::locale->text('Error: Gender (cp_gender) missing or invalid') if ($entry->{object}->cp_gender ne 'm') && ($entry->{object}->cp_gender ne 'f');
+}
+
+sub get_duplicate_check_fields {
+ return {
+ cp_name => {
+ label => $::locale->text('Name'),
+ default => 1,
+ maker => sub {
+ my $o = shift;
+ return join(
+ '--',
+ $o->cp_cv_id,
+ map(
+ { s/[\s,\.\-]//g; $_ }
+ $o->cp_name
+ )
+ );
+ }
+ },
+ };
+}
+
+sub setup_displayable_columns {
+ my ($self) = @_;
+
+ $self->SUPER::setup_displayable_columns;
+ $self->add_cvar_columns_to_displayable_columns;
+
+ $self->add_displayable_columns({ name => 'cp_abteilung', description => $::locale->text('Department') },
+ { name => 'cp_birthday', description => $::locale->text('Birthday') },
+ { name => 'cp_cv_id', description => $::locale->text('Customer/Vendor (database ID)') },
+ { name => 'cp_email', description => $::locale->text('E-mail') },
+ { name => 'cp_fax', description => $::locale->text('Fax') },
+ { name => 'cp_gender', description => $::locale->text('Gender') },
+ { name => 'cp_givenname', description => $::locale->text('Given Name') },
+ { name => 'cp_id', description => $::locale->text('Database ID') },
+ { name => 'cp_mobile1', description => $::locale->text('Mobile1') },
+ { name => 'cp_mobile2', description => $::locale->text('Mobile2') },
+ { name => 'cp_name', description => $::locale->text('Name') },
+ { name => 'cp_phone1', description => $::locale->text('Phone1') },
+ { name => 'cp_phone2', description => $::locale->text('Phone2') },
+ { name => 'cp_privatemail', description => $::locale->text('Private E-mail') },
+ { name => 'cp_privatphone', description => $::locale->text('Private Phone') },
+ { name => 'cp_project', description => $::locale->text('Project') },
+ { name => 'cp_satfax', description => $::locale->text('Sat. Fax') },
+ { name => 'cp_satphone', description => $::locale->text('Sat. Phone') },
+ { name => 'cp_title', description => $::locale->text('Title') },
+ { name => 'cp_position', description => $::locale->text('Function/position') },
+
+ { name => 'customer', description => $::locale->text('Customer (name)') },
+ { name => 'customernumber', description => $::locale->text('Customer Number') },
+ { name => 'customer_gln', description => $::locale->text('Customer GLN') },
+ { name => 'vendor', description => $::locale->text('Vendor (name)') },
+ { name => 'vendornumber', description => $::locale->text('Vendor Number') },
+ { name => 'vendor_gln', description => $::locale->text('Vendor GLN') },
+ );