Example #1
0
def object_push(request, environment, pk=None):
    template_vars = dict()
    environment.load_data('', kwargs={'id': pk})
    instance = None
    if request.method == 'POST':
        new_instance, instance = push_post(request, pk, environment)
        if new_instance is not None:
            # At this point, create/update has succeeded
            if pk is not None:
                msgs.generate_msg(request, msgs.GREEN, msgs.SUCCESS,
                                  _ug('The changes have been saved.'))
            else:
                msgs.generate_msg(request, msgs.GREEN, msgs.SUCCESS,
                                  _ug('The creation was done successfully.'))
            return HttpResponseRedirect(urlresolvers.reverse(environment.redirect_urlname))
    elif request.method == 'GET':
        #Request the create/update form
        instance = push_get(request, pk, environment)

    formas = {'django_form': instance}
    return render_to_response(
        environment.template,
        formas,
        RequestContext(
            request,
            template_vars
        )
    )
Example #2
0
def push_get(request, pk=None, env=None):
    instance = None
    if pk is not None and request.user.has_perm('%s.change_%s' % (env.data_model._meta.app_label, env.model.lower())):
        new_instance = env.data_model.objects.get(pk=pk)
        instance = env.serializer(instance=new_instance)
    elif pk is None and request.user.has_perm('%s.add_%s' % (env.data_model._meta.app_label, env.model.lower())):
        instance = env.serializer()
    else:
        msgs.generate_msg(request, msgs.RED, msgs.ERROR, _ug('A problem occurred. The action could not be completed.'))

    return instance
Example #3
0
def push_get(request, pk=None, env=None):
    instance = None
    if pk is not None and request.user.has_perm(
            '%s.change_%s' %
        (env.data_model._meta.app_label, env.model.lower())):
        new_instance = env.data_model.objects.get(pk=pk)
        instance = env.serializer(instance=new_instance)
    elif pk is None and request.user.has_perm(
            '%s.add_%s' % (env.data_model._meta.app_label, env.model.lower())):
        instance = env.serializer()
    else:
        msgs.generate_msg(
            request, msgs.RED, msgs.ERROR,
            _ug('A problem occurred. The action could not be completed.'))

    return instance
Example #4
0
def push_post(request, pk=None, env=None):
    # handle update after new data has been posted
    new_instance = instance_form = None
    if pk is not None and request.user.has_perm('%s.change_%s' % (env.data_model._meta.app_label, env.model.lower())):
        instance = env.data_model.objects.get(pk=pk)
        instance_form = env.serializer(data=request.POST, instance=instance)

        if instance_form.is_valid():
            new_instance = instance_form.save(user=request.user)

    # handle creation of new instances
    elif pk is None and request.user.has_perm('%s.add_%s' % (env.data_model._meta.app_label, env.model.lower())):
        instance_form = env.serializer(data=request.POST)
        if instance_form.is_valid():
            new_instance = instance_form.save(user=request.user)
    else:
        msgs.generate_msg(request, msgs.RED, msgs.ERROR, _ug('A problem occurred. The action could not be completed.'))
    return new_instance, instance_form
Example #5
0
def push_post(request, pk=None, env=None):
    # handle update after new data has been posted
    new_instance = instance_form = None
    if pk is not None and request.user.has_perm(
            '%s.change_%s' %
        (env.data_model._meta.app_label, env.model.lower())):
        instance = env.data_model.objects.get(pk=pk)
        instance_form = env.serializer(data=request.POST, instance=instance)

        if instance_form.is_valid():
            new_instance = instance_form.save(user=request.user)

    # handle creation of new instances
    elif pk is None and request.user.has_perm(
            '%s.add_%s' % (env.data_model._meta.app_label, env.model.lower())):
        instance_form = env.serializer(data=request.POST)
        if instance_form.is_valid():
            new_instance = instance_form.save(user=request.user)
    else:
        msgs.generate_msg(
            request, msgs.RED, msgs.ERROR,
            _ug('A problem occurred. The action could not be completed.'))
    return new_instance, instance_form
Example #6
0
def object_push(request, environment, pk=None):
    template_vars = dict()
    environment.load_data('', kwargs={'id': pk})
    instance = None
    if request.method == 'POST':
        new_instance, instance = push_post(request, pk, environment)
        if new_instance is not None:
            # At this point, create/update has succeeded
            if pk is not None:
                msgs.generate_msg(request, msgs.GREEN, msgs.SUCCESS,
                                  _ug('The changes have been saved.'))
            else:
                msgs.generate_msg(request, msgs.GREEN, msgs.SUCCESS,
                                  _ug('The creation was done successfully.'))
            return HttpResponseRedirect(
                urlresolvers.reverse(environment.redirect_urlname))
    elif request.method == 'GET':
        #Request the create/update form
        instance = push_get(request, pk, environment)

    formas = {'django_form': instance}
    return render_to_response(environment.template, formas,
                              RequestContext(request, template_vars))