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

sub set_person_resellerhandle($;$) {
	my ($pers) = @_;
	my $kunde = DoFn "SELECT kunde FROM person WHERE id=$pers"
	  or return problem "Kann den Kunden für Person #$pers nicht ermitteln!?";
	my $reseller = find_reseller $kunde
	  or return problem "Kunde #$kunde ist kein Reseller und gehört auch zu keinem.";
	my $handle = line_in "Reseller-Hdl: ";
	return undef if $handle =~ /^\s*$/;
	my $ohandle = DoFn("select handle from resellernic where person=$pers AND reseller=$reseller");
	return if $handle eq '-' and not $ohandle;
	if(not $ohandle) {
		log_update('resellerhandle','person',$pers, undef, 'reseller','handle','*', undef, $reseller,$handle);
		Do("insert into resellernic set person=$pers, reseller=$reseller, handle='${\quote $handle}'");
	} elsif($handle eq '-') {
		log_update('resellerhandle','person',$pers, undef, 'reseller','handle','-', undef, $reseller,$handle);
		Do("delete from resellernic where person=$pers and reseller=$reseller");
	} else {
		log_update('resellerhandle','person',$pers, undef, 'reseller','handle','-', undef, $reseller,$handle);
		Do("update resellernic set handle='${\quote $handle}' where person=$pers and reseller=$reseller");
	}
	1;
}

1;
