Option to ignore old CDRs, RT#81480
[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>'.
37                      '<FONT CLASS="fsinnerbox-title">Employee Groups</FONT>'.
38                      '<BR>'.
39                      '<TABLE CLASS="fsinnerbox">'.
40                      '<TR><TD>'.
41                      include( '/elements/checkboxes-table.html',
42                                 'source_obj'   => $access_user,
43                                 'link_table'   => 'access_usergroup',
44                                 'target_table' => 'access_group',
45                                 'name_col'     => 'groupname',
46                                 'target_link'  => $p.'edit/access_group.html?',
47                                 #'disable-able' => 1,
48                             ).
49                      '</TR></TD></TABLE>'
50                      ;
51                    },
52                  'onsubmit'  => 'check_user_custnum_search',
53                  'html_foot' => $check_user_custnum_search,
54                  'html_table_class' => 'fsinnerbox',
55            )
56 %>
57 <%init>
58
59 die "access denied"
60   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
61
62 my @pw_fields =
63   FS::Auth->auth_class->can('change_password')
64     ? ( { field=>'_password',  type=>'password' },
65         { field=>'_password2', type=>'password' },
66       )
67     : ();
68
69 my $check_user_custnum_search = <<END;
70   <SCRIPT TYPE="text/javascript">
71     function check_user_custnum_search(what) {
72       while ( user_custnum_search_active ) {
73         // javascript needs ambien
74       }
75       return true;
76     }
77   </SCRIPT>
78 END
79
80 sub edit_callback {
81   my ($cgi, $access_user, $fields_listref, $opt_hashref) = @_;
82   $access_user->_password('');
83
84   my @sched_item = $access_user->sched_item;
85   $access_user->sched_item_enabled('Y')
86     if $sched_item[0] && ! $sched_item[0]->disabled;
87 }
88
89 sub field_callback {
90   my ($c, $o, $f) = @_;
91   if($f->{'type'} eq 'password' and $o->is_system_user) {
92     $f->{'type'} = 'hidden';
93     $f->{'disabled'} = 1;
94   }
95 }
96
97 </%init>