From 88e0ec338002a1ecbb97a53fa4bbf40073b6990b Mon Sep 17 00:00:00 2001 From: Kazushi Eguchi Date: Tue, 7 Jun 2022 09:24:58 +0900 Subject: [PATCH] =?UTF-8?q?=E9=96=A2=E9=80=A3=E6=8B=85=E5=BD=93=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtw_crm_related_partner/__init__.py | 4 ++ rtw_crm_related_partner/__manifest__.py | 35 +++++++++++ .../controllers/__init__.py | 3 + .../controllers/controllers.py | 21 +++++++ rtw_crm_related_partner/demo/demo.xml | 30 ++++++++++ rtw_crm_related_partner/models/__init__.py | 4 ++ rtw_crm_related_partner/models/crm_lead.py | 13 ++++ rtw_crm_related_partner/models/models.py | 18 ++++++ rtw_crm_related_partner/models/res_partner.py | 35 +++++++++++ .../security/ir.model.access.csv | 2 + rtw_crm_related_partner/views/crm_lead.xml | 20 +++++++ rtw_crm_related_partner/views/templates.xml | 24 ++++++++ rtw_crm_related_partner/views/views.xml | 60 +++++++++++++++++++ rtw_crm_role/models/__init__.py | 1 + rtw_crm_role/models/crm_lead.py | 4 +- rtw_crm_role/models/res_partner.py | 38 ++++++++++++ rtw_crm_role/views/crm_lead.xml | 4 +- rtw_shinsei/models/shinsei_sample.py | 2 +- 18 files changed, 314 insertions(+), 4 deletions(-) create mode 100644 rtw_crm_related_partner/__init__.py create mode 100644 rtw_crm_related_partner/__manifest__.py create mode 100644 rtw_crm_related_partner/controllers/__init__.py create mode 100644 rtw_crm_related_partner/controllers/controllers.py create mode 100644 rtw_crm_related_partner/demo/demo.xml create mode 100644 rtw_crm_related_partner/models/__init__.py create mode 100644 rtw_crm_related_partner/models/crm_lead.py create mode 100644 rtw_crm_related_partner/models/models.py create mode 100644 rtw_crm_related_partner/models/res_partner.py create mode 100644 rtw_crm_related_partner/security/ir.model.access.csv create mode 100644 rtw_crm_related_partner/views/crm_lead.xml create mode 100644 rtw_crm_related_partner/views/templates.xml create mode 100644 rtw_crm_related_partner/views/views.xml create mode 100644 rtw_crm_role/models/res_partner.py diff --git a/rtw_crm_related_partner/__init__.py b/rtw_crm_related_partner/__init__.py new file mode 100644 index 00000000..511a0ca3 --- /dev/null +++ b/rtw_crm_related_partner/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import controllers +from . import models \ No newline at end of file diff --git a/rtw_crm_related_partner/__manifest__.py b/rtw_crm_related_partner/__manifest__.py new file mode 100644 index 00000000..623fbfa8 --- /dev/null +++ b/rtw_crm_related_partner/__manifest__.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +{ + 'name': "rtw_crm_related_partner", + + 'summary': """ + Short (1 phrase/line) summary of the module's purpose, used as + subtitle on modules listing or apps.openerp.com""", + + 'description': """ + Long description of module's purpose + """, + + 'author': "My Company", + 'website': "http://www.yourcompany.com", + + # Categories can be used to filter modules in modules listing + # Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml + # for the full list + 'category': 'Uncategorized', + 'version': '0.1', + + # any module necessary for this one to work correctly + 'depends': ['base', 'crm', 'contacts'], + + # always loaded + 'data': [ + # 'security/ir.model.access.csv', + 'views/crm_lead.xml', + 'views/templates.xml', + ], + # only loaded in demonstration mode + 'demo': [ + 'demo/demo.xml', + ], +} diff --git a/rtw_crm_related_partner/controllers/__init__.py b/rtw_crm_related_partner/controllers/__init__.py new file mode 100644 index 00000000..457bae27 --- /dev/null +++ b/rtw_crm_related_partner/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import controllers \ No newline at end of file diff --git a/rtw_crm_related_partner/controllers/controllers.py b/rtw_crm_related_partner/controllers/controllers.py new file mode 100644 index 00000000..4b7931b1 --- /dev/null +++ b/rtw_crm_related_partner/controllers/controllers.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# from odoo import http + + +# class RtwCrmRelatedPartner(http.Controller): +# @http.route('/rtw_crm_related_partner/rtw_crm_related_partner/', auth='public') +# def index(self, **kw): +# return "Hello, world" + +# @http.route('/rtw_crm_related_partner/rtw_crm_related_partner/objects/', auth='public') +# def list(self, **kw): +# return http.request.render('rtw_crm_related_partner.listing', { +# 'root': '/rtw_crm_related_partner/rtw_crm_related_partner', +# 'objects': http.request.env['rtw_crm_related_partner.rtw_crm_related_partner'].search([]), +# }) + +# @http.route('/rtw_crm_related_partner/rtw_crm_related_partner/objects//', auth='public') +# def object(self, obj, **kw): +# return http.request.render('rtw_crm_related_partner.object', { +# 'object': obj +# }) diff --git a/rtw_crm_related_partner/demo/demo.xml b/rtw_crm_related_partner/demo/demo.xml new file mode 100644 index 00000000..059fa00e --- /dev/null +++ b/rtw_crm_related_partner/demo/demo.xml @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/rtw_crm_related_partner/models/__init__.py b/rtw_crm_related_partner/models/__init__.py new file mode 100644 index 00000000..8658c95c --- /dev/null +++ b/rtw_crm_related_partner/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import crm_lead +from . import res_partner diff --git a/rtw_crm_related_partner/models/crm_lead.py b/rtw_crm_related_partner/models/crm_lead.py new file mode 100644 index 00000000..3f41d142 --- /dev/null +++ b/rtw_crm_related_partner/models/crm_lead.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api + + +class rtw_crm_relate(models.Model): + _inherit = 'crm.lead' + + related_partners = fields.Many2many( + comodel_name='res.partner', + relation="crm_partner_rel", + string="related_partners") + diff --git a/rtw_crm_related_partner/models/models.py b/rtw_crm_related_partner/models/models.py new file mode 100644 index 00000000..0c5037ab --- /dev/null +++ b/rtw_crm_related_partner/models/models.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- + +# from odoo import models, fields, api + + +# class rtw_crm_related_partner(models.Model): +# _name = 'rtw_crm_related_partner.rtw_crm_related_partner' +# _description = 'rtw_crm_related_partner.rtw_crm_related_partner' + +# name = fields.Char() +# value = fields.Integer() +# value2 = fields.Float(compute="_value_pc", store=True) +# description = fields.Text() +# +# @api.depends('value') +# def _value_pc(self): +# for record in self: +# record.value2 = float(record.value) / 100 diff --git a/rtw_crm_related_partner/models/res_partner.py b/rtw_crm_related_partner/models/res_partner.py new file mode 100644 index 00000000..ddaf9351 --- /dev/null +++ b/rtw_crm_related_partner/models/res_partner.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api + + +class rtw_crm_role_partner(models.Model): + _inherit = 'res.partner' + + crm_ids = fields.Many2many('crm.lead', inverse_name='crm_ids') + role = fields.Selection([ + ('1', '意思決定者'), + ('2', '業務担当者'), + ('3', '有力者'), + ('4', '技術担当者'), + ('5', '予算決定者'), + ('6', '予算担当者'), + ('7', '評価者'), + ('8', '発注担当者'), + ('9', '担当役員'), + ('10', '商品選定者'), + ('11', '設計担当者'), + ('12', '主担当'), + ('13', 'その他'), + ], default='', + string="Role") + role_name = fields.Char(compute="_get_name") + + @api.depends("name") + def _get_name(self): + for rec in self: + if rec.role: + print("in") + rec.name = rec.name + "(" + dict(rec._fields['role'].selection).get(rec.role) + ")" + else: + rec.name = rec.name \ No newline at end of file diff --git a/rtw_crm_related_partner/security/ir.model.access.csv b/rtw_crm_related_partner/security/ir.model.access.csv new file mode 100644 index 00000000..eccb2db7 --- /dev/null +++ b/rtw_crm_related_partner/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_rtw_crm_related_partner_rtw_crm_related_partner,rtw_crm_related_partner.rtw_crm_related_partner,model_rtw_crm_related_partner_rtw_crm_related_partner,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/rtw_crm_related_partner/views/crm_lead.xml b/rtw_crm_related_partner/views/crm_lead.xml new file mode 100644 index 00000000..ead4ed5f --- /dev/null +++ b/rtw_crm_related_partner/views/crm_lead.xml @@ -0,0 +1,20 @@ + + + + crm related + crm.lead + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rtw_crm_related_partner/views/templates.xml b/rtw_crm_related_partner/views/templates.xml new file mode 100644 index 00000000..cea6b39a --- /dev/null +++ b/rtw_crm_related_partner/views/templates.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/rtw_crm_related_partner/views/views.xml b/rtw_crm_related_partner/views/views.xml new file mode 100644 index 00000000..b7c3f15d --- /dev/null +++ b/rtw_crm_related_partner/views/views.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rtw_crm_role/models/__init__.py b/rtw_crm_role/models/__init__.py index 1f3f7d7d..49524a05 100644 --- a/rtw_crm_role/models/__init__.py +++ b/rtw_crm_role/models/__init__.py @@ -2,3 +2,4 @@ from . import crm_role from . import crm_lead +# from . import res_partner diff --git a/rtw_crm_role/models/crm_lead.py b/rtw_crm_role/models/crm_lead.py index 2d1ceda7..bb77a181 100644 --- a/rtw_crm_role/models/crm_lead.py +++ b/rtw_crm_role/models/crm_lead.py @@ -6,4 +6,6 @@ class rtw_crm_inq(models.Model): _inherit = 'crm.lead' - role_ids = fields.One2many('rtw_crm_role', inverse_name='opportunity_id') \ No newline at end of file + role_ids = fields.One2many('rtw_crm_role', inverse_name='opportunity_id') + # related_partners = fields.Many2many('res.partner', string="related_partners") + diff --git a/rtw_crm_role/models/res_partner.py b/rtw_crm_role/models/res_partner.py new file mode 100644 index 00000000..c31227fb --- /dev/null +++ b/rtw_crm_role/models/res_partner.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api + + +class rtw_crm_role_partner(models.Model): + _inherit = 'res.partner' + + crm_ids = fields.Many2many( + comodel_name='crm.lead', + relation="partner_crm_rel", + inverse_name='crm_ids') + # role = fields.Selection([ + # ('1', '意思決定者'), + # ('2', '業務担当者'), + # ('3', '有力者'), + # ('4', '技術担当者'), + # ('5', '予算決定者'), + # ('6', '予算担当者'), + # ('7', '評価者'), + # ('8', '発注担当者'), + # ('9', '担当役員'), + # ('10', '商品選定者'), + # ('11', '設計担当者'), + # ('12', '主担当'), + # ('13', 'その他'), + # ], default='', + # string="Role") + # role_name = fields.Char(compute="_get_name") + # + # @api.depends("name") + # def _get_name(self): + # for rec in self: + # if rec.role: + # print("in") + # rec.name = rec.name + "(" + dict(rec._fields['role'].selection).get(rec.role) + ")" + # else: + # rec.name = rec.name \ No newline at end of file diff --git a/rtw_crm_role/views/crm_lead.xml b/rtw_crm_role/views/crm_lead.xml index 5b61df46..19c39271 100644 --- a/rtw_crm_role/views/crm_lead.xml +++ b/rtw_crm_role/views/crm_lead.xml @@ -9,10 +9,10 @@ - + - + diff --git a/rtw_shinsei/models/shinsei_sample.py b/rtw_shinsei/models/shinsei_sample.py index cd9fbfc7..b97546be 100644 --- a/rtw_shinsei/models/shinsei_sample.py +++ b/rtw_shinsei/models/shinsei_sample.py @@ -16,7 +16,7 @@ class ShinseSampleRequest(models.Model): _state_from = ["draft"] _state_to = ["approved"] - _tier_validation_manual_config = True + _tier_validation_manual_config = False @api.model def _get_default_requested_by(self):