From b6e66db11e481bda6f804ba1ecf35b99ce9d7888 Mon Sep 17 00:00:00 2001 From: raynald Date: Mon, 25 Oct 2021 19:12:32 +0200 Subject: [PATCH] first commit --- __init__.py | 4 + __manifest__.py | 37 +++++ __pycache__/__init__.cpython-37.pyc | Bin 0 -> 225 bytes controllers/__init__.py | 3 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 208 bytes .../__pycache__/controllers.cpython-37.pyc | Bin 0 -> 175 bytes controllers/controllers.py | 21 +++ demo/demo.xml | 30 ++++ models/__init__.py | 3 + models/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 198 bytes models/__pycache__/models.cpython-37.pyc | Bin 0 -> 3528 bytes models/models.py | 135 ++++++++++++++++ security/ir.model.access.csv | 4 + views/partner.xml | 30 ++++ views/templates.xml | 24 +++ views/views.xml | 145 ++++++++++++++++++ 16 files changed, 436 insertions(+) create mode 100644 __init__.py create mode 100644 __manifest__.py create mode 100644 __pycache__/__init__.cpython-37.pyc create mode 100644 controllers/__init__.py create mode 100644 controllers/__pycache__/__init__.cpython-37.pyc create mode 100644 controllers/__pycache__/controllers.cpython-37.pyc create mode 100644 controllers/controllers.py create mode 100644 demo/demo.xml create mode 100644 models/__init__.py create mode 100644 models/__pycache__/__init__.cpython-37.pyc create mode 100644 models/__pycache__/models.cpython-37.pyc create mode 100644 models/models.py create mode 100644 security/ir.model.access.csv create mode 100644 views/partner.xml create mode 100644 views/templates.xml create mode 100644 views/views.xml diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..511a0ca --- /dev/null +++ b/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import controllers +from . import models \ No newline at end of file diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..a6f119c --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +{ + 'name': "donation_qualifier", + + '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'], + + # always loaded + 'data': [ + 'security/ir.model.access.csv', + 'views/views.xml', + 'views/partner.xml', + 'views/templates.xml', + ], + # only loaded in demonstration mode + 'demo': [ + 'demo/demo.xml', + ], + 'installable': True, +} diff --git a/__pycache__/__init__.cpython-37.pyc b/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3721327ac67cbbfb3e31f4bad96e271f48d2f373 GIT binary patch literal 225 zcmXwyF%H5o3`LU`5CVDwF3Chu_Bh;0ND=^^8>qqc2){#<{jSa=vt3KVD;9Yt$x{gj6@9KNws&00000 literal 0 HcmV?d00001 diff --git a/controllers/__init__.py b/controllers/__init__.py new file mode 100644 index 0000000..457bae2 --- /dev/null +++ b/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import controllers \ No newline at end of file diff --git a/controllers/__pycache__/__init__.cpython-37.pyc b/controllers/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5f09a5a2cc4d11d03b07eae9570d59bd35834be7 GIT binary patch literal 208 zcmYj~F$w}P5Ji(+3sDxl#uhrDt%!I48?mto(L@bqGcm~)dn9ip+ge%MSve~Re)#Xt z3=Dr&6az-OYcHpik8b%XqhU#oBZ6XzTUPNM=S*cAR_0Gm=aRR>1G*H@S{>rL%vu(@ z#~TYhiZ9+?$Qs^QOWHRW)wU*W#jSlcv074jN Uk`NQ$wEcO7sg`kf*Yv?iOI|i439w^7+?f49Dul(1xTbY1T$zd`mJOr0tq9CUlIDH#YOr# znMwKul_eSZdB*xFnZ+f#K=ZN_(^HG}^HcKk^%GN4^7D%Ifka|SW`16LVQFGcW?E)y mk$!T1UP)1YPEKl3F)~}Ppz;=nO>TZlX-=vg$i~k=%m4t2{4gj0 literal 0 HcmV?d00001 diff --git a/controllers/controllers.py b/controllers/controllers.py new file mode 100644 index 0000000..7cd2042 --- /dev/null +++ b/controllers/controllers.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# from odoo import http + + +# class DonationQualifier(http.Controller): +# @http.route('/donation_qualifier/donation_qualifier/', auth='public') +# def index(self, **kw): +# return "Hello, world" + +# @http.route('/donation_qualifier/donation_qualifier/objects/', auth='public') +# def list(self, **kw): +# return http.request.render('donation_qualifier.listing', { +# 'root': '/donation_qualifier/donation_qualifier', +# 'objects': http.request.env['donation_qualifier.donation_qualifier'].search([]), +# }) + +# @http.route('/donation_qualifier/donation_qualifier/objects//', auth='public') +# def object(self, obj, **kw): +# return http.request.render('donation_qualifier.object', { +# 'object': obj +# }) diff --git a/demo/demo.xml b/demo/demo.xml new file mode 100644 index 0000000..14c965a --- /dev/null +++ b/demo/demo.xml @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..5305644 --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/models/__pycache__/__init__.cpython-37.pyc b/models/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..75e4d6c65e75fd32acb675871e451f2f4883204b GIT binary patch literal 198 zcmXv{F$w}P5KQhwL^$vpSDaheiii&o!OkW`H)=4K#3WbTll+lfYh`U`<(}fe%1~7ULzD;LmXMj4U%FDw=o>T;f&VfX9HUf!E+F5aJq|ryM0{m`+5ZdY_#MHOl PXii~c)FP)RFCzN@S{XCL literal 0 HcmV?d00001 diff --git a/models/__pycache__/models.cpython-37.pyc b/models/__pycache__/models.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f88cce87cb90c7fed7f3a7d462e5b01c75d511ca GIT binary patch literal 3528 zcmbtXTW=f372eq!mv>oq8!N5Tb<-3k5L2n!q5*P&6Wa(=FIKPIp4YH<8HTQ;cxiYBEECe zvi?Pb^`DE*Lp1dd5N>gnS~C{0nH||PCvq6^?9`okkvH=r-;ABKF$E7hJjf}ou#__I4#V?S&l$!oO<1w4xTiZG1bT zd)4EOmy8Fz`IU9aqCRgy{I-6b=b4ddJc$c2&E@jx0&?ONa&^C+J6rRHHEX@Ro?6|l zScy>KJYUE#MW>p^RC1&SQ1*J?c#$P%tKPHGr%#_fxpyy%XJRl|?HwE^Dx^Uer&7dx z8H)2n6>6y65x55frUNO?7Ks#GyR>k^DlOUg`e={P)B}(U>k3%m_JwuAjvVfA7d`vP znc6Sem+XRZ@6?sU!r}fU`#V$$g)~O8i=AJy544@|m3{XENyo2V`xdzduI?xi%gOP0 zk}tBt?3R6Oksb(a>?)BSY0u35(~^L;_4R0fq2zv=9PZDT#c`hfa-ZXk_vi8CG@c5z zpYuH5k2!R$_G^XLirz1wR(*!^rEZTW$6|6iCUxAx1&Y*QId8Clt$tn~u-5$3+L&A0 zMuQz4jLiw-v2KmWxMYzE^gH7*T}@|W9KA2`PQGgZhq$qFSMT(8|n z$FVdD(Tz_tfJ;d2<&xv$9*FZox3|ua1aaM}4^i?5U>J365qg}YIMGB?J&=I8%yoRb zhqnf{nY-pWq=|>L_zxhjdXDg}e0WDgcqakDgL_kefj8hm&1$ZNZ|OnaNte8bxA1Gf zaHAgY05Dy>TPwJ>(CV#k@;08cS+-YoOYaD|2=V?Ro)ike35-n-^KssosFa*Cep;EK_pFMmi^ zy+-6Vkv$@>6Cs1k9}^+>(aq0ADkcUSZn2yT-L2#rKabOekUyc7A*~EPi?ii}JQKRT z#^*TUTP7!mk;d*nMUR@=1u=HF19pq-4h;BA(%d!M6G$GSsUwj8ZTr&dC%!=dL+m6} ztSt_k^A7L6Xhdz^L%b~`Y9A4Ghu^3o>MrnbQ}5NbpU1MugxuKs?Ru)_ZD8?@)$d(L zhY6{w$S0?w46RV5SV$Gdi!e)`3w-!u4WRFcz^GXZGGOu^)U>)&b6|(zmQ98f0T6y0 zQltP2U$v!B!%Ax1s5%Ea$g|0DoJ|DLBgd7dH2icKpKQ4N5y_{ud};fSh0?e}m&CMKzN_DEsKv=4E9j`hQ*r zJM7?e?I1{(mzhlUF5T#X3>pPOxT?;97I(dwl?T{keD;OK$0BOX8179={K2VNPZONNR7)@|Y z^1!(B!a*Q06{P$Hj=JVdtJ}4{0O;Ds(60e$V^0mp4>34@*8uXJFWGXZurAmMyF`UE zw!g5>eAgJ*Ipd@v)7@(V=>BGC>KNU8ay}6z_YZ6X z8S{uObsMnUMoloAFA8A_2vbv*RZ; 0: +# self.partner_id = self.partner_ids[0] + + +# def partner_inverse(self): +# if len(self.partner_ids) > 0: +# # delete previous reference +# partner = self.env['res.partner'].browse(self.partner_ids[0].id) +# partner.qualifier_id = False +# # set new reference +# self.partner_id.qualifier_id = self + + +class partner(models.Model): + _inherit = 'res.partner' + + @api.depends('qualifier_ids.partner_id') + def _compute_qualifier_count(self): + # The current user may not have access rights for donations + for partner in self: + try: + partner.qualifier_count = len(partner.qualifier_ids) + except Exception: + partner.qualifier_count = 0 + + qualifier_ids = fields.One2many( + 'donation_qualifier.donation_partnerqualifier', + 'partner_id', + string='Qualifier', + readonly=True + ) + qualifier_count = fields.Integer( + compute='_compute_qualifier_count', + string="# of Qualifiers", + readonly=True + ) \ No newline at end of file diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv new file mode 100644 index 0000000..0820f44 --- /dev/null +++ b/security/ir.model.access.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_donation_qualifier_donation_qualifier,donation_qualifier.donation_qualifier,model_donation_qualifier_donation_qualifier,donation_main.group_donation_manager,1,1,1,1 +access_donation_qualifier_donation_categoryqualifier,donation_qualifier.donation_categoryqualifier,model_donation_qualifier_donation_categoryqualifier,donation_main.group_donation_manager,1,1,1,1 +access_donation_qualifier_donation_partnerqualifier,donation_qualifier.donation_partnerqualifier,model_donation_qualifier_donation_partnerqualifier,donation_main.group_donation_manager,1,1,1,1 \ No newline at end of file diff --git a/views/partner.xml b/views/partner.xml new file mode 100644 index 0000000..e5cfe08 --- /dev/null +++ b/views/partner.xml @@ -0,0 +1,30 @@ + + + + + + + Qualifiers + donation_qualifier.donation_partnerqualifier + tree,form,graph + {'search_default_partner_id': active_id} + + + + qualifier.button.res.partner.form + res.partner + + + + + + + + + + diff --git a/views/templates.xml b/views/templates.xml new file mode 100644 index 0000000..cea6b39 --- /dev/null +++ b/views/templates.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/views/views.xml b/views/views.xml new file mode 100644 index 0000000..727701a --- /dev/null +++ b/views/views.xml @@ -0,0 +1,145 @@ + + + + + + donation_categoryQualifier list + donation_qualifier.donation_categoryqualifier + + + + + + + + + + + donation_qualifier list + donation_qualifier.donation_qualifier + + + + + + + + + + + + + + donation_partnerqualifier list + donation_qualifier.donation_partnerqualifier + + + + + + + + + + donation_partnerqualifier.search + donation_qualifier.donation_partnerqualifier + + + + + + + + + donation_partnerqualifier Form + donation_qualifier.donation_partnerqualifier + +
+ + + +
+
+
+ + + + + categories + donation_qualifier.donation_categoryqualifier + tree,form + + + + qualifiers + donation_qualifier.donation_qualifier + tree,form + + + + partnerqualifiers + donation_qualifier.donation_partnerqualifier + tree,form + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
\ No newline at end of file