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
       redirect(lurl('/document/%i'%(loNewNode.parent_id)))
93
       redirect(lurl('/document/%i'%(loNewNode.parent_id)))
94
 
94
 
95
     @expose()
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
       loCurrentUser   = pld.PODStaticController.getCurrentUser()
97
       loCurrentUser   = pld.PODStaticController.getCurrentUser()
98
       loApiController = pld.PODUserFilteredApiController(loCurrentUser.user_id)
98
       loApiController = pld.PODUserFilteredApiController(loCurrentUser.user_id)
99
-      
99
+
100
       loNewNode = loApiController.createNode()
100
       loNewNode = loApiController.createNode()
101
       loNewNode.parent_id     = int(parent_id)
101
       loNewNode.parent_id     = int(parent_id)
102
       loNewNode.node_type     = pmd.PBNodeType.Comment
102
       loNewNode.node_type     = pmd.PBNodeType.Comment
103
       loNewNode.data_label    = data_label
103
       loNewNode.data_label    = data_label
104
       loNewNode.data_content  = data_content
104
       loNewNode.data_content  = data_content
105
+      if is_shared=='on':
106
+        loNewNode.is_shared = True
105
 
107
 
106
       pm.DBSession.flush()
108
       pm.DBSession.flush()
107
       redirect(lurl('/document/%i'%(loNewNode.parent_id)))
109
       redirect(lurl('/document/%i'%(loNewNode.parent_id)))
193
       redirect(lurl('/document/%s'%(node_id)))
195
       redirect(lurl('/document/%s'%(node_id)))
194
 
196
 
195
     @expose()
197
     @expose()
196
-    def create_document(self, parent_id=None):
198
+    def create_document(self, parent_id=None, data_label='', data_content=''):
197
       loCurrentUser   = pld.PODStaticController.getCurrentUser()
199
       loCurrentUser   = pld.PODStaticController.getCurrentUser()
198
       loApiController = pld.PODUserFilteredApiController(loCurrentUser.user_id)
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
       loNewNode = loApiController.createDummyNode()
207
       loNewNode = loApiController.createDummyNode()
201
-      loNewNode.data_label   = 'New document'
208
+      loNewNode.data_label   = lsNodeName
202
       loNewNode.data_content = 'insert content...'
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
         loNewNode.parent_id = parent_id
217
         loNewNode.parent_id = parent_id
207
 
218
 
208
       pm.DBSession.flush()
219
       pm.DBSession.flush()
258
       flash(_('Documents re-indexed'), 'info')
269
       flash(_('Documents re-indexed'), 'info')
259
       redirect(lurl('/document/%s'%(back_to_node_id)))
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)))