use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_in edit_personen log_update);
use Fehler qw(problem);
use Dbase::Help qw(Do DoFn);
use Dbase::Globals qw(kkpersinfo name_kunde);

sub set_kunde_ansprechpartner($$$;$) {
	my($name, $kunde_id, $feld, $ist_ap) = @_;

	defined( my $ap = edit_personen($ist_ap ? 1 : $kunde_id, 1 | 4, $name) )
	  or return;

	if ($ap eq '-') { $ap = 'NULL' }
	elsif($ist_ap and (my $kunde = DoFn("SELECT kunde FROM person WHERE id = $ap")) != 1
		and not $ENV{TESTING2})
	{
		return problem("Diese Person gehört zu Kunde #$kunde:"
			  . name_kunde($kunde). ".",
			"als Ansprechpartner sind aber nur zu POP gehörende Personen erlaubt.");
	}

	my $ap_bisher = DoFn("SELECT $feld FROM kunde WHERE id = $kunde_id");
	log_update(
		kunde => id => $kunde_id,
		undef, $feld,$feld, undef, $ap_bisher, kkpersinfo($ap_bisher, 2)
	);
	Do("UPDATE kunde SET $feld = $ap WHERE id = $kunde_id");
}

1;
