2350917f13c47c3f0ee8f2810aa5e40448e9b533
[freeside.git] / httemplate / edit / access_user.html
1 <% include( 'elements/edit.html',
2                  'name'   => 'Employee',
3                  'table'  => 'access_user',
4                  'fields' => [
5                    'username',
6                    @pw_fields,
7                    'last',
8                    'first',
9                    { field=>'sched_item_enabled', type=>'checkbox', value=>'Y' },
10                    { field=>'user_custnum', type=>'search-cust_main', },
11                    { field       => 'report_salesnum',
12                      type        => 'select-sales',
13                      empty_label => 'all',
14                    },
15                    { field=>'disabled', type=>'checkbox', value=>'Y' },
16                  ],
17                  'labels' => { 
18                    'usernum'            => 'User number',
19                    'username'           => 'Username',
20                    '_password'          => 'Password',
21                    '_password2'         => 'Re-enter Password',
22                    'last'               => 'Last name',
23                    'first'              => 'First name',
24                    'sched_item_enabled' => 'Installer',
25                    'user_custnum'       => 'Customer (optional)',
26                    'report_salesnum'    => 'Limit commission report to sales person',
27                    'disabled'           => 'Disable employee',
28                  },
29                  'edit_callback' => \&edit_callback,
30                  'field_callback'=> \&field_callback,
31                  'viewall_dir' => 'browse',
32                  'html_bottom' =>
33                    sub {
34                      my $access_user = shift;
35
36                      '<BR>Employee Groups<BR>'.
37                      ntable("#cccccc",2).
38                      '<TR><TD>'.
39                      include( '/elements/checkboxes-table.html',
40                                 'source_obj'   => $access_user,
41                                 'link_table'   => 'access_usergroup',
42                                 'target_table' => 'access_group',
43                                 'name_col'     => 'groupname',
44                                 'target_link'  => $p.'edit/access_group.html?',
45                                 #'disable-able' => 1,
46                             ).
47                      '</TR></TD></TABLE>'
48                      ;
49                    },
50                  'onsubmit'  => 'check_user_custnum_search',
51                  'html_foot' => $check_user_custnum_search,
52            )
53 %>
54 <%init>
55
56 die "access denied"
57   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
58
59 my @pw_fields =
60   FS::Auth->auth_class->can('change_password')
61     ? ( { field=>'_password',  type=>'password' },
62         { field=>'_password2', type=>'password' },
63       )
64     : ();
65
66 my $check_user_custnum_search = <<END;
67   <SCRIPT TYPE="text/javascript">
68     function check_user_custnum_search(what) {
69       while ( user_custnum_search_active ) {
70         // javascript needs ambien
71       }
72       return true;
73     }
74   </SCRIPT>
75 END
76
77 sub edit_callback {
78   my ($cgi, $access_user, $fields_listref, $opt_hashref) = @_;
79   $access_user->_password('');
80
81   my @sched_item = $access_user->sched_item;
82   $access_user->sched_item_enabled('Y')
83     if $sched_item[0] && ! $sched_item[0]->disabled;
84 }
85
86 sub error_callback {
87   my ($cgi, $access_user) = @_;
88 warn $access_user->sched_item_enabled;
89 warn $cgi->param('sched_item_enabled');
90   $access_user->sched_item_enabled('Y')
91     if $cgi->param('sched_item_enabled');  
92 }
93
94 sub field_callback {
95   my ($c, $o, $f) = @_;
96   if($f->{'type'} eq 'password' and $o->is_system_user) {
97     $f->{'type'} = 'hidden';
98     $f->{'disabled'} = 1;
99   }
100 }
101
102 </%init>