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

sub rename_kunde($;$) {
	my($id,$kn) = @_;
	my $nn = line_in "Neuer Name: ";
	return undef unless $nn;
	return problem(<<'_') if length($nn) > 16 || $nn !~ /^[_a-z0-9]*[a-z][-_a-z0-9]*\z/;
Kundennamen müssen ausschließlich aus Kleinbuchstaben und Ziffern bestehen,
außer beim ersten Zeichen sind außerdem Bindestriche erlaubt.
Die Maximallänge beträgt 16 Zeichen.
_
	{
		my $nk = DoFn("SELECT id FROM kunde WHERE name = ${\ qquote($nn) }");
		return problem("So heißt schon Kunde #$nk!") if $nk > 0 && $nk != $id;
	}
	log_update("kunde","id",$id,undef,"name",undef,
		DoFn("select name from kunde where id=$id"));
	Do("update kunde set name='$nn' where id=$id");
	name_kunde($id,1);
	$nn;
}

1;
