use utf8;
use warnings;
no warnings 'redefine';
use strict;
use Dbase::Help qw(Do qquote DoFn);
use Dbase::Globals qw(content name_kunde);
use Fehler qw(problem);
use Loader qw(line_in log_update valid_hostgroup_name);

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

	content( my $name = line_in( 'Name: ', undef, undef, $template ) )
	  or return;

	return problem(
		"Das ist ein Pflichtfeld und kann daher nicht gelöscht werden.")
	  if $name eq '-';

	return problem('Das ist kein gültiger Hostgroup-Name.')
	  unless valid_hostgroup_name($name);

	$name = qquote($name);

	if ( my ($kunde) =
		DoFn( 'SELECT kunde FROM hostgroup WHERE name = ' . $name ) )
	{
		return problem( "Dieser Hostgroup-Name ist schon bei Kunde #$kunde:"
			  . name_kunde($kunde)
			  . ' vergeben.' );
	}

	return $name unless defined $idi;

	log_update(
		hostgroup =>
		  id => $idi,
		undef, 'name', undef,
		DoFn("SELECT name FROM hostgroup WHERE id = $idi")
	);
	Do("UPDATE hostgroup SET name = $name WHERE id = $idi");
}

1;
