Wait a moment: this solution doesn't solve my problem. Remember that the form I need has to be used on the admin site, so I can't deal with it directly (in fact, I can't instantiate it and provide additional arguments).
Are there any other way to accomplish that? On Tue, Sep 1, 2009 at 10:48 AM, Enrico Sartorello < enrico.sartore...@gmail.com> wrote: > Thank you very much, your solution is simple and efficient :-) > > > On Mon, Aug 31, 2009 at 10:57 PM, Matthias Kestenholz < > matthias.kestenh...@gmail.com> wrote: > >> >> On Fri, Aug 28, 2009 at 10:34 AM, Enrico >> Sartorello<enrico.sartore...@gmail.com> wrote: >> > Hi, >> > i'm developing a Django application where i need to differentiate the >> > validation of an admin-site model form between different users: some >> user >> > must respect some particular restrictions (imposed via "clean_*" >> methods) >> > while others should do what they want without them. >> > >> > The problem arises because during form validation i cannot access any >> > request object (so i can't build a permission-based criteria), and >> checking >> > everything in other places (like Model_admin.save_model() method or with >> > signals) can't do the job because there i can't raise form's validation >> > errors. >> > >> > I've searched on the net but seems i cannot find any solution for that >> > problem. >> > >> > Any hints? >> > >> >> Simple: Pass the current user to the form: >> >> class MyForm(forms.ModelForm): >> def __init__(self, *args, **kwargs): >> self.saved_user = kwargs.pop('user') >> super(MyForm, self).__init__(*args, **kwargs) >> >> Somewhere else in the code: >> >> form = MyForm(request.POST, user=request.user) >> >> resp. >> >> form = MyForm(user=request.user) >> >> >> >> Of course that isn't the only possibility to achieve what you want, >> but it's quite straightforward to do it like this. >> >> >> Matthias >> >> >> -- >> FeinCMS Django CMS building toolkit: http://spinlock.ch/pub/feincms/ >> >> >> >> > > > -- > Enrico Sartorello > -- Enrico Sartorello --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---