use utf8;
use warnings; no warnings "redefine";
use strict;

use Dbase::Help qw(Do DoFn qquote);
use Dbase::Globals qw(content def_or_minus mpersinfo is_valid_username);
use Fehler qw(problem);
use Loader qw(line_in log_update);

sub set_adresse_kurz($;$) {
	my($id,$kn) = @_;

	content ( my $nick = line_in "Kurzname: " ) or return;

	my $old_nick = DoFn("SELECT kurz FROM adresse WHERE id=$id");
	return if $nick eq '-' ? !defined $old_nick : defined $old_nick && $old_nick eq $nick;

	if(my $other = DoFn("SELECT id FROM adresse WHERE kurz=${\qquote $nick}")) {
		return problem "Dieser Kurzname ist schon bei Adresse #$other eingetragen.";
	}

	log_update( adresse => id => $id, undef, kurz => undef, def_or_minus($old_nick) );
	Do("update adresse set kurz=${\qquote $nick,1} where id=$id");
}

1;
