class EditProjectAdminForm(EditProjectForm): team = forms.ChoiceField(choices=(), required=False) owner = UserField(required=False) class Meta: fields = ('name', 'public', 'team', 'owner') model = Project
class AddOrganizationMemberForm(BaseOrganizationMemberForm): user = UserField() class Meta: fields = ('user', 'role') model = OrganizationMember def save(self, actor, organization, ip_address): om = super(AddOrganizationMemberForm, self).save(commit=False) om.organization = organization with transaction.atomic(): try: om.save() except IntegrityError: return OrganizationMember.objects.get( user=om.user, organization=organization, ), False self.save_team_assignments(om) AuditLogEntry.objects.create( organization=organization, actor=actor, ip_address=ip_address, target_object=om.id, target_user=om.user, event=AuditLogEntryEvent.MEMBER_ADD, data=om.get_audit_log_data(), ) return om, True
class AddOrganizationMemberForm(forms.ModelForm): user = UserField() class Meta: fields = ('user',) model = OrganizationMember def save(self, actor, organization, ip_address): om = super(AddOrganizationMemberForm, self).save(commit=False) om.organization = organization om.type = OrganizationMemberType.MEMBER sid = transaction.savepoint(using='default') try: om.save() except IntegrityError: transaction.savepoint_rollback(sid, using='default') return OrganizationMember.objects.get( user=om.user, organization=organization, ), False transaction.savepoint_commit(sid, using='default') AuditLogEntry.objects.create( organization=organization, actor=actor, ip_address=ip_address, target_object=om.id, target_user=om.user, event=AuditLogEntryEvent.MEMBER_ADD, data=om.get_audit_log_data(), ) return om, True
class EditTeamAdminForm(EditTeamForm): owner = UserField(required=False) class Meta: fields = ( 'name', 'owner', ) model = Team
class NewTeamAdminForm(forms.ModelForm): name = forms.CharField(max_length=200, widget=forms.TextInput(attrs={'placeholder': _('e.g. My Team Name')})) slug = forms.SlugField(help_text=_('A slug is a URL-safe word and must be unique across all teams.'), widget=forms.TextInput(attrs={'placeholder': _('e.g. my-team-name')})) owner = UserField(required=False) class Meta: fields = ('name', 'slug', 'owner') model = Team
class EditProjectForm(BaseProjectForm): public = forms.BooleanField( required=False, help_text=_('Imply public access to any event for this project.')) team = forms.TypedChoiceField(choices=(), coerce=int, required=False) origins = OriginsField( label=_('Allowed Domains'), required=False, help_text=_('Separate multiple entries with a newline.')) resolve_age = RangeField(help_text=_( 'Treat an event as resolved if it hasn\'t been seen for this amount of time.' ), required=False, min_value=0, max_value=168, step_value=1) mail_subject_prefix = forms.CharField(label=_('Mail Subject Prefix'), required=False) owner = UserField(required=False) class Meta: fields = ('name', 'platform', 'public', 'team', 'owner', 'slug', 'mail_subject_prefix') model = Project def __init__(self, request, team_list, data, instance, *args, **kwargs): super(EditProjectForm, self).__init__(data=data, instance=instance, *args, **kwargs) self.team_list = dict((t.pk, t) for t in team_list.itervalues()) if not can_set_public_projects(request.user): del self.fields['public'] if len(team_list) == 1 and instance.team == team_list.values()[0]: del self.fields['team'] else: self.fields['team'].choices = get_team_choices( self.team_list, instance.team) self.fields['team'].widget.choices = self.fields['team'].choices def clean_team(self): value = self.cleaned_data.get('team') if not value: return # TODO: why is this not already an int? value = int(value) if value == -1: return if self.instance.team and value == self.instance.team.id: return self.instance.team return self.team_list[value]
class EditTeamAdminForm(EditTeamForm): owner = UserField(required=True) class Meta: fields = ('name', 'slug', 'owner',) model = Team def clean_slug(self): value = self.cleaned_data['slug'] if value in RESERVED_TEAM_SLUGS: raise forms.ValidationError('You may not use "%s" as a slug' % (value,)) return value
class NewTeamMemberForm(BaseTeamMemberForm): user = UserField() class Meta: fields = ('type', 'user') model = TeamMember def clean_user(self): value = self.cleaned_data['user'] if not value: return None if self.project.member_set.filter(user=value).exists(): raise forms.ValidationError(_('User is already a member of this team')) return value
class NewProjectAdminForm(NewProjectForm): owner = UserField(required=False) class Meta: fields = ('name', 'platform') model = Project
class EmailUserForm(forms.Form): username = UserField()
class NewAccessGroupMemberForm(forms.Form): user = UserField()
class EditProjectAdminForm(EditProjectForm): owner = UserField(required=False) class Meta: fields = ('name', 'public', 'team', 'owner') model = Project