Exemplo n.º 1
0
    def post(self, request, resume_id=None):
        '''
        简历保存
        '''
        post_data = json.loads(request.body)
        update_resume = self.get_resume(resume_id)
        valid_result = self.__valid_post_data(post_data, update_resume)

        if valid_result['is_valid']:
            with transaction.atomic():
                resume = self.save_resume(post_data, update_resume)
                resume_id = resume.id
                # save resume to pinbot
                resume = self.get_resume(resume.id)
                resume_dict = UploadResumeUtils.get_sync_resume_dict(resume)
                PinbotResumeUtils.save(resume_dict)

            resume_dict.pop('created_at', None)
            resume_dict.pop('updated_at', None)
            resume_dict.pop('resume_id', None)
            resume_dict.pop('contact_info', None)

            ParseUtils.insert_resume(resume_dict)

            task_id = post_data.get('task_id', 0)
            task = get_object_or_none(
                Feed,
                id=task_id,
            )

            if task:
                is_valid, status = self.is_valid_task_resume(task, resume)
                if is_valid:
                    self.accept_task(task, resume)

                msg = '接受任务成功'
                resume_source = 'add_task'
            else:
                status = 'ok'
                msg = '保存成功'
                resume_source = 'edit_resume' if update_resume else 'add_resume'

            result = {
                'status': status,
                'msg': msg,
                'resume_id': resume_id,
                'resume_source': resume_source,
            }

            return JsonResponse(result)
        else:
            result = {
                'status': 'form_error',
                'msg': '表单错误',
                'errors': valid_result,
            }

            return JsonResponse(result)
Exemplo n.º 2
0
    def post(self, request, resume_id=None):
        '''
        简历保存
        '''
        post_data = json.loads(request.body)
        update_resume = self.get_resume(resume_id)
        valid_result = self.__valid_post_data(post_data, update_resume)

        if valid_result['is_valid']:
            with transaction.atomic():
                resume = self.save_resume(post_data, update_resume)
                resume_id = resume.id
                # save resume to pinbot
                resume = self.get_resume(resume.id)
                resume_dict = UploadResumeUtils.get_sync_resume_dict(resume)
                PinbotResumeUtils.save(resume_dict)

            resume_dict.pop('created_at', None)
            resume_dict.pop('updated_at', None)
            resume_dict.pop('resume_id', None)
            resume_dict.pop('contact_info', None)

            ParseUtils.insert_resume(resume_dict)

            task_id = post_data.get('task_id', 0)
            task = get_object_or_none(
                Feed,
                id=task_id,
            )

            if task:
                is_valid, status = self.is_valid_task_resume(task, resume)
                if is_valid:
                    self.accept_task(task, resume)

                msg = '接受任务成功'
                resume_source = 'add_task'
            else:
                status = 'ok'
                msg = '保存成功'
                resume_source = 'edit_resume' if update_resume else 'add_resume'

            result = {
                'status': status,
                'msg': msg,
                'resume_id': resume_id,
                'resume_source': resume_source,
            }

            return JsonResponse(result)
        else:
            result = {
                'status': 'form_error',
                'msg': '表单错误',
                'errors': valid_result,
            }

            return JsonResponse(result)
Exemplo n.º 3
0
    def sync(cls, user):
        resume = ResumeUtils.get_resume(user)
        if not cls.is_valid_resume(resume):
            return False

        resume_data = cls.get_sync_resume_data(resume)
        result = PinbotResumeUtils.save(resume_data)
        return result
Exemplo n.º 4
0
 def setUp(self):
     self.candidate_tag = CandidateTagsManage()
     self.sys_tag = SystemTagsManage()
     self.job_manage = JobStatusManage()
     self.resume_doc = resume_doc
     resume, _ = PinbotResumeUtils.save(resume_doc)
     self.resume = resume
     self.resume_id = str(resume.id)
Exemplo n.º 5
0
    def sync(cls, user):
        resume = ResumeUtils.get_resume(user)
        if not cls.is_valid_resume(resume):
            return False

        resume_data = cls.get_sync_resume_data(resume)
        result = PinbotResumeUtils.save(resume_data)
        return result
Exemplo n.º 6
0
 def setUp(self):
     self.candidate_tag = CandidateTagsManage()
     self.sys_tag = SystemTagsManage()
     self.job_manage = JobStatusManage()
     self.resume_doc = resume_doc
     resume, _ = PinbotResumeUtils.save(resume_doc)
     self.resume = resume
     self.resume_id = str(resume.id)
Exemplo n.º 7
0
 def setUp(self):
     dict_data = json.loads(self.resume_data)
     dict_data['resume_id'] = str(bson.ObjectId())
     self.resume, self.contact_info = PinbotResumeUtils.save(dict_data)
Exemplo n.º 8
0
 def setUp(self):
     dict_data = json.loads(self.resume_data)
     dict_data['resume_id'] = str(bson.ObjectId())
     self.resume, self.contact_info = PinbotResumeUtils.save(dict_data)
Exemplo n.º 9
0
 def setUp(self):
     self.c = Client()
     self.c.login(username='******', password='******')
     resume, _ = PinbotResumeUtils.save(resume_doc)
     self.resume = resume
     self.resume_id = str(resume.id)
Exemplo n.º 10
0
 def setUp(self):
     self.c = Client()
     self.c.login(username='******', password='******')
     resume, _ = PinbotResumeUtils.save(resume_doc)
     self.resume = resume
     self.resume_id = str(resume.id)