@@ -65,6 +65,16 @@ def addSkel(self):
65
65
skel .user = None
66
66
return skel
67
67
68
+ def listFilter (self , query ):
69
+ if query := super ().listFilter (query ):
70
+ if not utils .string .is_prefix (self .render .kind , "json.vi" ):
71
+ cuser = current .user .get ()
72
+ query .mergeExternalFilter ({
73
+ "user.dest.key" : cuser ["key" ],
74
+ })
75
+
76
+ return query
77
+
68
78
@exposed
69
79
@skey (allow_empty = True )
70
80
@access ("todo-edit" )
@@ -96,30 +106,18 @@ class TodoAssignSkel(ActionSkel):
96
106
action_skel .setBoneValue ("todo" , key , append = True )
97
107
98
108
if not kwargs or not action_skel .fromClient (kwargs ):
99
- # TODO: Provide generic render action skel
100
- return self .render .edit (action_skel , "assign" )
109
+ return self .render .render ("assign" , action_skel )
101
110
102
- # TODO: Add program logic here
103
- # TODO: Create skel.update() function for transactional in-place update
104
111
for todo in action_skel ["todo" ]:
105
- skel = self .editSkel ()
106
- skel .fromDB (todo ["dest" ]["key" ])
107
- skel ["status" ] = "open"
108
- skel .setBoneValue ("user" , action_skel ["user" ]["dest" ]["key" ])
109
- skel .toDB ()
110
-
111
- # TODO: Provide generic render action success
112
- return self .render .editSuccess (action_skel , "assignSuccess" )
113
-
114
- def listFilter (self , query ):
115
- if query := super ().listFilter (query ):
116
- if not utils .string .is_prefix (self .render .kind , "json.vi" ):
117
- cuser = current .user .get ()
118
- query .mergeExternalFilter ({
119
- "user.dest.key" : cuser ["key" ],
120
- })
112
+ self .editSkel ().update (
113
+ values = {
114
+ "status" : "open" ,
115
+ "user" : action_skel ["user" ]["dest" ]["key" ],
116
+ },
117
+ key = todo ["dest" ]["key" ],
118
+ )
121
119
122
- return query
120
+ return self . render . render ( "assignSuccess" , action_skel )
123
121
124
122
125
123
Todo .html = True
0 commit comments