Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)