Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#7688 closed (invalid)

newforms-admin: need mechanism for further modifying a newly saved object after it has been saved

Reported by: simon Owned by: nobody
Component: contrib.admin Version: newforms-admin
Severity: Keywords:
Cc: Triage Stage: Design decision needed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by simon)

ModelAdmin.save_add(...) creates a new_object and then returns an HttpResponseRedirect(). It would be really useful if there was a hook for further modifying that object after it had been saved.

It's possible to do this using a custom save() method on the model at the moment, but that has two limitations:

  1. The save() method doesn't have access to a request object. Admin customisations often involve extra form stuff being passed in as part of the request.
  1. You might want custom behaviour that only runs on objects created using the admin, not objects created using other means.

Having a post_save_add() method that is passed the request and the newly created object and does nothing by default (but can be over-ridden in ModelAdmin subclasses) would be one way of solving this, but I'm not sure it's the best way.

Change History (5)

comment:1 by simon, 16 years ago

Description: modified (diff)

comment:2 by Eric Holscher, 16 years ago

milestone: post-1.0
Triage Stage: UnreviewedDesign decision needed

comment:3 by peritus <peritus@…>, 16 years ago

I think this is obsolete. One can use ModelAdmin.response_add for intercepting the data:

def response_add(self, request, obj, *args, **kwargs):
    response = super(MyModelAdmin, self).response_add(request, obj, *args, **kwargs)

    if request.method == 'POST':
        obj.do_something()

    return response

Can someone close this, if there are no objections ?

comment:4 by Brian Rosner, 16 years ago

Resolution: invalid
Status: newclosed

Yes, all the new hooks on ModelAdmin have solved this problem. Marking invalid as it is no longer valid :)

comment:5 by (none), 16 years ago

milestone: post-1.0

Milestone post-1.0 deleted

Note: See TracTickets for help on using tickets.
Back to Top