def post(self, request): json_data = json.loads(request.body) user = request.user company_obj = get_object_or_none( Company, user=user, ) form = CompanyForm(json_data) if not company_obj else CompanyForm( json_data, instance=company_obj) if form.is_valid(): company = form.save(commit=False) company.user = user company.save() form.save_m2m() redirect_url = '' if FeedUtils.has_use_feed( user) else reverse('feed-add-new') return JsonResponse({ "status": "ok", "id": company.id, 'msg': 'ok', 'redirect_url': redirect_url, }) else: return JsonResponse({ 'status': 'form_error', 'msg': form.get_first_errors(), 'data': { 'errors': form.errors, } })
def get(self, request): user = request.user company = Company.objects.select_related( 'category', ).filter( user=user ) company_card_dict = {} jobs_arr = [] companycard_css = 'curr' company_category = [] if len(company) >= 1: company = company[0] company.desc = company.desc.strip() company_json = model_to_dict(company) company_card_dict['company'] = company_json jobs = Job.objects.filter(company=company, deleted=False) for job in jobs: job_json = model_to_dict(job) jobs_arr.append(job_json) company_card_dict['jobs'] = jobs_arr company_category = company.category.all() company_card_dict['select_category'] = [ { 'category': c.category, 'id': c.id, } for c in company_category ] all_company_category = CompanyCategory.objects.filter( display=True, ).order_by( '-sort', ) select_id_list = [c.id for c in company_category] company_card_dict['all_company_category'] = [ { 'category': c.category, 'id': c.id, 'select': True if c.id in select_id_list else False } for c in all_company_category ] company_card_dict['show_mission'] = True if ( not FeedUtils.has_use_feed(user) and VipRoleUtils.get_current_vip(user) ) else False company_card_json = json.dumps(company_card_dict) return render( request, self.template_name, { 'company_json': company_card_json, 'companycard_css': companycard_css, }, )