## OpenCA - CA Command
## (c) 2001 by Michael Bell and OpenCA Group
##
##   File Name: new_right
##       Brief: create a new right
## Description: create a new rght finally and then call show_rights
##  Parameters: module, operation, operator, owner

sub cmdNew_right {

	## load parameters
	my $module    = $query->param ('module');
	my $operation = $query->param ('operation');
	my $operator  = $query->param ('operator');
	my $owner     = $query->param ('owner');

	## build filename
	my $file = getRequired ('RBAC_DIR')."/".
	           getRequired ('RIGHTS_DIR')."/".
	           encodeName ($module)."-".
	           encodeName ($operation)."-".
	           encodeName ($operator)."-".
	           encodeName ($owner).".sig";
	$file =~ s/ /\\ /g;           

	## check for an existent role
	if ( not -e $file) {
		## made the role visible
		my $ret = `touch $file`;
		if ( $? ) {
			configError (i18nGettext ("The command to create the right failed (touch __FILE__)!",
                                      "__FILE__", $file));
		}
	} 

	## delete params
	$query->delete ('module');
	$query->delete ('operation');
	$query->delete ('operator');
	$query->delete ('owner');

	libDoCommand ("show_rights");
}

1;

