Exemple #1
0
    def share_related_documents_after_patch(cls, user, old_obj, new_obj):

        # from private to access
        if old_obj.access == 'private' and new_obj.access == 'public':
            users = User.query(User.organization == user.organization)
            for collaborator in users:
                if collaborator.email != user.email:
                    taskqueue.add(url='/workers/shareobjectdocument',
                                  queue_name='iogrow-low',
                                  params={
                                      'email': collaborator.email,
                                      'obj_key_str': old_obj.key.urlsafe()
                                  })
        if hasattr(old_obj, 'profile_img_id'):
            if old_obj.profile_img_id != new_obj.profile_img_id and new_obj.profile_img_id != "":
                taskqueue.add(url='/workers/sharedocument',
                              queue_name='iogrow-low',
                              params={
                                  'user_email': user.email,
                                  'access': 'anyone',
                                  'resource_id': new_obj.profile_img_id
                              })
        if hasattr(old_obj, 'logo_img_id'):
            if old_obj.logo_img_id != new_obj.logo_img_id and new_obj.logo_img_id != "":
                taskqueue.add(url='/workers/sharedocument',
                              queue_name='iogrow-low',
                              params={
                                  'user_email': user.email,
                                  'access': 'anyone',
                                  'resource_id': new_obj.logo_img_id
                              })
Exemple #2
0
 def list_permissions(cls, node):
     if node.access == 'public':
         users = User.query(User.organization == node.organization)
     else:
         owner = User.get_by_gid(node.owner)
         # list collaborators
         edge_list = Edge.list(start_node=node.key, kind='permissions')
         users_list_of_keys = []
         for edge in edge_list['items']:
             users_list_of_keys.append(edge.end_node)
         users = ndb.get_multi(users_list_of_keys)
         users.append(owner)
     return users
Exemple #3
0
 def list_permissions(cls, node):
     if node.access == 'public':
         users = User.query(User.organization == node.organization)
     else:
         owner = User.get_by_gid(node.owner)
         # list collaborators
         edge_list = Edge.list(
             start_node=node.key,
             kind='permissions'
         )
         users_list_of_keys = []
         for edge in edge_list['items']:
             users_list_of_keys.append(edge.end_node)
         users = ndb.get_multi(users_list_of_keys)
         users.append(owner)
     return users
    def share_related_documents_after_patch(cls, user, old_obj, new_obj):

        # from private to access
        if old_obj.access == 'private' and new_obj.access == 'public':
            users = User.query(User.organization == user.organization)
            for collaborator in users:
                if collaborator.email != user.email:
                    taskqueue.add(
                        url='/workers/shareobjectdocument',
                        queue_name='iogrow-low',
                        params={
                            'email': collaborator.email,
                            'obj_key_str': old_obj.key.urlsafe()
                        }
                    )
        if hasattr(old_obj, 'profile_img_id'):
            if old_obj.profile_img_id != new_obj.profile_img_id and new_obj.profile_img_id != "":
                taskqueue.add(
                    url='/workers/sharedocument',
                    queue_name='iogrow-low',
                    params={
                        'user_email': user.email,
                        'access': 'anyone',
                        'resource_id': new_obj.profile_img_id
                    }
                )
        if hasattr(old_obj, 'logo_img_id'):
            if old_obj.logo_img_id != new_obj.logo_img_id and new_obj.logo_img_id != "":
                taskqueue.add(
                    url='/workers/sharedocument',
                    queue_name='iogrow-low',
                    params={
                        'user_email': user.email,
                        'access': 'anyone',
                        'resource_id': new_obj.logo_img_id
                    }
                )