Handle hostnames with upper-case letters
[webmin.git] / rbac / edit_user.cgi
1 #!/usr/local/bin/perl
2 # Show one RBAC user
3
4 require './rbac-lib.pl';
5 &ReadParse();
6 if ($in{'new'}) {
7         &ui_print_header(undef, $text{'user_title1'}, "");
8         $access{'users'} || $access{'roles'} || &error($text{'user_ecannot'});
9         }
10 else {
11         $users = &list_user_attrs();
12         $user = $users->[$in{'idx'}];
13         &can_edit_user($user) || &error($text{'user_ecannot'});
14         &ui_print_header(undef, $text{'user_title2'}, "");
15         }
16
17 print &ui_form_start("save_user.cgi", "post");
18 print &ui_hidden("idx", $in{'idx'}),"\n";
19 print &ui_hidden("new", $in{'new'}),"\n";
20 print &ui_table_start($text{'user_header'}, "width=100%", 2);
21
22 print &ui_table_row($text{'user_user'},
23                     &ui_user_textbox("user", $user->{'user'}));
24
25 if ($access{'users'} && $access{'roles'}) {
26         print &ui_table_row($text{'user_type'},
27                             &ui_select("type", $user->{'attr'}->{'type'},
28                                        [ [ "", $text{'user_tdefault'} ],
29                                          [ "normal", $text{'user_tnormal'} ],
30                                          [ "role", $text{'user_trole'} ] ]));
31         }
32
33 print &ui_table_row($text{'user_profiles'},
34             &profiles_input("profiles", $user->{'attr'}->{'profiles'}, 1));
35
36 if (!$access{'authassign'}) {
37         # Can only view auths
38         print &ui_table_row($text{'user_auths'},
39                     join("<br>", map { "<tt>$_</tt>" }
40                                      split(/,/, $user->{'attr'}->{'auths'})) ||
41                     $text{'user_project1'});
42         }
43 else {
44         # Can select them
45         print &ui_table_row($text{'user_auths'},
46                     &auths_input("auths", $user->{'attr'}->{'auths'}));
47         }
48
49 print &ui_table_row($text{'user_roles'},
50             &attr_input("roles", $user->{'attr'}->{'roles'}, "role", 1));
51
52 $p = $user->{'attr'}->{'project'};
53 print &ui_table_row($text{'user_project'},
54                     &ui_radio("project_def", $p ? 0 : 1,
55                               [ [ 1, $text{'user_project1'} ],
56                                 [ 0, $text{'user_project0'} ] ])."\n".
57                     &project_input("project", $p));
58
59 print &ui_table_row($text{'user_lock'},
60                     &ui_radio("lock", $user->{'attr'}->{'lock_after_retries'},
61                                [ [ "", $text{'user_ldefault'} ],
62                                  [ "yes", $text{'yes'} ],
63                                  [ "no", $text{'no'} ] ]));
64
65 print &ui_table_end();
66 if ($in{'new'}) {
67         print &ui_form_end([ [ "create", $text{'create'} ] ]);
68         }
69 else {
70         print &ui_form_end([ [ "save", $text{'save'} ],
71                              [ "delete", $text{'delete'} ] ]);
72         }
73
74 &ui_print_footer("list_users.cgi", $text{'users_return'});
75