Ejemplo n.º 1
0
    def post(self, request, *args, **kwargs):
        file_id = request.data.get('fileID')
        size = request.data.get('fileSize')
        course_obj = None
        data = {}
        file_type = request.data.get('fileType')
        tmp = file_type.split('/')
        file_type = tmp[len(tmp) - 1]
        print(file_id, size, file_type)
        if file_id:
            obj = TalentMedicalUpload.objects.get(id=int(file_id))
            obj.size = int(size)
            obj.uploaded = True
            # obj.file_type = file_type
            obj.save()
            data['id'] = obj.id
            data['saved'] = True

            # Logging
            talent_user = obj.talent.user
            UserNoteManager.profile_logger(
                None, None, talent_user,
                '{user} uploaded resume.'.format(user=talent_user.first_name),
                obj)

        return Response(data, status=status.HTTP_200_OK)
    def delete(self, request, pk, format=None):
        talent_sub_skill_video_item = self.get_object(pk)

        user = request.user
        if user:
            talent_user = talent_sub_skill_video_item.talent.user
            note = ''
            if user.type == 'agency':
                note = 'Greeting video ({sub_skill_name}) {status} by {user}. Comment: {comment}'.format(
                    sub_skill_name=talent_sub_skill_video_item.sub_skill.name,
                    status='Rejected',
                    user=user.first_name,
                    comment=request.data['comment'] if request.data and
                    ('comment' in request.data) else '')
            elif user.type == 'talent':
                note = '{user} removed a greeing video ({sub_skill_name}).'.format(
                    user=user.first_name,
                    sub_skill_name=talent_sub_skill_video_item.sub_skill.name,
                )

            UserNoteManager.profile_logger(None, user, talent_user, note,
                                           talent_sub_skill_video_item)

        talent_sub_skill_video_item.delete()

        return Response(status=status.HTTP_204_NO_CONTENT)
    def delete(self, request, pk, format=None):
        talent_picture_item = self.get_object(pk)
        talent_picture_item.delete()

        user = request.user
        if user:
            talent_user = talent_picture_item.talent.user
            note = ''
            if user.type == 'agency':
                note = '{picture_caption} {status} by {user}. Comment: {comment}'.format(
                    picture_caption=talent_picture_item.caption,
                    status='Rejected',
                    user=user.first_name,
                    comment=request.data['comment'] if request.data and
                    ('comment' in request.data) else '')
            elif user.type == 'talent':
                note = '{user} removed {picture_caption}.'.format(
                    user=user.first_name,
                    picture_caption=talent_picture_item.caption,
                )

            UserNoteManager.profile_logger(None, user, talent_user, note,
                                           talent_picture_item)

        return Response({'id': pk}, status=status.HTTP_204_NO_CONTENT)
    def post(self, request, *args, **kwargs):
        file_id = request.data.get('fileID')
        size = request.data.get('fileSize')
        course_obj = None
        data = {}
        type_ = request.data.get('fileType')

        if file_id:
            obj = TalentPicture.objects.get(id=int(file_id))
            obj.size = int(size)
            obj.uploaded = True
            obj.file_type = type_
            obj.save()
            data['id'] = obj.id
            data['saved'] = True

            # Logging
            talent_user = obj.talent.user
            UserNoteManager.profile_logger(
                None, None, talent_user,
                '{user} uploaded {picture_caption}.'.format(
                    user=talent_user.first_name, picture_caption=obj.caption),
                obj)

        return Response(data, status=status.HTTP_200_OK)
