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_klasse($;$) {
	my ( $idi, $kn ) = @_;

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

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

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

1;
