View | Details | Raw Unified | Return to bug 30037
Collapse All | Expand All

(-)a/alterator-users/backend3/users (-1 / +19 lines)
Lines 24-29 set -f Link Here
24
24
25
. alterator-sh-functions
25
. alterator-sh-functions
26
. shell-quote
26
. shell-quote
27
. autologin-sh-functions
27
28
28
UID_MIN=$(grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r 's,UID_MIN[[:space:]]+,,')
29
UID_MIN=$(grep '^UID_MIN' /etc/login.defs 2>/dev/null|sed -r 's,UID_MIN[[:space:]]+,,')
29
[ -z "$UID_MIN" ] && UID_MIN=500
30
[ -z "$UID_MIN" ] && UID_MIN=500
Lines 196-201 create_account() Link Here
196
    # default groups
197
    # default groups
197
    group_include_default "$in_new_name" || return
198
    group_include_default "$in_new_name" || return
198
199
200
    if test_bool "$in_autologin"; then
201
	al_disable
202
	al_enable "$in_new_name" || return
203
    fi
204
199
    # change password
205
    # change password
200
    [ -z "$password" ] ||
206
    [ -z "$password" ] ||
201
	user_chpasswd "$in_new_name" "$password" ||
207
	user_chpasswd "$in_new_name" "$password" ||
Lines 204-209 create_account() Link Here
204
210
205
destroy_account()
211
destroy_account()
206
{
212
{
213
    al_disable "$in_new_name"
207
    [ -z "$in_name" ] ||
214
    [ -z "$in_name" ] ||
208
	/usr/sbin/userdel "$in_name" ||
215
	/usr/sbin/userdel "$in_name" ||
209
	user_write_retcode "$?"
216
	user_write_retcode "$?"
Lines 211-217 destroy_account() Link Here
211
218
212
read_account()
219
read_account()
213
{
220
{
214
    [ -z "$in_name" ] ||
221
    [ -z "$in_name" ] || {
215
	local_getent passwd "$in_name"|
222
	local_getent passwd "$in_name"|
216
	    (IFS=':' read name password uid gid gecos home shell;
223
	    (IFS=':' read name password uid gid gecos home shell;
217
		write_string_param gecos "$gecos"
224
		write_string_param gecos "$gecos"
Lines 220-225 read_account() Link Here
220
227
221
		! local_getent group wheel|cut -d: -f4|fgrep -qws "$name"
228
		! local_getent group wheel|cut -d: -f4|fgrep -qws "$name"
222
		write_bool_param allow_su "$?")
229
		write_bool_param allow_su "$?")
230
	! al_check "$in_name"; write_bool_param autologin "$?"
231
    }
223
}
232
}
224
233
225
write_account()
234
write_account()
Lines 247-252 write_account() Link Here
247
    else
256
    else
248
	group_exclude wheel "$in_name"
257
	group_exclude wheel "$in_name"
249
    fi
258
    fi
259
260
    if test_bool "$in_autologin"; then
261
	if ! al_check "$in_name"; then
262
	    al_disable	# possibly someone else
263
	    al_enable "$in_name" || return
264
        fi
265
    else
266
	al_check "$in_name" && al_disable "$in_name" ||:
267
    fi
250
}
268
}
251
269
252
generate_password()
270
generate_password()
(-)a/alterator-users/ui/users/add/index.scm (-4 / +7 lines)
Lines 8-14 Link Here
8
	    (passwd_auto (form-value "passwd_auto"))
8
	    (passwd_auto (form-value "passwd_auto"))
9
	    (auto (form-value "auto"))
9
	    (auto (form-value "auto"))
10
	    (gecos (form-value "gecos"))
10
	    (gecos (form-value "gecos"))
11
	    (name (form-value "new_name")))
11
	    (name (form-value "new_name"))
12
	    (autologin (form-value "autologin")))
12
	(cond
13
	(cond
13
	  ((string-null? name)
14
	  ((string-null? name)
14
	   (or (pair? (woo-call "/users/list_account"))
15
	   (or (pair? (woo-call "/users/list_account"))
Lines 24-30 Link Here
24
		     'auto auto
25
		     'auto auto
25
		     'passwd_auto passwd_auto
26
		     'passwd_auto passwd_auto
26
		     'passwd_1 passwd_1
27
		     'passwd_1 passwd_1
27
		     'passwd_2 passwd_2)))))))
28
		     'passwd_2 passwd_2
29
		     'autologin autologin)))))))
28
30
29
(define (ui-auto . auto)
31
(define (ui-auto . auto)
30
  (let ((auto (if (pair? auto) (car auto) (form-value "auto"))))
32
  (let ((auto (if (pair? auto) (car auto) (form-value "auto"))))
Lines 40-45 Link Here
40
    '("passwd_auto")
42
    '("passwd_auto")
41
    (woo-call "/users/generate_password")))
43
    (woo-call "/users/generate_password")))
42
44
45
; добавить проверку наличия /usr/bin/X для автологина
43
(define (ui-init)
46
(define (ui-init)
44
  (ui-generate)
47
  (ui-generate)
45
  (form-bind "auto" "change" ui-auto)
48
  (form-bind "auto" "change" ui-auto)
Lines 85-91 Link Here
85
    (label nameref "passwd_2" text (small (_ "(repeat passphrase)")))
88
    (label nameref "passwd_2" text (small (_ "(repeat passphrase)")))
86
    (edit name "passwd_auto" visibility #f alterability #f)
89
    (edit name "passwd_auto" visibility #f alterability #f)
87
    (button text (_ "Generate") name "generate_button" visibility #f)
90
    (button text (_ "Generate") name "generate_button" visibility #f)
88
    (label colspan 2 nameref "passwd_auto" visibility #f))
91
    (label colspan 2 nameref "passwd_auto" visibility #f)
92
    (checkbox text (_ "Autologin") name "autologin" visibility #t))
89
  (spacer))
93
  (spacer))
90
94
91
;;; Logic
95
;;; Logic
92
- 

Return to bug 30037