do_query( $form, $dbh, $query, @values );
$query = undef;
+ my @columns = qw(cp_title cp_givenname cp_name cp_email cp_phone1 cp_phone2 cp_abteilung cp_fax
+ cp_mobile1 cp_mobile2 cp_satphone cp_satfax cp_project cp_privatphone cp_privatemail cp_birthday cp_gender
+ cp_street cp_zipcode cp_city);
+ @values = map { $_ eq 'cp_gender' ? ($form->{$_} eq 'f' ? 'f' : 'm') : $form->{$_} } @columns;
+
if ( $form->{cp_id} ) {
- $query = qq|UPDATE contacts SET | .
- qq|cp_title = ?, | .
- qq|cp_givenname = ?, | .
- qq|cp_name = ?, | .
- qq|cp_email = ?, | .
- qq|cp_phone1 = ?, | .
- qq|cp_phone2 = ?, | .
- qq|cp_abteilung = ?, | .
- qq|cp_fax = ?, | .
- qq|cp_mobile1 = ?, | .
- qq|cp_mobile2 = ?, | .
- qq|cp_satphone = ?, | .
- qq|cp_satfax = ?, | .
- qq|cp_project = ?, | .
- qq|cp_privatphone = ?, | .
- qq|cp_privatemail = ?, | .
- qq|cp_birthday = ?, | .
- qq|cp_gender = ? | .
- qq|WHERE cp_id = ?|;
- @values = (
- $form->{cp_title},
- $form->{cp_givenname},
- $form->{cp_name},
- $form->{cp_email},
- $form->{cp_phone1},
- $form->{cp_phone2},
- $form->{cp_abteilung},
- $form->{cp_fax},
- $form->{cp_mobile1},
- $form->{cp_mobile2},
- $form->{cp_satphone},
- $form->{cp_satfax},
- $form->{cp_project},
- $form->{cp_privatphone},
- $form->{cp_privatemail},
- $form->{cp_birthday},
- $form->{cp_gender} eq 'f' ? 'f' : 'm',
- $form->{cp_id}
- );
+ $query = qq|UPDATE contacts SET | . join(', ', map { "${_} = ?" } @columns) . qq| WHERE cp_id = ?|;
+ push @values, $form->{cp_id};
+
} elsif ( $form->{cp_name} || $form->{cp_givenname} ) {
- $query =
- qq|INSERT INTO contacts ( cp_cv_id, cp_title, cp_givenname, | .
- qq| cp_name, cp_email, cp_phone1, cp_phone2, cp_abteilung, cp_fax, cp_mobile1, | .
- qq| cp_mobile2, cp_satphone, cp_satfax, cp_project, cp_privatphone, cp_privatemail, | .
- qq| cp_birthday, cp_gender) | .
- qq|VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)|;
- @values = (
- $form->{id},
- $form->{cp_title},
- $form->{cp_givenname},
- $form->{cp_name},
- $form->{cp_email},
- $form->{cp_phone1},
- $form->{cp_phone2},
- $form->{cp_abteilung},
- $form->{cp_fax},
- $form->{cp_mobile1},
- $form->{cp_mobile2},
- $form->{cp_satphone},
- $form->{cp_satfax},
- $form->{cp_project},
- $form->{cp_privatphone},
- $form->{cp_privatemail},
- $form->{cp_birthday},
- $form->{cp_gender} eq 'f' ? 'f' : 'm',
- );
+ $query = qq|INSERT INTO contacts (| . join(', ', 'cp_cv_id', @columns) . qq|) VALUES (?, | . join(', ', ('?') x scalar(@columns)) . qq|)|;
+ unshift @values, $form->{id};
}
do_query( $form, $dbh, $query, @values ) if ($query);
'vcnumber' => 'vcnumber, cp_name, cp_givenname',
);
- my %sortcols = map { $_ => 1 } qw(cp_name cp_givenname cp_phone1 cp_phone2 cp_mobile1 cp_email vcname vcnumber);
+ my %sortcols = map { $_ => 1 } qw(cp_name cp_givenname cp_phone1 cp_phone2 cp_mobile1 cp_email cp_street cp_zipcode cp_city vcname vcnumber);
my $order_by = $sortcols{$::form->{sort}} ? $::form->{sort} : 'cp_name';
$::form->{sort} = $order_by;
my $cvar_configs = CVar->get_configs('module' => 'Contacts');
my @columns = qw(
- cp_id vcname vcnumber cp_name cp_givenname cp_street cp_phone1 cp_phone2
+ cp_id vcname vcnumber cp_name cp_givenname cp_street cp_zipcode cp_city cp_phone1 cp_phone2
cp_mobile1 cp_mobile2 cp_email cp_abteilung cp_birthday cp_gender
);
'cp_name' => { 'text' => $::locale->text('Name'), },
'cp_givenname' => { 'text' => $::locale->text('Given Name'), },
'cp_street' => { 'text' => $::locale->text('Street'), },
+ 'cp_zipcode' => { 'text' => $::locale->text('Zipcode'), },
+ 'cp_city' => { 'text' => $::locale->text('City'), },
'cp_phone1' => { 'text' => $::locale->text('Phone1'), },
'cp_phone2' => { 'text' => $::locale->text('Phone2'), },
'cp_mobile1' => { 'text' => $::locale->text('Mobile1'), },
</td>
</tr>
- <tr>
- <th align="left" nowrap>[% 'Gender' | $T8 %]</th>
- <td>
- <select id="cp_gender" name="cp_gender">
- <option value="m"[% IF cp_gender == 'm' %] selected[% END %]>[% 'male' | $T8 %]</option>
- <option value="f"[% IF cp_gender == 'f' %] selected[% END %]>[% 'female' | $T8 %]</option>
- </select>
- </td>
- </tr>
- <tr>
+ <tr>
+ <th align="left" nowrap>[% 'Gender' | $T8 %]</th>
+ <td>
+ <select id="cp_gender" name="cp_gender">
+ <option value="m"[% IF cp_gender == 'm' %] selected[% END %]>[% 'male' | $T8 %]</option>
+ <option value="f"[% IF cp_gender == 'f' %] selected[% END %]>[% 'female' | $T8 %]</option>
+ </select>
+ </td>
+ </tr>
<tr>
<th align="left" nowrap>[% 'Title' | $T8 %]</th>
<td><input id="cp_name" name="cp_name" size="40" maxlength="75" value="[% HTML.escape(cp_name) %]"></td>
</tr>
+ <tr>
+ <th align="left" nowrap>[% 'E-mail' | $T8 %]</th>
+ <td><input id="cp_email" name="cp_email" size="40" value="[% HTML.escape(cp_email) %]"></td>
+ </tr>
+
<tr>
<th align="left" nowrap>[% 'Phone1' | $T8 %]</th>
<td><input id="cp_phone1" name="cp_phone1" size="40" maxlength="75" value="[% HTML.escape(cp_phone1) %]"></td>
</tr>
<tr>
- <th align="left" nowrap>[% 'E-mail' | $T8 %]</th>
- <td><input id="cp_email" name="cp_email" size="40" value="[% HTML.escape(cp_email) %]"></td>
+ <th align="left" nowrap>[% 'Street' | $T8 %]</th>
+ <td><input id="cp_street" name="cp_street" size="40" maxlength="75" value="[% HTML.escape(cp_street) %]"></td>
+ </tr>
+
+ <tr>
+ <th align="left" nowrap>[% 'Zip, City' | $T8 %]</th>
+ <td>
+ <input id="cp_zipcode" name="cp_zipcode" size="5" maxlength="10" value="[% HTML.escape(cp_zipcode) %]">
+ <input id="cp_city" name="cp_city" size="25" maxlength="75" value="[% HTML.escape(cp_city) %]">
+ </td>
</tr>
<tr>