old_contents: from __future__ import absolute_import
  
  from django import forms
  from django.db.models import Q
  from django.contrib.auth.models import Group
  
  from osf.models import AdminProfile
  
  
  class LoginForm(forms.Form):
      email = forms.CharField(label=u'Email', required=True)
      password = forms.CharField(
          label=u'Password',
          widget=forms.PasswordInput(render_value=False),
          required=True
      )
  
  
  class UserRegistrationForm(forms.Form):
      """ A form that finds an existing OSF User, and grants permissions to that
      user so that they can use the admin app"""
  
      osf_id = forms.CharField(required=True, max_length=5, min_length=5)
  
      # TODO: Moving to guardian, find a better way to distinguish "admin-like" groups from object permission groups
      group_perms = forms.ModelMultipleChoiceField(
          queryset=Group.objects.exclude(Q(name__startswith='collections_') | Q(name__startswith='reviews_') | Q(name__startswith='preprint_') | Q(name__startswith='node_') | Q(name__startswith='osfgroup_')),
          required=False,
          widget=forms.CheckboxSelectMultiple
      )
  
  
  class DeskUserForm(forms.ModelForm):
      class Meta:
          model = AdminProfile
          fields = ['desk_token', 'desk_token_secret']
  
new_contents: from __future__ import absolute_import
  
  from django import forms
  from django.db.models import Q
  from django.contrib.auth.models import Group
  
  from osf.models import AdminProfile
  
  
  class LoginForm(forms.Form):
      email = forms.CharField(label=u'Email', required=True)
      password = forms.CharField(
          label=u'Password',
          widget=forms.PasswordInput(render_value=False),
          required=True
      )
  
  
  class UserRegistrationForm(forms.Form):
      """ A form that finds an existing OSF User, and grants permissions to that
      user so that they can use the admin app"""
  
      osf_id = forms.CharField(required=True, max_length=5, min_length=5)
  
      # TODO: Moving to guardian, find a better way to distinguish "admin-like" groups from object permission groups
      group_perms = forms.ModelMultipleChoiceField(
          queryset=Group.objects.exclude(Q(name__startswith='collections_') | Q(name__startswith='reviews_') | Q(name__startswith='preprint_') | Q(name__startswith='node_') | Q(name__startswith='osfgroup_') | Q(name__startswith='draft_registration_')),
          required=False,
          widget=forms.CheckboxSelectMultiple
      )
  
  
  class DeskUserForm(forms.ModelForm):
      class Meta:
          model = AdminProfile
          fields = ['desk_token', 'desk_token_secret']
  
subject: Exclude DraftRegistration Groups from admin form