class ItemCreateForm(forms.ModelForm): image1 = CloudinaryFileField(required=False, options={ 'crop': 'limit', 'width': 546, 'height': 1000, }) image2 = CloudinaryFileField(required=False, options={ 'crop': 'limit', 'width': 546, 'height': 1000, }) image3 = CloudinaryFileField(required=False, options={ 'crop': 'limit', 'width': 546, 'height': 1000, }) class Meta: model = models.Item fields = ("post_type", "image1", "image2", "image3", "name", "details", "category", "other_category", "location", "location_detail") labels = { 'details': _('Details (optional):'), 'category': _('Category (optional):'), 'other_category': _('Name the Other Category (optional):'), 'location_detail': _('Location Detail (optional):'), }
class BreweryForm(ModelForm): image = CloudinaryFileField(options={'folder': 'sake_time/breweries'}) header = CloudinaryFileField(options={'folder': 'sake_time/breweries'}) class Meta: model = Brewery fields = '__all__'
class Meta: Image1 = CloudinaryFileField(options={ 'folder': 'avatars', }) Image2 = CloudinaryFileField(options={'folder': 'avatars'}) Image3 = CloudinaryFileField(options={'folder': 'avatars'}) model = Home_page_images fields = ['Image1', 'Image2', 'Image3']
class ModelnameCreateForm(forms.ModelForm): class Meta: model = Post fields = ('image') image = CloudinaryFileField( options={'folder': 'media/Model_image', 'tags': 'Model_name'}) movie = CloudinaryFileField( options={'folder': 'media/Model_movie', 'tags': 'Model_name', 'resource_type': 'video'})
class PostForm(forms.ModelForm): post_image = CloudinaryFileField(options={'folder': 'instagram'}) class Meta: model = Post exclude = ['user_profile', 'likes', 'published'] fields = ('post_caption', 'post_image')
class StudentForm(forms.ModelForm): profile_pic = CloudinaryFileField(required=False, options = { 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'profilepic' }, ) class Meta: model = Student fields = { 'profile_pic', 'country', 'age','bio','interests'} labels = { 'country': 'Country :', 'age': 'Age :', 'bio': 'Bio :', 'interests': 'Interests :', } widgets = { 'interests':Select(attrs={'class': u'form-control'}), 'bio': TextInput(attrs={'class': u'form-control','placeholder': u'Enter your Bio here'}), 'country': Select(attrs={'class': u'form-control'}), 'age': NumberInput(attrs={'class': u'form-control','placeholder': u'Enter your age here'}), }
class create_new_post(forms.ModelForm): category = forms.CharField() title = forms.CharField() image = CloudinaryFileField( options={ 'crop': 'scale', 'width': 500, 'height': 500, 'folder': 'blog-images', }, required=False, ) image_caption = forms.CharField(required=False, ) tags = forms.CharField( widget=forms.TextInput(attrs={ 'data-role': "tagsinput", 'class': "form-control bootstrap-tagsinput", 'id': "tags-multiple", }, ), required=False, ) publish = forms.DateField(widget=forms.SelectDateWidget) class Meta: model = Post fields = [ 'category', 'title', 'content', 'image', 'image_caption', 'tags', 'draft', 'publish' ]
class NoteUploadForm(forms.ModelForm): file = CloudinaryFileField(options={'folder': 'LectureNotefiles'}, ) class Meta: model = FileUpload fields = ['upload_id', 'title', 'description', 'file'] labels = { 'file': 'PDF', } widgets = { 'title': TextInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Title' }), 'description': Textarea(attrs={ 'class': u'form-control', 'placeholder': u'Enter Description' }), } # Function will apply validation on the 'file' upload column in the table. def clean_file(self): upload = self.cleaned_data['file'] content_type = upload.content_type if content_type in ['application/pdf']: if upload._size <= 20971520: return upload else: raise forms.ValidationError("Cannot exceed 20MB size") else: raise forms.ValidationError( "Only accepting PDF files for course notes.")
class DoctorSignUpForm(UserCreationForm): image = CloudinaryFileField( options = { 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'doctor_pics' } ) discipline = forms.CharField() class Meta(UserCreationForm.Meta): model = User fields = ['fullname', 'email', 'phone_no', 'discipline', 'image', 'password1', 'password2'] @transaction.atomic def save(self): user = super().save(commit=False) user.is_doctor = True user.save() doctor = Doctor2.objects.create(user=user, discipline=self.cleaned_data.get('discipline'), wallet_balance=0.00) print(self.cleaned_data.get('discipline')) # doctor.wallet_balance = 0.00 # doctor.discipline = self.cleaned_data.get('discipline') return user
class PostadForm(forms.ModelForm): image = CloudinaryFileField( required=False, options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'item profile' }, ) class Meta: model = Advert fields = { 'name', 'description', 'price', 'location', 'category', 'item_condition', 'accept_terms', 'option', 'image' } labels = { 'name': 'name', 'accept_terms': 'accept_terms', 'description': 'description', 'price': 'price', 'location': 'location', 'category': 'category', 'item_condition': 'item_condition', 'option': 'option', } def clean_price(self): price = self.cleaned_data['price'] print(price) if price < 1 or price is "": raise forms.ValidationError("Item Price can not be blank") else: return price
class AssetModelForm(forms.ModelForm): class Meta: model = Asset fields = ('title', 'media', 'tags') title = forms.CharField( label='Title', max_length=80, required=True, ) media = CloudinaryFileField( options={ 'folder': album_media_dir(), 'use_filename': True, 'resource_type': 'auto', 'auto_tagging': 0.8 }) tags = forms.CharField(label='Tags', required=False, help_text='Comma, separated, list') def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.form_id = 'id-assetModelForm' self.helper.use_custom_control = True self.helper.layout = Layout( Fieldset( 'Add your media', 'media', 'title', 'tags', ))
class CvForm(ModelForm): file = CloudinaryFileField( options={ 'resource_type': "raw" }) class Meta: model = Profile fields=['file']
def test_file_field(self): cff_no_auto_save = CloudinaryFileField(autosave=False) res = cff_no_auto_save.to_python(None) self.assertIsNone(res) # without auto_save File is untouched res = cff_no_auto_save.to_python(self.test_file) self.assertIsInstance(res, SimpleUploadedFile) # when auto_save is used, resource is uploaded to Cloudinary and CloudinaryResource is returned cff_auto_save = CloudinaryFileField(autosave=True, options={"public_id": API_TEST_ID}) mocked_resource = cloudinary.CloudinaryResource(metadata={ "width": TEST_IMAGE_W, "height": TEST_IMAGE_H }, type="upload", public_id=API_TEST_ID, resource_type="image") with mock.patch('cloudinary.uploader.upload_image', return_value=mocked_resource) as upload_mock: res = cff_auto_save.to_python(self.test_file) self.assertTrue(upload_mock.called) self.assertIsInstance(res, CloudinaryResource) self.assertEqual(API_TEST_ID, res.public_id)
def test_to_python(self): cff_no_auto_save = CloudinaryFileField(autosave=False) res = cff_no_auto_save.to_python(None) self.assertIsNone(res) # without auto_save File is untouched res = cff_no_auto_save.to_python(self.test_file) self.assertIsInstance(res, SimpleUploadedFile) # when auto_save is used, resource is uploaded to Cloudinary and CloudinaryResource is returned cff_auto_save = CloudinaryFileField(autosave=True, options={"public_id": API_TEST_ID}) mocked_resource = cloudinary.CloudinaryResource(metadata={"width": TEST_IMAGE_W, "height": TEST_IMAGE_H}, type="upload", public_id=API_TEST_ID, resource_type="image") with mock.patch('cloudinary.uploader.upload_image', return_value=mocked_resource) as upload_mock: res = cff_auto_save.to_python(self.test_file) self.assertTrue(upload_mock.called) self.assertIsInstance(res, CloudinaryResource) self.assertEqual(API_TEST_ID, res.public_id)
class SyllabusForm(forms.ModelForm): file = CloudinaryFileField(options={'folder': 'Syllabusfiles'}, ) class Meta: model = Syllabus fields = ['file'] labels = { 'file': 'PDF Document', }
class PolicyForm(forms.ModelForm): file = CloudinaryFileField(options={'folder': 'policyfiles'}, ) class Meta: model = Policy fields = ['file'] labels = { 'file': 'PDF Document', }
class DealForm(forms.Form): """ Handles verification of form inputs """ active = forms.BooleanField(label='Is active?', required=False) current_price = forms.IntegerField(label='Current price', required=False) max_quantity_available = forms.IntegerField( label='Max. quantity available', required=False) original_price = forms.IntegerField(label='Original price', required=False) image = CloudinaryFileField(required=False) quorum = forms.IntegerField(label='Quorum', required=False) title = forms.CharField(label='Title', required=False, max_length=200) address = forms.CharField(label='Address', required=False, max_length=200) @staticmethod def construct_int(value): """Contructs an integer value from a string or a comma separated list """ if value == '' or value is None: return 0 print value index = value.find(',') if index is -1: return int(value) else: return int(value[:index] + value[index + 1:]) def is_valid(self): """ Checks if form data is valid. """ super(DealForm, self).is_valid() for key, value in self.data.items(): if value is None or value == '': if key != 'quorum': continue if integerfields.get(key, False): if type(str(value)) is str: value = DealForm.construct_int(value) # remove errors upon normalization of uncleaned data self.errors.pop(key, None) # update value of cleaned data self.cleaned_data[key] = value return len(self.errors) is 0 def save(self, deal): """ Updates information about a deal """ for key, value in self.cleaned_data.items(): if value is None or value == '': # skip the quorum field if key != 'quorum': continue setattr(deal, key, value) deal.save()
class Meta: """We set the image to be a CloudinaryFileField for the upload""" model = Photo fields = ['title', 'alt_text', 'image'] image = CloudinaryFileField(options={ 'use_filename': True, 'unique_filename': False, 'overwrite': False })
class NutriologistForm(forms.Form): """Nutriologist update profile form""" picture = CloudinaryFileField(required=False, options={ 'gravity': "face", 'height': 324, 'width': 324, 'crop': "fill" }) username = forms.CharField( max_length=15, required=True, error_messages={ 'required': 'El campo de usuario no puede estar vacío!', 'max_length': 'No puede tener una longitud mayor a 15 caracteres' }) email = forms.EmailField(required=True) attention_days = forms.CharField( required=True, max_length=45, error_messages={ 'required': 'El campo no puede estar vacío!', 'max_length': 'No puede tener una longitud mayor a 50 caracteres' }) attention_hours = forms.CharField( max_length=35, required=True, error_messages={ 'required': 'El campo no puede estar vacío!', 'max_length': 'No puede tener una longitud mayor a 40 caracteres' }) age = forms.CharField( required=False, error_messages={'required': 'El campo no puede estar vacío!'}) work_approach = forms.CharField( required=True, error_messages={'required': 'El campo no puede estar vacío!'}) cedula_prof_det = forms.CharField( required=True, error_messages={'required': 'El campo no puede estar vacío!'}) biography = forms.CharField( max_length=800, required=True, error_messages={ 'required': 'El campo no puede estar vacío!', 'max_length': 'No puede tener una longitud mayor a 800 caracteres' })
class ProjectForm(forms.ModelForm): '''Form class to create a new post''' project_image = CloudinaryFileField( options = { 'folder': 'awards' } ) class Meta: model = Project fields = ('title', 'project_image', 'description', 'live_link')
class ProfileForm(forms.ModelForm): '''Form class to create a new profile''' profile_picture = CloudinaryFileField( options = { 'folder': 'awards' } ) class Meta: model = Profile fields = ('profile_picture','profile_bio','contact_info')
class AddAgencyForm(forms.ModelForm): agencyname = forms.CharField(label='Agency Name', max_length=200) registration_no = forms.IntegerField(label='Registration Number') agency_logo = CloudinaryFileField(label='Add agency') agency_image = CloudinaryFileField( options = { 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'avatars' } ) class Meta: model = Agency fields = ( 'agencyname', 'registration_no', 'agency_logo', ) # class AddAgencyForm(forms.ModelForm): # agencyname = forms.CharField(label='Agency Name', max_length=200) # registration_no = forms.IntegerField(label='Registration Number') # agency_logo = CloudinaryFileField(label='Add agency') # agency_image = CloudinaryFileField( # options = { # 'crop': 'thumb', # 'width': 200, # 'height': 200, # 'folder': 'avatars' # } # ) # class Meta: # model = Agency # fields = ( # 'agencyname', # 'registration_no', # 'agency_logo', # )
class PostadForm(forms.ModelForm): image = CloudinaryFileField( required=False, options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'profilepic' }, ) class Meta: model = Advert fields = { 'name', 'description', 'price', 'location', 'category', 'item_condition', 'accept_terms', 'option', 'image' } labels = { 'name': 'name', 'accept_terms': 'accept_terms', 'description': 'description', 'price': 'price', 'location': 'location', 'category': 'category', 'item_condition': 'item_condition', 'option': 'option', } widgets = { 'description': Textarea(attrs={ 'class': u'form-control', 'placeholder': u'Enter First Name' }), 'name': TextInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter your Bio here' }), 'location': Select(attrs={'class': u'form-control'}), 'category': Select(attrs={'class': u'form-control'}), 'item_condition': Select(attrs={'class': u'form-control'}), 'option': Select(attrs={'class': u'form-control'}), 'accept_terms': CheckboxInput(attrs={'class': 'required checkbox form-control'}), 'price': NumberInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter your age here' }), }
class AvatarForm(forms.ModelForm): avatar = CloudinaryFileField(options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'profile_avatars' }) class Meta: model = Profile fields = ('avatar', )
class AddDocumentToDeliverableForm(forms.ModelForm): link = CloudinaryFileField(options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'link' }, ) class Meta: model = Document fields = ['name', 'deliverable', 'link']
class UserProfileUpdateForm(forms.ModelForm): image = CloudinaryFileField( options = { 'crop':'thumb', 'width':300, 'height':300, } ) class Meta: model = UserProfile fields = ['image']
class ImageForm(ModelForm): image = CloudinaryFileField(options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'media' }) class Meta: model = Image fields = ['image', 'image_name', 'image_location', 'image_category']
class AvatarUploadForm(forms.ModelForm): avatar = CloudinaryFileField(options={ 'crop': 'thumb', 'width': '200', 'height': '200', 'folder': 'avatars' }) class Meta: model = UserProfile fields = ('avatar', )
class UpdateUserProfileForm(forms.ModelForm): profile_picture = CloudinaryFileField( options = { 'tags': "directly_uploaded", 'crop': 'limit', 'width': 1000, 'height': 1000, 'eager': [{ 'crop': 'fill', 'width': 150, 'height': 100 }] }) class Meta: model = Profile fields = [ 'name','profile_picture', 'bio']
class BookForm(forms.ModelForm): image = CloudinaryFileField(options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'tagme' }) class Meta: model = Book fields = ['title', 'description', 'tags', 'image']
class ImageUploadForm(forms.ModelForm): image = CloudinaryFileField(options={ 'crop': 'thumb', 'width': 200, 'height': 200, 'folder': 'images' }) class Meta: model = Profile fields = ('image', )