Ejemplo n.º 1
0
def delete_meeting(meeting_id):
    """ Endpoint to asynchronously delete meeting """
    if not meeting_id:
        return jsonify(
            success=False,
            message=u'Ingen møte ID mottatt'
        )

    meeting = Meeting.get_meeting_by_id(meeting_id)
    # Check if user is owner
    if meeting.user_id == current_user.id:
        # Delete meeting from db before deleting world
        meeting.delete()

        # Object still exists in memory after deleting from db
        if meeting.world_id:
            # Also delete world if it's not favoured
            world = World.get_by_id(meeting.world_id)
            if meeting.user_id == world.user_id and not world.favourite:
                if world.delete():  # Will return false if in use by meeting
                    return jsonify(
                        success=True,
                        message=u'Møtet ble slettet',
                        world_id=world.id
                    )
        return jsonify(
            success=True,
            message=u'Møtet ble slettet'
        )
    return jsonify(
        success=False,
        message=u'Du har ikke tilgang til å slette dette møtet'
    )
Ejemplo n.º 2
0
def edit_meeting(meeting_id):
    """ Renders the edit meeting page and stores the edited meeting """
    # Get the meeting details based on the supplied ID
    meeting = Meeting.get_meeting_by_id(meeting_id)
    # Check if the current user can edit this meeting
    if meeting.user_id != current_user.id:
        flash(u'Du har ikke tilgang til å endre dette møtet!')
        return redirect(url_for('home'))

    if request.method == 'POST':
        form = forms.MeetingForm(request.form)
        # If valid, store the edited meeting details
        if form.validate():
            form.populate_obj(meeting)
            meeting.store()
            flash(u'Møtet ble endret!')
            return redirect(url_for('home'))
        else:
            flash(u'Feil i skjema!')

    else:  # GET
        # Feed meeting details to meeting form
        form = forms.MeetingForm(obj=meeting)

    return render_template(
        'edit_meeting.html',
        set_tab=1,
        form=form,
        action=url_for('edit_meeting', meeting_id=meeting_id)
    )
Ejemplo n.º 3
0
def server_list(meeting_id):
    """ Render server list page for specified meeting """
    # TODO handle get servers
    # TODO check if user has access
    meeting = Meeting.get_meeting_by_id(meeting_id)
    return render_template(
            'server_list.html',
            title=u'Liste over tjenere',
            meeting=meeting,
            locale=locale.getpreferredencoding(),
            servers=[{'address': 'test.com', 'status': 'OK'}]
        )