=head5 set_stunde_person

C<set_stunde_person( ID [Prompt] )>

Ändert die einem Stundeneintrag zugeordnete Person.

=cut

use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(log_update edit_personen check_perm);
use Dbase::Help qw(Do DoFn DoSeq);
use Dbase::Globals qw(kkpersinfo flush_std_cache);

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

    unless (check_perm("perso")) {
		warn "Du kannst deine Stunden nicht jemandem geben!\n";
		return undef;
	}

	my($okk,$beg,$dau) = DoFn("select person,beginn,dauer from stunden where id=$id");
	my $kk = edit_personen(DoFn("select kunde from stunden where id=$id")||1,
	                       1,$kn);
	return undef unless defined $kk;
	return 0 if $kk == $okk;

	log_update("stunden","id",$id,undef,"person",undef,
		$okk,kkpersinfo($okk,2));
	Do("update stunden set person = $kk where id = $id");
	flush_std_cache($okk,$beg,$dau);
	flush_std_cache($kk,$beg,$dau);
	DoSeq("stdupdate");
	$kk;
}
1;
