From 626236c6dd9b4f13aa7471c05594833cd1f2ff4f Mon Sep 17 00:00:00 2001 From: Claude AI Date: Fri, 30 Jan 2026 00:02:50 +0000 Subject: [PATCH] =?UTF-8?q?fix(odoo):=20cambiar=20permisos=20de=20CSV=20a?= =?UTF-8?q?=20XML=20para=20importaci=C3=B3n=20ZIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Eliminar ir.model.access.csv (falla en importación ZIP) - Crear ir_model_access.xml con registros de acceso - Mover security al final del manifest (después de cargar modelos) - Regenerar ZIP del módulo El problema era que al importar vía ZIP, Odoo procesa el CSV antes de registrar los modelos Python, causando error de external ID. Co-Authored-By: Claude Opus 4.5 --- odoo_whatsapp_hub.zip | Bin 23227 -> 23422 bytes odoo_whatsapp_hub/__manifest__.py | 2 +- .../security/ir.model.access.csv | 9 -- .../security/ir_model_access.xml | 84 ++++++++++++++++++ 4 files changed, 85 insertions(+), 10 deletions(-) delete mode 100644 odoo_whatsapp_hub/security/ir.model.access.csv create mode 100644 odoo_whatsapp_hub/security/ir_model_access.xml diff --git a/odoo_whatsapp_hub.zip b/odoo_whatsapp_hub.zip index d4938b088c294f0e96b2488081fef0ef6f542e56..589ddd431f5fb75f1f48d0ee14e9c6f984e891ee 100644 GIT binary patch delta 1628 zcmZux3pCSv9N+#kcbJeZ3(JJsD4|Rjvk}7b80M8)9uYS3%#GVT+9|tvY`@S$l2Eso zT#t0A+pQLLJ$nd=qi9!%bTv_SH@CXybno|^@9%uRkKg8k`otdLEUYjUaz46Y#GYH64(wu#F&!|)^@m7m%a zu<-=Oxqh{01;$3rZYDSXY-lx|gE01GVmWq6i z&@e)an)`cws?SC?AM^Bf7W8?$MQ0sk8z(|5OGCLslr;Y8y8UbGclu$2R`A%4 zocuCNe)-NbSq{d0T)SC({<~9!f(s9Fibr!5c^bu-2k4F1rrKVA$>7*T5892dFdRWk z$rqp6G0-pSF?A0fR;o#J?I1cU_dFk6?An`fJLGIz^@rqC1MN^QxAVs?QWTOeRzBQ) zyXaVT>8TAvB)={GR0@lQlQOcLk8VrX#Z=_9Y|b-To5jv5=isG9R~8>yPCuKuQFfqJ z0{vbvHDNYnpu`p2_P|$=K}+v3EehxSB?%>4;bz=ioDX;5O5^HTMB8vVm4GKo;k$-j z8cs*I9v`BTr2_$fI5_=QuOgi98P}NmvYK0+ol% z76oJWnH;X0-q}odj~@)vL06QtPmhkzlsAubicoHc8Zb{n;o<04lv-VF7E*3<+Lq+^@6|p!)`gqM` zg7CxxSIM=Jj|G;RaTCt=n^E}d>qPb8(5Lkz^gypS105?|IDW@u*{@}(d2K0VoqG>E z64p zqdJ5=XJQamwjXXqJXN&P7Zs}XwVFhd#$wfL<~G0B&UO*KA^Vx{KjB|!yF8LsnG|6d zW7KyiFa6#7JM9xs;v-ja=;(A(qtUvK4+-;&BreygEa`2s;g*AKwrx+GE^r2wQ(59` zGfmxF-Yz<0W5-;EnN?auLM5HtvtthVrtwjFqSOuLVtG2D4p(}P^TWn7mHgh^d9R!K zi}#I=lFm0?^gW*&!w?qgsjFuF`W$Q%2`MYbOb8aPS6>MB^si6QXzue zkN=i`E_s^c{)c~%a{l?U4xlpC)mFlAat@M-I&9Kj49vZDLe|THz$+Pk3&b;YfdRuE z3c<-7hTypt8k93=P!wKf>HsOj3*zVlhPOB2KaKEtRXG_}WZqpP%g4z2LIWu~z`qv( z%08|oEaG0cpgdB#rL$^HC> zYy~f?GdI2jOFeMm-~$TBoO$8(?+H+|I?Ln@_LB9f$)!b^C6)S_MS8jUDXBSniOI>S z#l?Eb#bu!(oD9q$6IKCnX$3a}BMZn@Ffn(+MZQA{Jg)cuiZ%UmUDD^)$;8bn{B=~rV_RztJg?;H^RvbSR^@3C%&7ZHJ#VLw+yWxn11P)x7pR*GeFY{LZq*}c8#WnLRkUP*Wm zb$D8P{fRG1{Z^ZfM{Kmtp7(-d&!)7*s()8r)Z7c&I6o=(e|qax-nwlWc1Nx$Szo`f zv8&;z;-*^_&3|^^tV>)sM?7cqORmb}`U@u}$p+*Xd^+u`bpDZEvE9OVJBm_0t~Sj& zlJ=_Rkl0t|$vI3?lV8}1P5vOxzFAIagNPt7$YTQQ7RGBaF);A3GB7AkPGlCHJS$kR z9vD`Th`;nxb!M8&aQqXnsvT=o{Z3X0}u_=SfMi&eMMGwW*FZv0N1FW)j_?;}g0TeDImyrU0q-B3T3U!i%a00&;VUuig4sL&M zcTX?Q*Sa`E>(P#6sTZCY@^ z{r7m6?I*Y;u&38PgF^z80UH5XQE7y-y%B zIAb#h*fSM?GPNvvhRzQ#l)#dWSwYztX3pfhz5)W03=*KM3dE5GM8s^NQ4)o%H)IL zGLz-(*(M*1aA2$k^Um9|Pgad|V!R6FiBFy#>A-Zr8EiDaE8nCjCnjkZC{Jc`X_Nz# cfCrcx@5wj$7Em@D#+9EO6s^YA;SGu`0N{0rBme*a diff --git a/odoo_whatsapp_hub/__manifest__.py b/odoo_whatsapp_hub/__manifest__.py index 8566e30..674b972 100644 --- a/odoo_whatsapp_hub/__manifest__.py +++ b/odoo_whatsapp_hub/__manifest__.py @@ -16,13 +16,13 @@ 'license': 'LGPL-3', 'depends': ['base', 'contacts', 'mail'], 'data': [ - 'security/ir.model.access.csv', 'data/whatsapp_data.xml', 'views/whatsapp_menu.xml', 'views/whatsapp_account_views.xml', 'views/whatsapp_conversation_views.xml', 'views/res_partner_views.xml', 'wizards/send_whatsapp_wizard.xml', + 'security/ir_model_access.xml', ], 'assets': { 'web.assets_backend': [ diff --git a/odoo_whatsapp_hub/security/ir.model.access.csv b/odoo_whatsapp_hub/security/ir.model.access.csv deleted file mode 100644 index edcc272..0000000 --- a/odoo_whatsapp_hub/security/ir.model.access.csv +++ /dev/null @@ -1,9 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink -access_whatsapp_account_user,whatsapp.account.user,odoo_whatsapp_hub.model_whatsapp_account,base.group_user,1,0,0,0 -access_whatsapp_account_manager,whatsapp.account.manager,odoo_whatsapp_hub.model_whatsapp_account,base.group_system,1,1,1,1 -access_whatsapp_conversation_user,whatsapp.conversation.user,odoo_whatsapp_hub.model_whatsapp_conversation,base.group_user,1,1,1,0 -access_whatsapp_conversation_manager,whatsapp.conversation.manager,odoo_whatsapp_hub.model_whatsapp_conversation,base.group_system,1,1,1,1 -access_whatsapp_message_user,whatsapp.message.user,odoo_whatsapp_hub.model_whatsapp_message,base.group_user,1,1,1,0 -access_whatsapp_message_manager,whatsapp.message.manager,odoo_whatsapp_hub.model_whatsapp_message,base.group_system,1,1,1,1 -access_whatsapp_send_wizard,whatsapp.send.wizard,odoo_whatsapp_hub.model_whatsapp_send_wizard,base.group_user,1,1,1,1 -access_whatsapp_mass_wizard,whatsapp.mass.wizard,odoo_whatsapp_hub.model_whatsapp_mass_wizard,base.group_user,1,1,1,1 diff --git a/odoo_whatsapp_hub/security/ir_model_access.xml b/odoo_whatsapp_hub/security/ir_model_access.xml new file mode 100644 index 0000000..7618eb6 --- /dev/null +++ b/odoo_whatsapp_hub/security/ir_model_access.xml @@ -0,0 +1,84 @@ + + + + + + whatsapp.account.user + + + + + + + + + whatsapp.account.manager + + + + + + + + + + + whatsapp.conversation.user + + + + + + + + + whatsapp.conversation.manager + + + + + + + + + + + whatsapp.message.user + + + + + + + + + whatsapp.message.manager + + + + + + + + + + + whatsapp.send.wizard + + + + + + + + + whatsapp.mass.wizard + + + + + + + + +