from .. import controller from odoo import http from odoo.http import request class Lead(controller.Controller): @http.route('/api/v1/lead', auth='public', methods=['POST', 'OPTIONS'], csrf=False) @controller.Controller.must_authorized() def create_lead(self, **kw): params = self.get_request_params(kw, { "name": ["required"], "contact_name": [], "email_from": [], "phone": [], "file_npwp": [], "file_nib": [], "file_tdp": [], "file_siup": [], "file_quotation": [], "description": [] }) if not params['valid']: return self.response(code=400, description=params) params['value']['user_id'] = 20 lead = request.env['crm.lead'].create(params['value']) return self.response(True) @http.route('/api/v1/merchant', auth='public', methods=['POST', 'OPTIONS'], csrf=False) @controller.Controller.must_authorized() def create_merchant(self, **kw): params = self.get_request_params(kw, { "name_merchant": ["required"], "pic_merchant":[], "address": [], "state": [], "city": [], "district": [], "subDistrict": [], "zip": [], "bank_name": [], "rekening_name": [], "account_number": [], "email_company": [], "email_sales": [], "email_finance": [], "phone": [], "mobile": [], "harga_tayang": [], "file_dokumenKtpDirut ": [], "file_kartuNama": [], "file_npwp": [], "file_sppkp": [], "file_suratPernyataan": [], "file_fotoKantor": [], "file_dataProduk": [], "file_pricelist": [], "description": [], }) filtered_params = {key: value for key, value in params['value'].items() if value} lead = request.env['user.form.merchant'].create(filtered_params) partner_id = int(kw.get('partner_id')) partner = request.env['res.partner'].search([('id', '=', partner_id)], limit=1) if not params['valid']: return self.response(code=400, description=params) main_partner = partner.get_main_parent() user_merchant_request = request.env['user.merchant.request'].create({ 'user_id': partner.id, 'merchant_id': lead.id, 'user_company_id': main_partner.id }) return self.response(True)