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)
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)
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)
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)
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)
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)