Ejemplo n.º 5
0
    def post(self, request, *args, **kwargs):
        file_id = request.data.get('fileID')
        size = request.data.get('fileSize')
        course_obj = None
        data = {}
        type_ = request.data.get('fileType')
        print(file_id, size, type_)
        if file_id:
            obj = TalentVideoGreeting.objects.get(id=int(file_id))
            obj.size = int(size)
            obj.uploaded = True
            obj.file_type = type_
            obj.save()
            data['id'] = obj.id
            data['saved'] = True

            # Logging
            talent_user = obj.talent.user
            UserNoteManager.profile_logger(
                None, None, talent_user,
                '{user} uploaded a greetings video ({language}).'.format(
                    user=talent_user.first_name,
                    language=obj.language
                ),
                obj
            )
        return Response(data, status=status.HTTP_200_OK)
    def put(self, request, pk, format=None):
        talent_picture_item = self.get_object(pk)
        serializer = TalentPictureSerializer(talent_picture_item,
                                             data=request.data)
        if serializer.is_valid():
            serializer.save()

            user = request.user
            if user and 'approved' in serializer.data:
                talent_user = talent_picture_item.talent.user
                UserNoteManager.profile_logger(
                    None, user, talent_user,
                    '{picture_caption} {status} by {user}.'.format(
                        picture_caption=talent_picture_item.caption,
                        status='Approved'
                        if serializer.data['approved'] else 'Rejected',
                        user=user.first_name), talent_picture_item)

            return Response(serializer.data)
        return Response({'error': serializer.errors},
                        status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 7
0
    def put(self, request, pk, format=None):
        talent_greeting_video_item = self.get_object(pk)
        serializer = TalentVideoGreetingSerializer(talent_greeting_video_item,
                                                   data=request.data)
        if serializer.is_valid():
            serializer.save()

            user = request.user
            if user and 'approved' in serializer.data:
                talent_user = talent_greeting_video_item.talent.user
                UserNoteManager.profile_logger(
                    None, user, talent_user,
                    'Greetings video ({language}) {status} by {user}.'.format(
                        language=talent_greeting_video_item.language,
                        status='Approved'
                        if serializer.data['approved'] else 'Rejected',
                        user=user.first_name), talent_greeting_video_item)

            return Response(serializer.data)
        return Response({'error': serializer.errors},
                        status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 8
0
    def delete(self, request, pk, format=None):
        talent_medical_upload_item = self.get_object(pk)
        talent_medical_upload_item.delete()

        user = request.user
        if user:
            talent_user = talent_medical_upload_item.talent.user
            note = ''
            if user.type == 'agency':
                note = 'Resume of {talent} {status} by {user}. Comment: {comment}'.format(
                    talent=talent_user.first_name,
                    status='Rejected',
                    user=user.first_name,
                    comment=request.data['comment']
                    if 'comment' in request.data else '')
            elif user.type == 'talent':
                note = '{user} removed resume.'.format(user=user.first_name)

            UserNoteManager.profile_logger(None, user, talent_user, note,
                                           talent_medical_upload_item)

        return Response({'id': int(pk)}, status=status.HTTP_200_OK)
Ejemplo n.º 9
0
    def put(self, request, pk, format=None):
        talent_medical_upload_item = self.get_object(pk)
        serializer = TalentMedicalUploadSerializer(talent_medical_upload_item,
                                                   data=request.data)
        if serializer.is_valid():
            serializer.save()

            # Logging
            user = request.user
            if user and 'approved' in serializer.data:
                talent_user = talent_medical_upload_item.talent.user
                UserNoteManager.profile_logger(
                    None, user, talent_user,
                    'Resume of {talent} {status} by {user}.'.format(
                        talent=talent_user.first_name,
                        status='Approved'
                        if serializer.data['approved'] else 'Rejected',
                        user=user.first_name), talent_medical_upload_item)

            return Response(serializer.data)
        return Response({'error': serializer.errors},
                        status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 10
0
    def put(self, request, pk, format=None):
        talent_item = self.get_object(pk)
        talent_data = request.data

        # pick out user data
        user_data = self.pickout_data(talent_data, 'user')

        # pick out position sub type data
        talent_position_type_data = self.pickout_data(talent_data,
                                                      'talent_position_type')

        # pick out position sub type data
        talent_position_sub_type_data = self.pickout_data(
            talent_data, 'talent_position_sub_type')

        # pick out multiple position sub types data
        talent_position_sub_types_data = self.pickout_data(
            talent_data, 'talent_position_sub_types')

        # pick out skills data
        talent_skills_data = self.pickout_data(talent_data, 'talent_skills')

        # pick out sub skills data
        talent_sub_skills_data = self.pickout_data(talent_data,
                                                   'talent_sub_skills')

        # pick out visa data
        talent_visas_data = self.pickout_data(talent_data, 'talent_visas')

        # pick out approved data
        # approved_data = self.pickout_data(talent_data, 'approved')

        # pick out locked_dance_combination
        # locked_dance_combination_data = self.pickout_data(talent_data, 'locked_dance_combination')

        print('==== talent_data: ', talent_data)
        print('==== talent_skills_data: ', talent_skills_data)
        print('==== talent_sub_skills_data: ', talent_sub_skills_data)

        serializer = TalentSerializer(talent_item, data=talent_data)
        # Reset tid
        if talent_position_type_data:
            serializer.tid = self.generate_tid_by_one(
                talent_item, talent_position_type_data)

        if serializer.is_valid():
            serializer.save()

            # In the case approved or locked_dance_combination, logging
            agency = request.user
            if 'approved' in talent_data:
                approved = talent_data['approved']
                note = 'TALENT {approve_status} by {admin}'.format(
                    approve_status='Approved' if approved else 'Rejected',
                    admin=agency.first_name)
                UserNoteManager.profile_logger(agency, None, talent_item.user,
                                               note, talent_item.user)

            if 'locked_dance_combination' in talent_data:
                locked_dance_combination = talent_data[
                    'locked_dance_combination']
                note = 'Lockout Reset by Agent ({admin})'.format(
                    admin=agency.first_name)
                if locked_dance_combination:
                    note = 'TALENT LOCKED OUT FOR MULTIPLE DOWNLOADS'

                UserNoteManager.dance_combination_logger(
                    None, None, talent_item.user, note, talent_item.user)

            if 'tid' in talent_data:
                tid = talent_data['tid']
                note = 'Changed to {tid} by {admin}'.format(
                    tid=tid, admin=agency.first_name)
                UserNoteManager.tid_logger(None, None, talent_item.user, note,
                                           talent_item.user)

            # Check and save position sub type
            if talent_position_type_data:
                self.delete_all_talent_position_and_skill(talent_item)

                self.save_talent_position_type(talent_item,
                                               talent_position_type_data)

                # Check and save position sub type
                if talent_position_sub_type_data:
                    self.save_talent_position_sub_type(
                        talent_item, talent_position_sub_type_data,
                        talent_position_type_data)

                # Check and save multiple position sub types
                if talent_position_sub_types_data:
                    self.save_talent_position_sub_types(
                        talent_item, talent_position_sub_types_data,
                        talent_position_type_data)

            # Check and save skills
            if talent_skills_data:
                self.save_talent_skills(talent_item, talent_skills_data)

            # Check and save skills
            if talent_sub_skills_data:
                self.save_talent_sub_skills(talent_item,
                                            talent_sub_skills_data)

            # Check and save visa types
            if talent_visas_data:
                self.save_talent_visas(talent_item, talent_visas_data)

            return Response(request.data, status=status.HTTP_200_OK)

        return Response({'error': serializer.errors},
                        status=status.HTTP_400_BAD_REQUEST)