Skip to content

Commit dbc12d5

Browse files
committed
snippets.md to show
1 parent 49599d2 commit dbc12d5

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed

snippets.md

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
2+
# 1) Phone
3+
4+
```py
5+
phone = PhoneBone(
6+
descr="Telefon",
7+
default_country_code="+49",
8+
params={
9+
"visibleIf": """ category == "service" """,
10+
},
11+
)
12+
```
13+
14+
15+
# 2) View
16+
17+
```py
18+
"views": [
19+
{
20+
"name": "Service - Neu",
21+
"icon": "hammer",
22+
"filter": {
23+
"category": "service",
24+
"status": "new",
25+
},
26+
}
27+
],
28+
```
29+
30+
# 3) Assign
31+
32+
```py
33+
"views": [
34+
{
35+
"name": "Service - Neu",
36+
"icon": "hammer",
37+
"filter": {
38+
"category": "service",
39+
"status": "new",
40+
},
41+
"actions": ["assign"],
42+
"customActions": {
43+
"assign": {
44+
"name": "Zuweisen",
45+
"access": ["todo-edit", "root"],
46+
"icon": "person-plus-fill",
47+
"variant": "success",
48+
"outline": True,
49+
"action": "action",
50+
"url": "/{{module}}/assign",
51+
"enabled": "True",
52+
"show_label": True,
53+
"target": "popup",
54+
},
55+
},
56+
}
57+
],
58+
59+
60+
@exposed
61+
@skey(allow_empty=True)
62+
@access("todo-edit")
63+
def assign(self, **kwargs):
64+
65+
# ActionSkel for assigning multiple todos to one user
66+
class TodoAssignSkel(ActionSkel):
67+
todo = RelationalBone(
68+
kind="todo",
69+
descr="Todos",
70+
multiple=True,
71+
required=True,
72+
format="$(dest.lastname) - $(dest.message)",
73+
refKeys={
74+
"lastname",
75+
"message",
76+
}
77+
)
78+
79+
user = UserBone(
80+
descr="Zuweisen an",
81+
required=True,
82+
)
83+
84+
action_skel = TodoAssignSkel()
85+
86+
if selected_keys := current.request.get().context.get("viur_selected_keys"):
87+
if isinstance(selected_keys, str):
88+
selected_keys = selected_keys,
89+
90+
for key in selected_keys:
91+
action_skel.setBoneValue("todo", key, append=True)
92+
93+
if not kwargs or not action_skel.fromClient(kwargs):
94+
return self.render.render("assign", action_skel)
95+
96+
for todo in action_skel["todo"]:
97+
self.editSkel().update(
98+
values={
99+
"status": "open",
100+
"user": action_skel["user"]["dest"]["key"],
101+
},
102+
key=todo["dest"]["key"],
103+
)
104+
105+
return self.render.render("assignSuccess", action_skel)
106+
107+
108+
```

0 commit comments

Comments
 (0)