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

use Dbase::Globals qw(get_descr);
use Dbase::Help qw(Do DoFn DoSelect);
use Fehler qw(problem);
use Loader qw(current_user line_in log_update);
use RT::database::manipulate qw(reopen);

sub delete_handle($$;$$) {
	my($pers,$nic,$kn,$flag) = @_;
	$flag=0 unless defined $flag;

	my($handle,$status,$ticket) = DoFn("select handle,status,ticket from nic where person=$pers and nic=$nic");

	unless($flag&1 or not ($handle eq "" and $status == 0)) {
		problem "Handle '$pers/$nic' hat Daten.";
		return $nic;
	}

	my $resp = line_in "Soll dieser Handle wirklich gelöscht werden? ";
	if($resp !~ /^j/i) {
		print "Abgebrochen.\n";
		return $nic;
	}

	log_update("nic","person",$pers,undef,"nic","-",undef,get_descr("nic",$nic));
	if($ticket) {
		my $status = DoFn("select status from ticket where id = $ticket");
		reopen($ticket,current_user()) if $status == 2;
	}
	Do("delete from nic where person=$pers and nic=$nic");
	return undef;
}

1;
