def open_sharing_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST["id"]) if not padmember or not padmember.check_access("read"): return jsonify(success=False) return jsonify(success=True, sharing=srender("share/pad.jinja", members=padmember.pad.get_members_in_order()))
def title_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST["id"]) if not padmember or not padmember.check_access("read"): return jsonify(success=False) pad = padmember.pad return jsonify( success=True, title=pad.title, title_author=pad.title_author.user.username, title_modified=pad.title_modified )
def read_view(request): 'Read an etherpad-lite pad' author = Author.get_by_user(request.user) member = author.get_padmember(request.POST['id']) if not member or not member.check_access('write'): return jsonify(success=False) # TODO return jsonify(success=True)
def respond_view(request): author = Author.get_by_user(request.user) invite = author.invites.filter(id=request.POST['id']).first() if not invite: return jsonify(success=False) if request.POST['accept'] == 'true': padmember = PadMember(pad=invite.pad, role=invite.role, author=author) padmember.save() invite.delete() return jsonify(success=True)
def title_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST['id']) if not padmember or not padmember.check_access('read'): return jsonify(success=False) pad = padmember.pad return jsonify( success=True, title=pad.title, title_author=pad.title_author.user.username, #title_modified=pad.title_modified )
def open_sharing_view(request): 'Returns the sharing html for a pad' author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST['id']) if not padmember or not padmember.check_access('read'): return jsonify(success=False) invites = padmember.pad.get_invites_in_order() return jsonify(success=True, sharing=srender( 'share/pad.jinja', members=padmember.pad.get_members_in_order(), invites=invites))
def open_sharing_view(request): 'Returns the sharing html for a pad' author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST['id']) if not padmember or not padmember.check_access('read'): return jsonify(success=False) invites = padmember.pad.get_invites_in_order() return jsonify( success=True, sharing=srender('share/pad.jinja', members=padmember.pad.get_members_in_order(), invites=invites ))
def set_title_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST["id"]) if not padmember or not padmember.check_access("write"): return jsonify(success=False) pad = padmember.pad pad.title = request.POST["title"] pad.title_author = author pad.title_modified = datetime.today() pad.save() e = get_etherpad_client() e.sendClientsMessage(padID=pad.padid, msg="title_update") return jsonify(success=True)
def open_view(request): author = Author.get_by_user(request.user) member = author.get_padmember(request.POST["id"]) if not member or not member.check_access("write"): return jsonify(success=False) return open_etherpad(member.pad, author, epoch_time(7 * 24 * 60 ** 2))
def set_title_view(request): "Set a pad's and broadcast to active authors" author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST['id']) if not padmember or not padmember.check_access('write'): return jsonify(success=False) pad = padmember.pad pad.title = request.POST['title'] pad.title_author = author pad.title_modified = datetime.today() pad.save() e = get_etherpad_client() e.sendClientsMessage(padID=pad.padid, msg='title_update') return jsonify(success=True)
def logout_view(request): logout(request) return jsonify( success=True, navbar=srender('user/navbar.jinja') )
def open_view(request): 'Open an etherpad-lite pad for writing' author = Author.get_by_user(request.user) member = author.get_padmember(request.POST['id']) if not member or not member.check_access('write'): return jsonify(success=False) return open_etherpad(member.pad, author, epoch_time(7 * 24 * 60**2))
def share_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST["id"]) if not padmember or not padmember.check_access("admin"): return jsonify(success=False) acl = dict(owner=["admin", "write", "read"], admin=["write", "read"]) if request.POST["access"] not in acl[padmember.role]: return jsonify(success=False) members = request.POST["members"].split(",") for member in members: to = Author.get_by_username(member) invite = Invite(pad=padmember.pad, role=request.POST["access"], to=to, sender=author) invite.save() return jsonify(success=True)
def share_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST['id']) if not padmember or not padmember.check_access('admin'): return jsonify(success=False) acl = dict(owner=['admin', 'write', 'read'], admin=['write', 'read']) if request.POST['access'] not in acl[padmember.role]: return jsonify(success=False) members = request.POST['members'].split(',') for member in members: to = Author.get_by_username(member) invite = Invite(pad=padmember.pad, role=request.POST['access'], to=to, sender=author) invite.save() return jsonify(success=True)
def share_view(request): author = Author.get_by_user(request.user) padmember = author.get_padmember(request.POST['id']) if not padmember or not padmember.check_access('admin'): return jsonify(success=False) acl = dict(owner=['admin','write','read'], admin=['write','read']) if request.POST['access'] not in acl[padmember.role]: return jsonify(success=False) members = request.POST['members'].split(',') for member in members: to = Author.get_by_username(member) invite = Invite( pad=padmember.pad, role=request.POST['access'], to=to, sender=author) invite.save() return jsonify(success=True)
def login_view(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(username=username, password=password) if user: login(request, user) else: return jsonerror() author = Author.get_by_user(request.user) return jsonify( success=True, navbar=srender('user/navbar.jinja', user=user), home=srender('user/home.jinja', author=author))
def open_etherpad(pad, author, validUntil, e=None, **kwargs): if not e: e = get_etherpad_client() data = e.createSession( groupID=pad.groupid, authorID=author.etherpad_id, validUntil=validUntil) response = jsonify( success=True, pad='%s/p/%s' % (settings.ETHERPAD_URL, pad.padid), title=pad.title, **kwargs) set_cookie(response, 'sessionID', data['sessionID']) return response
def open_etherpad(pad, author, validUntil, etherpad=None, **kwargs): """ Opens an etherpad-lite document. The etherpad client is used to get a cookie for a session on the pad. """ if not etherpad: etherpad = get_etherpad_client() data = etherpad.createSession(groupID=pad.groupid, authorID=author.etherpad_id, validUntil=validUntil) response = jsonify(success=True, pad='%s/p/%s' % (settings.ETHERPAD_URL, pad.padid), title=pad.title, **kwargs) set_cookie(response, 'sessionID', data['sessionID']) return response
def open_etherpad(pad, author, validUntil, etherpad=None, **kwargs): """ Opens an etherpad-lite document. The etherpad client is used to get a cookie for a session on the pad. """ if not etherpad: etherpad = get_etherpad_client() data = etherpad.createSession( groupID=pad.groupid, authorID=author.etherpad_id, validUntil=validUntil ) response = jsonify( success=True, pad='%s/p/%s' % (settings.ETHERPAD_URL, pad.padid), title=pad.title, **kwargs ) set_cookie(response, 'sessionID', data['sessionID']) return response
def search_users_view(request): search = User.objects.filter(username__icontains=request.GET['q']) users = [user.username for user in search] return jsonify(users)