@api_error_handler
@require_POST
def share_document(request):
 perms_dict = json.loads(request.POST.get('data'))
 uuid = json.loads(request.POST.get('uuid'))
 if ((not uuid) or (not perms_dict)):
  raise PopupException(_('share_document requires uuid and perms_dict'))
 doc = Document2.objects.get_by_uuid(user=request.user, uuid=uuid)
 for (name, perm) in perms_dict.iteritems():
  users = groups = None
  if perm.get('user_ids'):
   users = User.objects.in_bulk(perm.get('user_ids'))
  else:
   users = []
  if perm.get('group_ids'):
   groups = Group.objects.in_bulk(perm.get('group_ids'))
  else:
   groups = []
  doc = doc.share(request.user, name=name, users=users, groups=groups)
 return JsonResponse({'status': 0, 'document': doc.to_dict()})

@ api_error_handler @ require_POST def share_document ( request ) : perms_dict = json . loads ( request . POST . get ( 'data' ) ) uuid = json . loads ( request . POST . get ( 'uuid' ) ) if ( ( not uuid ) or ( not perms_dict ) ) : raise PopupException ( _ ( 'share_document requires uuid and perms_dict' ) ) doc = Document2 . objects . get_by_uuid ( user = request . user , uuid = uuid ) for ( name , perm ) in perms_dict . iteritems ( ) : users = groups = None if perm . get ( 'user_ids' ) : users = User . objects . in_bulk ( perm . get ( 'user_ids' ) ) else : users = [ ] if perm . get ( 'group_ids' ) : groups = Group . objects . in_bulk ( perm . get ( 'group_ids' ) ) else : groups = [ ] doc = doc . share ( request . user , name = name , users = users , groups = groups ) return JsonResponse ( { 'status' : 0 , 'document' : doc . to_dict ( ) } )
set who else or which other group can interact with the document .