#!/usr/local/bin/perl # Show one RBAC user require './rbac-lib.pl'; &ReadParse(); if ($in{'new'}) { &ui_print_header(undef, $text{'user_title1'}, ""); $access{'users'} || $access{'roles'} || &error($text{'user_ecannot'}); } else { $users = &list_user_attrs(); $user = $users->[$in{'idx'}]; &can_edit_user($user) || &error($text{'user_ecannot'}); &ui_print_header(undef, $text{'user_title2'}, ""); } print &ui_form_start("save_user.cgi", "post"); print &ui_hidden("idx", $in{'idx'}),"\n"; print &ui_hidden("new", $in{'new'}),"\n"; print &ui_table_start($text{'user_header'}, "width=100%", 2); print &ui_table_row($text{'user_user'}, &ui_user_textbox("user", $user->{'user'})); if ($access{'users'} && $access{'roles'}) { print &ui_table_row($text{'user_type'}, &ui_select("type", $user->{'attr'}->{'type'}, [ [ "", $text{'user_tdefault'} ], [ "normal", $text{'user_tnormal'} ], [ "role", $text{'user_trole'} ] ])); } print &ui_table_row($text{'user_profiles'}, &profiles_input("profiles", $user->{'attr'}->{'profiles'}, 1)); if (!$access{'authassign'}) { # Can only view auths print &ui_table_row($text{'user_auths'}, join("
", map { "$_" } split(/,/, $user->{'attr'}->{'auths'})) || $text{'user_project1'}); } else { # Can select them print &ui_table_row($text{'user_auths'}, &auths_input("auths", $user->{'attr'}->{'auths'})); } print &ui_table_row($text{'user_roles'}, &attr_input("roles", $user->{'attr'}->{'roles'}, "role", 1)); $p = $user->{'attr'}->{'project'}; print &ui_table_row($text{'user_project'}, &ui_radio("project_def", $p ? 0 : 1, [ [ 1, $text{'user_project1'} ], [ 0, $text{'user_project0'} ] ])."\n". &project_input("project", $p)); print &ui_table_row($text{'user_lock'}, &ui_radio("lock", $user->{'attr'}->{'lock_after_retries'}, [ [ "", $text{'user_ldefault'} ], [ "yes", $text{'yes'} ], [ "no", $text{'no'} ] ])); print &ui_table_end(); if ($in{'new'}) { print &ui_form_end([ [ "create", $text{'create'} ] ]); } else { print &ui_form_end([ [ "save", $text{'save'} ], [ "delete", $text{'delete'} ] ]); } &ui_print_footer("list_users.cgi", $text{'users_return'});