fix Essential form; build_form now adds request to kwargs
This commit is contained in:
parent
64e0acb63b
commit
8d423b7451
3 changed files with 53 additions and 39 deletions
|
@ -44,6 +44,7 @@ SEARCH_IN_CHOICES = (
|
|||
('topic', _(u'Topic subject only')),
|
||||
)
|
||||
|
||||
|
||||
class AddPostForm(forms.ModelForm):
|
||||
name = forms.CharField(label=_('Subject'),
|
||||
widget=forms.TextInput(attrs={'size':'115'}))
|
||||
|
@ -77,7 +78,6 @@ class AddPostForm(forms.ModelForm):
|
|||
raise forms.ValidationError(_('Attachment is too big'))
|
||||
return self.cleaned_data['attachment']
|
||||
|
||||
|
||||
|
||||
def save(self):
|
||||
if self.forum:
|
||||
|
@ -99,7 +99,7 @@ class AddPostForm(forms.ModelForm):
|
|||
profile.post_count += 1
|
||||
profile.save()
|
||||
return post
|
||||
|
||||
|
||||
def save_attachment(self, post, memfile):
|
||||
if memfile:
|
||||
obj = Attachment(size=memfile.size, content_type=memfile.content_type,
|
||||
|
@ -111,47 +111,50 @@ class AddPostForm(forms.ModelForm):
|
|||
obj.path = fname
|
||||
obj.save()
|
||||
|
||||
|
||||
|
||||
class EssentialsProfileForm(forms.ModelForm):
|
||||
username = forms.CharField(label=_('Username'))
|
||||
email = forms.CharField(label=_('E-mail'))
|
||||
|
||||
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = ['time_zone', 'language']
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
print kwargs
|
||||
self.user = kwargs.pop('user', None)
|
||||
self.request = kwargs.pop('request', None)
|
||||
self.profile = kwargs['instance']
|
||||
super(EssentialsProfileForm, self).__init__(*args, **kwargs)
|
||||
self.fields['username'].initial = self.user.username
|
||||
if not self.user.is_superuser:
|
||||
if not self.request.user.is_superuser:
|
||||
self.fields['username'].widget = forms.HiddenInput()
|
||||
self.fields['email'].initial = self.user.email
|
||||
|
||||
|
||||
def save(self):
|
||||
user = get_object_or_404(User, username=self.user)
|
||||
profile = get_object_or_404(Profile, user=self.user)
|
||||
if self.cleaned_data:
|
||||
#user.username = self.cleaned_data['username']
|
||||
user.email = self.cleaned_data['email']
|
||||
profile.time_zone = self.cleaned_data['time_zone']
|
||||
profile.language = self.cleaned_data['language']
|
||||
user.save()
|
||||
return profile
|
||||
|
||||
if self.request.user.is_superuser:
|
||||
self.user.username = self.cleaned_data['username']
|
||||
self.user.email = self.cleaned_data['email']
|
||||
self.profile.time_zone = self.cleaned_data['time_zone']
|
||||
self.profile.language = self.cleaned_data['language']
|
||||
self.user.save()
|
||||
self.profile.save()
|
||||
return self.profile
|
||||
|
||||
|
||||
class PersonalProfileForm(forms.ModelForm):
|
||||
name = forms.CharField(label=_('Real name'))
|
||||
|
||||
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = ['status', 'location', 'site']
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.user = kwargs.pop('user', None)
|
||||
super(PersonalProfileForm, self).__init__(*args, **kwargs)
|
||||
self.fields['name'].initial = "%s %s" % (self.user.first_name, self.user.last_name)
|
||||
|
||||
|
||||
def save(self):
|
||||
user = get_object_or_404(User, username=self.user)
|
||||
profile = get_object_or_404(Profile, user=self.user)
|
||||
|
@ -166,12 +169,14 @@ class PersonalProfileForm(forms.ModelForm):
|
|||
user.last_name = ''
|
||||
user.save()
|
||||
return profile.save()
|
||||
|
||||
|
||||
|
||||
class MessagingProfileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = ['jabber', 'icq', 'msn', 'aim', 'yahoo']
|
||||
|
||||
|
||||
class PersonalityProfileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Profile
|
||||
|
@ -180,23 +185,25 @@ class PersonalityProfileForm(forms.ModelForm):
|
|||
def __init__(self, *args, **kwargs):
|
||||
super(PersonalityProfileForm, self).__init__(*args, **kwargs)
|
||||
self.fields['signature'].widget = forms.Textarea(attrs={'class':'bbcode', 'rows':'10', 'cols':'75'})
|
||||
|
||||
|
||||
def save(self):
|
||||
profile = super(PersonalityProfileForm, self).save(commit=False)
|
||||
profile.signature = mypostmarkup.markup(profile.signature, auto_urls=False)
|
||||
profile.save()
|
||||
return profile
|
||||
|
||||
|
||||
|
||||
class DisplayProfileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = ['theme']
|
||||
|
||||
|
||||
|
||||
class PrivacyProfileForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = Profile
|
||||
fields = ['privacy_permission']
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(PrivacyProfileForm, self).__init__(*args, **kwargs)
|
||||
self.fields['privacy_permission'].widget = forms.RadioSelect(
|
||||
|
@ -213,11 +220,11 @@ class UploadAvatarForm(forms.ModelForm):
|
|||
class EditPostForm(forms.ModelForm):
|
||||
name = forms.CharField(required=False, label=_('Subject'),
|
||||
widget=forms.TextInput(attrs={'size':'115'}))
|
||||
|
||||
|
||||
class Meta:
|
||||
model = Post
|
||||
fields = ['body']
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.topic = kwargs.pop('topic', None)
|
||||
super(EditPostForm, self).__init__(*args, **kwargs)
|
||||
|
@ -272,14 +279,15 @@ class PostSearchForm(forms.Form):
|
|||
sort_by = forms.ChoiceField(choices=SORT_POST_BY_CHOICES, label=_('Sort by'))
|
||||
sort_dir = forms.ChoiceField(choices=SORT_DIR_CHOICES, label=_('Sort order'))
|
||||
show_as = forms.ChoiceField(choices=SHOW_AS_CHOICES, label=_('Show results as'))
|
||||
|
||||
|
||||
|
||||
|
||||
class ReputationForm(forms.ModelForm):
|
||||
|
||||
|
||||
class Meta:
|
||||
model = Reputation
|
||||
fields = ['reason', 'topic', 'sign']
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.from_user = kwargs.pop('from_user', None)
|
||||
self.to_user = kwargs.pop('to_user', None)
|
||||
|
@ -289,7 +297,7 @@ class ReputationForm(forms.ModelForm):
|
|||
self.fields['topic'].widget = forms.HiddenInput()
|
||||
self.fields['sign'].widget = forms.HiddenInput()
|
||||
self.fields['reason'].widget = forms.Textarea(attrs={'class':'bbcode'})
|
||||
|
||||
|
||||
def clean_to_user(self):
|
||||
name = self.cleaned_data['to_user']
|
||||
try:
|
||||
|
@ -298,7 +306,7 @@ class ReputationForm(forms.ModelForm):
|
|||
raise forms.ValidationError(_('User with login %s does not exist') % name)
|
||||
else:
|
||||
return user
|
||||
|
||||
|
||||
def save(self):
|
||||
reputation = super(ReputationForm, self).save(commit=False)
|
||||
reputation.from_user = self.from_user
|
||||
|
@ -306,19 +314,20 @@ class ReputationForm(forms.ModelForm):
|
|||
reputation.time = datetime.now()
|
||||
reputation.save()
|
||||
return reputation
|
||||
|
||||
|
||||
class MailToForm(forms.Form):
|
||||
subject = forms.CharField(label=_('Subject'),
|
||||
widget=forms.TextInput(attrs={'size':'75', 'maxlength':'70', 'class':'longinput'}))
|
||||
body = forms.CharField(required=False, label=_('Message'),
|
||||
widget=forms.Textarea(attrs={'rows':'10', 'cols':'75'}))
|
||||
|
||||
|
||||
class ReportForm(forms.ModelForm):
|
||||
|
||||
|
||||
class Meta:
|
||||
model = Report
|
||||
fields = ['reason', 'post']
|
||||
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.reported_by = kwargs.pop('reported_by', None)
|
||||
self.post = kwargs.pop('post', None)
|
||||
|
@ -326,14 +335,15 @@ class ReportForm(forms.ModelForm):
|
|||
self.fields['post'].widget = forms.HiddenInput()
|
||||
self.fields['post'].initial = self.post
|
||||
self.fields['reason'].widget = forms.Textarea(attrs={'rows':'10', 'cols':'75'})
|
||||
|
||||
|
||||
def save(self):
|
||||
report = super(ReportForm, self).save(commit=False)
|
||||
report.created = datetime.now()
|
||||
report.reported_by = self.reported_by
|
||||
report.save()
|
||||
return report
|
||||
|
||||
|
||||
|
||||
class CreatePMForm(forms.ModelForm):
|
||||
recipient = forms.CharField(label=_('Recipient'))
|
||||
|
||||
|
|
Reference in a new issue