Some modification asterisk-helper.pl
[diplomippbx.git] / alterator-asterisk / ui / asterisk / advanced / index.scm
blob4c11f75bda2d43c0e8a84ed36d1840ea414aab29
1 (document:surround "/std/frame")
2 (document:insert "/std/functions")
4 (define *name* (global 'name))
6 (define (read-mirror)
7   (woo-catch/message
8     (thunk
9       (let ((data (woo-read-first "/pkg-sources" 'name *name*)))
10         (h1 text (bold (string-append (_ "Repository:") (woo-get-option data 'label))))
11         (mirrors enumref (list "/pkg-sources/avail_mirror" 'name *name*)
12                  value (woo-get-option data 'uri))))))
14 (define (new-mirror)
15   (woo-catch/message
16     (thunk
17       (woo-write "/pkg-sources"
18                  'new #t
19                  'name *name*
20                  'new_uri (new_uri value))
21       (read-mirror))))
23 (define (delete-mirror)
24   (woo-catch/message
25     (thunk
26       (woo-write "/pkg-sources"
27                  'delete #t
28                  'name *name*
29                  'uri (mirrors value))
30       (read-mirror))))
32 (define (write-mirror)
33   (woo-catch/message
34     (thunk
35       (woo-write "/pkg-sources"
36                  'commit #t
37                  'name *name*
38                  'uri (mirrors value)))))
40 (define (return)
41   (frame:replace "/pkg/sources"))
43 (gridbox
44   columns "100;0"
46   (document:id h1 (label colspan 2))
47   (label colspan 2)
49   (label text  (_ "New source:") colspan 2)
50   (document:id new_uri (edit))
51   (button text (_ "Add") (when clicked (new-mirror)))
53   (label text (_ "Available sources:") colspan 2)
54   (document:id mirrors (listbox colspan))
55   (button text (_ "Delete") align "top" (when clicked (delete-mirror)))
57   (label colspan 2)
58   (hbox colspan 2 align "left"
59     (button text (_ "OK") align "left" (when clicked (write-mirror) (return)))
60     (button text (_ "Cancel") align "left" (when clicked (return)))))
62 (document:root (when loaded (read-mirror)))