Mercurial Hosting > nabble
comparison src/nabble/view/naml/rest_group_control.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:7ecd1a4ef557 |
---|---|
1 <!-- | |
2 Add/Remove users to/from groups. | |
3 http://<site-domain>/template/NamlServlet.jtp?macro=rest_group_control&owner=owner@example.com&password=123456&user=user@example.com&action=add&group=Members | |
4 http://<site-domain>/template/NamlServlet.jtp?macro=rest_group_control&owner=owner@example.com&password=123456&user=user@example.com&action=remove&group=Members | |
5 Sample URLs | |
6 --> | |
7 <macro name="rest_group_control" requires="servlet"> | |
8 <n.check_not_null value="[n.rest_owner_email/]" error_msg="Invalid owner email."/> | |
9 <n.check_not_null value="[n.rest_owner_password_hash/]" error_msg="Invalid password hash."/> | |
10 <n.check_not_null value="[n.rest_user_email/]" error_msg="Invalid user email."/> | |
11 <n.check_not_null value="[n.rest_action/]" error_msg="Missing action."/> | |
12 <n.check_not_null value="[n.rest_group/]" error_msg="Missing group name."/> | |
13 | |
14 <n.catch_exception. id="save-block"> | |
15 <n.if.check_registered_user email="[n.rest_owner_email/]" password_hash="[n.rest_owner_password_hash/]"> | |
16 <then> | |
17 <n.if.regex_matches text="[n.rest_action/]" pattern="add|remove"> | |
18 <then> | |
19 <n.get_or_create_user. email="[n.rest_owner_email/]"> | |
20 <n.as_user_page.> | |
21 <n.edit_page_user.> | |
22 <n.if.equal value1="[n.rest_action/]" value2="add"> | |
23 <then><n.add_to_group.rest_group/></then> | |
24 <else><n.remove_from_group.rest_group/></else> | |
25 </n.if.equal> | |
26 </n.edit_page_user.> | |
27 Success. | |
28 </n.as_user_page.> | |
29 </n.get_or_create_user.> | |
30 </then> | |
31 <else> | |
32 Actions should be "add" or "remove". | |
33 </else> | |
34 </n.if.regex_matches> | |
35 </then> | |
36 <else>Invalid owner email and password.</else> | |
37 </n.if.check_registered_user> | |
38 </n.catch_exception.> | |
39 </macro> | |
40 | |
41 <macro name="check_not_null" parameters="value,error_msg"> | |
42 <n.if.is_null.value> | |
43 <then> | |
44 <n.error_msg/> | |
45 <n.exit/> | |
46 </then> | |
47 </n.if.is_null.value> | |
48 </macro> | |
49 | |
50 <macro name="rest_owner_email"> | |
51 <n.get_parameter name="owner"/> | |
52 </macro> | |
53 | |
54 <macro name="rest_owner_password_hash"> | |
55 <n.get_parameter name="password"/> | |
56 </macro> | |
57 | |
58 <macro name="rest_action"> | |
59 <n.get_parameter name="action"/> | |
60 </macro> | |
61 | |
62 <macro name="rest_group"> | |
63 <n.get_parameter name="group"/> | |
64 </macro> | |
65 | |
66 <macro name="rest_user_email"> | |
67 <n.get_parameter name="user"/> | |
68 </macro> |