Exemplo n.º 1
0
def urldelete(request, g_id, g_password):
    session = request.session
    username = session['login_email']
    user = db.read_user(username)

    ug = db.read_user_gateway(g_id)
    if not ug:
        return HttpResponse("UG %d does not exist." % g_id)
    if ug.owner_id != user.owner_id:
        return HttpResponse("You must own this UG to delete it.")
    if not UG.authenticate(ug, g_password):
        return HttpResponse("Incorrect UG password.")
    db.delete_user_gateway(g_id)
    return HttpResponse("Gateway succesfully deleted.")
Exemplo n.º 2
0
def delete(request, g_id):
    '''
    View for deleting UGs
    '''

    # Helper method that simplifies returning forms after user error.
    def give_delete_form(username, g_name, session):
        message = session.pop('message' "")
        form = gatewayforms.DeleteGateway()
        t = loader.get_template('gateway_templates/delete_user_gateway.html')
        c = RequestContext(
            request, {
                'username': username,
                'g_name': g_name,
                'form': form,
                'message': message
            })
        return HttpResponse(t.render(c))

    session = request.session
    username = session['login_email']
    g_id = int(g_id)

    ug = db.read_user_gateway(g_id)
    if not ug:
        t = loader.get_template(
            'gateway_templates/delete_user_gateway_failure.html')
        c = RequestContext(request, {'username': username})
        return HttpResponse(t.render(c))

    g_name = ug.ms_username
    if ug.owner_id != user.owner_id:
        t = loader.get_template(
            'gateway_templates/delete_user_gateway_failure.html')
        c = RequestContext(request, {'username': username})
        return HttpResponse(t.render(c))

    if request.POST:
        # Validate input forms
        form = gatewayforms.DeleteGateway(request.POST)
        if form.is_valid():
            if not UG.authenticate(ug, form.cleaned_data['g_password']):
                session['message'] = "Incorrect User Gateway password"
                return give_delete_form(username, g_name, session)
            if not form.cleaned_data['confirm_delete']:
                session[
                    'message'] = "You must tick the delete confirmation box."
                return give_delete_form(username, g_name, session)

            db.delete_user_gateway(g_id)
            session['new_change'] = "Your gateway has been deleted."
            session['next_url'] = '/syn/UG/mygateways'
            session['next_message'] = "Click here to see your gateways."
            return HttpResponseRedirect('/syn/thanks/')

        # invalid forms
        else:
            # Prep error message
            session['message'] = "Invalid form entry: "

            for k, v in form.errors.items():
                session[
                    'message'] = session['message'] + "\"" + k + "\"" + " -> "
                for m in v:
                    session['message'] = session['message'] + m + " "

            return give_delete_form(username, g_name, session)
    else:
        # Not a POST, give them blank form
        return give_delete_form(username, g_name, session)