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 })
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 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 } )