Пример #1
0
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()))
Пример #2
0
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))
Пример #3
0
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))
Пример #4
0
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))
Пример #5
0
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)
Пример #6
0
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
    )
Пример #7
0
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) 
Пример #8
0
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)
Пример #9
0
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)
Пример #10
0
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)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
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
    )
Пример #14
0
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))
Пример #15
0
def home_view(request):    
    author = False
    invites = False
    if request.user.id:
        author = Author.get_by_user(request.user)
        invites = author.invites.all()

    return render(request, 'index.html', {
        'brand': settings.BRAND,
        'etherpad_url': settings.ETHERPAD_URL,
        'author': author,
        'invites': invites
    })
Пример #16
0
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))
Пример #17
0
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))
Пример #18
0
def home_view(request):    
    author = False
    invites = False
    if request.user.id:
        author = Author.get_by_user(request.user)
        invites = author.invites.all()

    return render(request, 'index.html', {
        'brand': settings.BRAND,
        'etherpad_url': settings.ETHERPAD_URL,
        'author': author,
        'invites': invites
    })
Пример #19
0
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
        ))
Пример #20
0
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)
Пример #21
0
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)
Пример #22
0
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)
Пример #23
0
def create_view(request):
    'Creates an Etherpad-Lite Pad'
    e = get_etherpad_client()

    # Create a group for sharing functionality
    groupid = e.createGroup()['groupID']
    # Create a pad on the group
    padid = e.createGroupPad(groupID=groupid, padName='ek')['padID']
    # Store reference to the group and pad
    pad = Pad(groupid=groupid, padid=padid)
    pad.save()

    user = request.user
    author = Author.get_by_user(user)

    # Set current
    padmember = PadMember(pad=pad, role='owner', author=author)
    padmember.save()

    return open_etherpad(pad, author, epoch_time(604800), e, id=padmember.id)
Пример #24
0
def create_view(request):
    'Creates an Etherpad-Lite Pad'
    e = get_etherpad_client()

    # Create a group for sharing functionality
    groupid = e.createGroup()['groupID']
    # Create a pad on the group
    padid = e.createGroupPad(groupID=groupid, padName='ek')['padID']
    # Store reference to the group and pad
    pad = Pad(groupid=groupid, padid=padid)
    pad.save()

    user = request.user
    author = Author.get_by_user(user)
        
    # Set current 
    padmember = PadMember(pad=pad, role='owner', author=author)
    padmember.save()

    return open_etherpad(pad, author, epoch_time(604800), e, id=padmember.id)