use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(DoFn Do qquote);
use Dbase::Globals qw(get_descr);
use Loader qw(select_descr log_update);

sub set_hardware_typ($;$) {
	my ( $idi, $kn ) = @_;

	defined(
		my $typ = select_descr
		  hardware_typ => 4,
		'', 'Hardwaretyp' . ( !defined $idi && ' (optional)' ), '!hide'
	  )
	  or return;
	$typ = $typ eq '-' ? 'NULL' : qquote $typ;
	return $typ unless defined $idi;

	my ( $kunde, $otyp ) =
	  DoFn "SELECT kunde, typ FROM hardware WHERE id=$idi";
	log_update hardware =>
	  id                => $idi,
	  undef, 'typ', undef, get_descr( hardware_typ => $otyp, 1 );
	Do "UPDATE hardware SET typ = $typ WHERE id=$idi";

	Do "UPDATE kunde SET geaendert=UNIX_TIMESTAMP(NOW()) WHERE id=$kunde"
	  if $kunde;
}

1;
