use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Globals qw(flag_names);
use Dbase::Help qw(Do DoFn);
use Fehler qw(problem);
use Loader qw(log_update select_flags);

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

	defined( my $old_hostgroups =
		  DoFn("SELECT hostgroups FROM ipkunde WHERE id = $id") )
	  or
	  return problem('Kann bisherige Hostgroups des Objekts nicht ermitteln.');
	defined( my $new_hostgroups =
		  select_flags( $old_hostgroups, hostgroups => Hostgroups => '!hide' ) )
	  or return;

	return $new_hostgroups if $old_hostgroups == $new_hostgroups;

	log_update(
		ipkunde =>
		  id    => $id,
		undef,
		hostgroups => undef,
		scalar flag_names( $new_hostgroups, hostgroups => $old_hostgroups )
	);
	Do("UPDATE ipkunde SET hostgroups = $new_hostgroups WHERE id = $id");
}

1;
