mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-23 16:58:51 +00:00
[Fixture] 完成批量更新
This commit is contained in:
@@ -114,15 +114,44 @@ class UserPublicKeyForm(forms.Form):
|
||||
return self.instance
|
||||
|
||||
|
||||
# class UserBulkImportForm(forms.ModelForm):
|
||||
# class Meta:
|
||||
# model = User
|
||||
# fields = ['username', 'email', 'enable_otp', 'role']
|
||||
|
||||
class UserBulkUpdateForm(forms.ModelForm):
|
||||
role = forms.ChoiceField(
|
||||
label=_('Role'),
|
||||
choices=[('Admin', 'Administrator'), ('User', 'User')],
|
||||
)
|
||||
users = forms.MultipleChoiceField(
|
||||
required=True,
|
||||
help_text='* required',
|
||||
label=_('Select users'),
|
||||
choices=[(user.id, user.name ) for user in User.objects.all()],
|
||||
widget=forms.SelectMultiple(
|
||||
attrs={
|
||||
'class': 'select2',
|
||||
'data-placeholder': _('Select users')
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ['role', 'groups', 'date_expired', 'is_active', 'enable_otp']
|
||||
fields = ['users', 'role', 'groups', 'date_expired', 'is_active', 'enable_otp']
|
||||
widgets = {
|
||||
'groups': forms.SelectMultiple(
|
||||
attrs={'class': 'select2',
|
||||
'data-placeholder': _('Select user groups')}),
|
||||
}
|
||||
|
||||
def save(self, commit=True):
|
||||
cleaned_data = {k: v for k, v in self.cleaned_data.items() if
|
||||
v is not None}
|
||||
users_id = cleaned_data.pop('users')
|
||||
groups = cleaned_data.pop('groups')
|
||||
users = User.objects.filter(id__in=users_id)
|
||||
users.update(**cleaned_data)
|
||||
if groups:
|
||||
for user in users:
|
||||
user.groups.set(groups)
|
||||
return users
|
||||
|
||||
|
||||
class UserGroupForm(forms.ModelForm):
|
||||
|
Reference in New Issue
Block a user