mirror of
https://github.com/jazzband/django-authority.git
synced 2026-04-01 14:00:35 +00:00
Moved setting the user field widget to correct location in UserPermissionForm
This commit is contained in:
parent
950061cb75
commit
fa4a3fbc11
3 changed files with 13 additions and 8 deletions
|
|
@ -4,4 +4,4 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from authority.forms import UserPermissionForm
|
||||
|
||||
class SpecialUserPermissionForm(UserPermissionForm):
|
||||
user = forms.CharField(label=_('Special user'))
|
||||
user = forms.CharField(label=_('Special user'), widget=forms.Textarea())
|
||||
|
|
|
|||
|
|
@ -19,6 +19,11 @@ urlpatterns = patterns('',
|
|||
name="authority-add-permission",
|
||||
kwargs={'approved': True, 'form_class': SpecialUserPermissionForm}
|
||||
),
|
||||
url(r'^request/add/(?P<app_label>[\w\-]+)/(?P<module_name>[\w\-]+)/(?P<pk>\d+)/$',
|
||||
view='authority.views.add_permission',
|
||||
name="authority-add-permission-request",
|
||||
kwargs={'approved': False, 'form_class': SpecialUserPermissionForm}
|
||||
),
|
||||
(r'^authority/', include('authority.urls')),
|
||||
(r'^accounts/login/$', 'django.contrib.auth.views.login'),
|
||||
url(r'^(?P<url>[\/0-9A-Za-z]+)$', 'example.exampleapp.views.top_secret', {'lala': 'oh yeah!'}),
|
||||
|
|
|
|||
|
|
@ -17,16 +17,11 @@ class BasePermissionForm(forms.ModelForm):
|
|||
self.perm = perm
|
||||
self.obj = obj
|
||||
self.approved = approved
|
||||
if not self.approved:
|
||||
self.base_fields['user'].widget = forms.HiddenInput()
|
||||
else:
|
||||
self.base_fields['user'].widget = forms.TextInput()
|
||||
if obj and perm:
|
||||
self.base_fields['codename'].widget = forms.HiddenInput()
|
||||
elif obj and (not perm or not approved):
|
||||
perm_choices = get_choices_for(self.obj)
|
||||
self.base_fields['codename'].widget = forms.Select(
|
||||
choices=perm_choices)
|
||||
perms = get_choices_for(self.obj)
|
||||
self.base_fields['codename'].widget = forms.Select(choices=perms)
|
||||
super(BasePermissionForm, self).__init__(*args, **kwargs)
|
||||
|
||||
def save(self, request, commit=True, *args, **kwargs):
|
||||
|
|
@ -43,6 +38,11 @@ class UserPermissionForm(BasePermissionForm):
|
|||
class Meta(BasePermissionForm.Meta):
|
||||
fields = ('user',)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
if not kwargs.get('approved', False):
|
||||
self.base_fields['user'].widget = forms.HiddenInput()
|
||||
super(UserPermissionForm, self).__init__(*args, **kwargs)
|
||||
|
||||
def clean_user(self):
|
||||
username = self.cleaned_data["user"]
|
||||
try:
|
||||
|
|
|
|||
Loading…
Reference in a new issue