def upload_avatar(self, request, slug): company = get_object_or_404(Company, user_profile__auth_user=request.user, slug=slug) file = request.FILES['file'] is_image(file) data = cloudinary.uploader.upload(request.FILES['file'], folder=settings.AVATAR, crop='limit', use_filename=True, eager=[{ 'width': 200, 'height': 200, 'crop': 'thumb', 'gravity': 'face', 'radius': 'max', 'effect': 'sepia' }, { 'width': 100, 'height': 150, 'crop': 'fit', 'format': 'png' }]) company.avatar = data['public_id'] company.save() company_serializer = CompanySerializer(company, context={'request': request}) return Response(data=company_serializer.data, status=HTTP_201_CREATED)
def put(self, request, pk): profile = get_object_or_404(UsersProfile, auth_user=request.user) activity = Activity.objects.get(pk=pk) file = request.FILES['file'] file_type = check_file_type(file) album = None if is_image(file): album, created = Albums.objects.get_or_create( album_name=settings.POST_ALBUM, user_profile=profile) if file_type == 'IMG': data = cloudinary.uploader.upload( request.FILES['file'], folder='wall', crop='limit', use_filename=True, eager=[ { 'width': 528, 'height': 325, 'crop': 'fit', 'format': 'png' }, # 3 { 'width': 262, 'height': 325, 'crop': 'fit', 'format': 'png' }, # 2 { 'width': 262, 'height': 120, 'crop': 'fit', 'format': 'png' }, # 1 { 'width': 170, 'height': 120, 'crop': 'fit', 'format': 'png' }, # 0 ]) else: data = cloudinary.uploader.upload_large(request.FILES['file'], resource_type="auto") attachment = activity.activity_attachment.create( path=data['secure_url'], type=file_type, auth_user=request.user, album=album, path_json=data['public_id']) return Response(data=ActivityAttachmentSerializers(instance=attachment, context={ 'request': request }).data, status=HTTP_201_CREATED)
def patch(self, request, slug): profile = get_object_or_404(UsersProfile, auth_user=request.user) file = request.FILES['file'] is_image(file) data = cloudinary.uploader.upload(request.FILES['file'], folder=settings.AVATAR, crop='limit', use_filename=True, eager=[{ 'width': 200, 'height': 200, 'crop': 'thumb', 'gravity': 'face', 'radius': 'max', 'effect': 'sepia' }, { 'width': 100, 'height': 150, 'crop': 'fit', 'format': 'png' }]) profile.cover = data['public_id'] profile.save() album, created = Albums.objects.get_or_create( album_name=settings.COVER_ALBUM, user_profile=profile) activity = Activity(content=None, auth_user=request.user, action='change %s profile cover') activity.save() activity.activity_attachment.create(path=file, type='IMG', auth_user=request.user, album=album) return Response(data=UserProfileSerializer(profile, context={ 'request': request }).data, status=HTTP_200_OK)
def post(self, request, slug, formate=None): profile = get_object_or_404(UsersProfile, auth_user=request.user) file = request.FILES['file'] is_image(file) album, created = Albums.objects.get_or_create( album_name=settings.UNTITLED_ALBUM, user_profile=profile) activity = Activity(auth_user=request.user, content='', is_active=False) activity.save() data = cloudinary.uploader.upload(request.FILES['file'], folder=settings.AVATAR, crop='limit', use_filename=True, eager=[{ 'width': 200, 'height': 200, 'crop': 'thumb', 'gravity': 'face', 'radius': 'max', 'effect': 'sepia' }, { 'width': 100, 'height': 150, 'crop': 'fit', 'format': 'png' }]) activity.activity_attachment.create(path=data['secure_url'], type='IMG', auth_user=request.user, album=album) return Response(data=ActivitySerializer(instance=activity, context={ 'request': request }).data, status=HTTP_201_CREATED)