39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """passbook core invitation form"""
 | |
| 
 | |
| from django import forms
 | |
| from django.core.exceptions import ValidationError
 | |
| from django.utils.translation import gettext as _
 | |
| 
 | |
| from passbook.core.models import Invitation, User
 | |
| 
 | |
| 
 | |
| class InvitationForm(forms.ModelForm):
 | |
|     """InvitationForm"""
 | |
| 
 | |
|     def clean_fixed_username(self):
 | |
|         """Check if username is already used"""
 | |
|         username = self.cleaned_data.get('fixed_username')
 | |
|         if User.objects.filter(username=username).exists():
 | |
|             raise ValidationError(_('Username is already in use.'))
 | |
|         return username
 | |
| 
 | |
|     def clean_fixed_email(self):
 | |
|         """Check if email is already used"""
 | |
|         email = self.cleaned_data.get('fixed_email')
 | |
|         if User.objects.filter(email=email).exists():
 | |
|             raise ValidationError(_('E-Mail is already in use.'))
 | |
|         return email
 | |
| 
 | |
|     class Meta:
 | |
| 
 | |
|         model = Invitation
 | |
|         fields = ['expires', 'fixed_username', 'fixed_email', 'needs_confirmation']
 | |
|         labels = {
 | |
|             'fixed_username': "Force user's username (optional)",
 | |
|             'fixed_email': "Force user's email (optional)",
 | |
|         }
 | |
|         widgets = {
 | |
|             'fixed_username': forms.TextInput(),
 | |
|             'fixed_email': forms.TextInput(),
 | |
|         }
 | 
