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 --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---