Browse Source

add ability to change is_shared status of any node

Damien Accorsi 11 years ago
parent
commit
af157e13a6
1 changed files with 30 additions and 8 deletions
  1. 30 8
      pboard/pboard/controllers/api.py

+ 30 - 8
pboard/pboard/controllers/api.py View File

@@ -93,15 +93,17 @@ class PODApiController(BaseController):
93 93
       redirect(lurl('/document/%i'%(loNewNode.parent_id)))
94 94
 
95 95
     @expose()
96
-    def create_comment(self, parent_id=None, data_label='', data_content='', **kw):
96
+    def create_comment(self, parent_id=None, data_label='', data_content='', is_shared='', **kw):
97 97
       loCurrentUser   = pld.PODStaticController.getCurrentUser()
98 98
       loApiController = pld.PODUserFilteredApiController(loCurrentUser.user_id)
99
-      
99
+
100 100
       loNewNode = loApiController.createNode()
101 101
       loNewNode.parent_id     = int(parent_id)
102 102
       loNewNode.node_type     = pmd.PBNodeType.Comment
103 103
       loNewNode.data_label    = data_label
104 104
       loNewNode.data_content  = data_content
105
+      if is_shared=='on':
106
+        loNewNode.is_shared = True
105 107
 
106 108
       pm.DBSession.flush()
107 109
       redirect(lurl('/document/%i'%(loNewNode.parent_id)))
@@ -193,16 +195,25 @@ class PODApiController(BaseController):
193 195
       redirect(lurl('/document/%s'%(node_id)))
194 196
 
195 197
     @expose()
196
-    def create_document(self, parent_id=None):
198
+    def create_document(self, parent_id=None, data_label='', data_content=''):
197 199
       loCurrentUser   = pld.PODStaticController.getCurrentUser()
198 200
       loApiController = pld.PODUserFilteredApiController(loCurrentUser.user_id)
199
-      
201
+
202
+      lsNodeName = 'Document with no name...'
203
+      if int(parent_id)!=0:
204
+        loParent = loApiController.getNode(parent_id)
205
+        lsNodeName = 'Subdocument of (%s)' % loParent.data_label
206
+
200 207
       loNewNode = loApiController.createDummyNode()
201
-      loNewNode.data_label   = 'New document'
208
+      loNewNode.data_label   = lsNodeName
202 209
       loNewNode.data_content = 'insert content...'
203
-      if int(parent_id)==0:
204
-        loNewNode.parent_id = None
205
-      else:
210
+
211
+      if data_label!='':
212
+        loNewNode.data_label = data_label
213
+      if data_content!='':
214
+        loNewNode.data_content = data_content
215
+
216
+      if int(parent_id)!=0:
206 217
         loNewNode.parent_id = parent_id
207 218
 
208 219
       pm.DBSession.flush()
@@ -258,3 +269,14 @@ class PODApiController(BaseController):
258 269
       flash(_('Documents re-indexed'), 'info')
259 270
       redirect(lurl('/document/%s'%(back_to_node_id)))
260 271
 
272
+    @expose()
273
+    def toggle_share_status(self, node_id):
274
+      loCurrentUser   = pld.PODStaticController.getCurrentUser()
275
+      loApiController = pld.PODUserFilteredApiController(loCurrentUser.user_id)
276
+      loNode = loApiController.getNode(node_id)
277
+      if loNode.owner_id==loCurrentUser.user_id:
278
+        loNode.is_shared = not loNode.is_shared
279
+      # FIXME - DA. - 2014-05-06
280
+      # - if root node, then exception
281
+      # - this redirect is done in order to be adapted to comment share status toggle
282
+      redirect(lurl('/document/%s#tab-comments'%(loNode._oParent.node_id)))