class SettingsForm(forms.ModelForm): logo = forms.ImageField( validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) square_logo = forms.ImageField( validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) class Meta: model = Team fields = ('description', 'logo', 'square_logo', 'is_visible')
class SettingsForm(forms.ModelForm): logo = forms.ImageField( validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], help_text=_('Max 940 x 235'), widget=forms.FileInput, required=False) square_logo = forms.ImageField( validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], help_text=_('Recommended size: 100 x 100'), widget=forms.FileInput, required=False) class Meta: model = Team fields = ('description', 'logo', 'square_logo', 'is_visible')
class CreateTeamForm(BaseVideoBoundForm): logo = forms.ImageField(validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) class Meta: model = Team fields = ('name', 'slug', 'description', 'logo', 'membership_policy', 'is_moderated', 'video_policy', 'is_visible', 'video_url') def __init__(self, *args, **kwargs): super(CreateTeamForm, self).__init__(*args, **kwargs) self.fields['video_url'].label = _(u'Team intro video URL') self.fields['video_url'].required = False self.fields['video_url'].help_text = _(u'''You can put an optional video on your team homepage that explains what your team is about, to attract volunteers. Enter a link to any compatible video, or to any video page on our site.''') self.fields['is_visible'].widget.attrs['class'] = 'checkbox' self.fields['is_moderated'].widget.attrs['class'] = 'checkbox' self.fields['slug'].label = _(u'Team URL: http://universalsubtitles.org/teams/') def clean_slug(self): slug = self.cleaned_data['slug'] if re.match('^\d+$', slug): raise forms.ValidationError('Field can\'t contains only numbers') return slug def save(self, user): team = super(CreateTeamForm, self).save(False) video = self.fields['video_url'].video if video: team.video = video team.save() TeamMember(team=team, user=user, is_manager=True).save() return team
class EditTeamFormAdmin(EditTeamForm): logo = forms.ImageField(validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) class Meta: model = Team fields = ('name', 'header_html_text', 'description', 'logo', 'membership_policy', 'is_moderated', 'video_policy', 'is_visible', 'video_url', 'application_text', 'page_content')
class EditAvatarForm(forms.ModelForm, AjaxForm): picture = forms.ImageField(validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) class Meta: model = User fields = ('picture',) def clean(self): if 'picture' in self.cleaned_data and not self.cleaned_data.get('picture'): del self.cleaned_data['picture'] return self.cleaned_data
class EditLogoForm(forms.ModelForm, AjaxForm): logo = forms.ImageField(validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) class Meta: model = Team fields = ('logo',) def clean(self): if 'logo' in self.cleaned_data and not self.cleaned_data.get('logo'): del self.cleaned_data['logo'] return self.cleaned_data
class EditTeamForm(BaseVideoBoundForm): logo = forms.ImageField(validators=[MaxFileSizeValidator(settings.AVATAR_MAX_SIZE)], required=False) class Meta: model = Team fields = ('name', 'description', 'logo', 'membership_policy', 'is_moderated', 'video_policy', 'is_visible', 'video_url', 'application_text', 'page_content') def __init__(self, *args, **kwargs): super(EditTeamForm, self).__init__(*args, **kwargs) self.fields['video_url'].label = _(u'Team intro video URL') self.fields['video_url'].required = False self.fields['video_url'].help_text = _(u'''You can put an optional video on your team homepage that explains what your team is about, to attract volunteers. Enter a link to any compatible video, or to any video page on our site.''') self.fields['is_visible'].widget.attrs['class'] = 'checkbox' self.fields['is_moderated'].widget.attrs['class'] = 'checkbox' def clean(self): if 'logo' in self.cleaned_data: #It is saved with edit_logo view del self.cleaned_data['logo'] return self.cleaned_data def save(self): team = super(EditTeamForm, self).save(False) video = self.fields['video_url'].video if video: team.video = video team.save() if team.is_open(): for item in team.applications.all(): item.approve() return team