From ea66192276921be1bafe73255fa77c55f3e10ac7 Mon Sep 17 00:00:00 2001 From: Haresh Shyara Date: Tue, 8 Aug 2017 10:49:03 +0200 Subject: [PATCH] [REF] crm,sale: Split the applications into 2 separate apps Purpose ======= You install CRM but you don't see CRM icon (except in English, as long as sales is not installed) -> confusing The dashboard with salesteam is not obvious & not useful for simple users: what are those channel boxes about? why don't I see all my activities?, etc. Specifications ============== Split CRM & Sales + land in business views straight away Default Entry Views ~~~~~~~~~~~~~~~~~~~ - New default view for CRM: Pipeline kanban - New default view for Sales: Quotation list Dashboards ~~~~~~~~~~ - Move sales teams dashboard to Reporting: Sales Channels. - Remove the upper part of the sales team dashboard Menuitems Structure ~~~~~~~~~~~~~~~~~~~ - CRM menu Pipeline: - Leads (optional) - Pipeline (default menu, default filter "My Pipeline") - Next Activities -> to remove (now there is an icon in top bar for next activities) - Quotations (If sale_management installed) Customers Phone Calls (if voip, if not yet removed because there is a BE task to use next activities instead) Leads Management: - Scoring Rules - Leads Assignation - Team Assignation Reporting: - Leads - Scoring page views - Opp. Assignement - Patnerships - Pipeline - Activities - Phonecalls - Sales Channels Configuration: - Settings - Sales Channels - Activity Types - Leads & Opportunities: - Lead Tags - Lost Reasons - Resellers - Partner Level - Partner Activations - Sales menu: Orders: - Quotations - Orders - Customers Invoicing: - Orders to Invoice - Orders to Upsell Catalog: - Products - Promotion Programs - Coupon Programs Reporting: - Sales - Sales Channels - All channels sales orders Configuration: - Settings - Sales Channels - Sales Orders: - Quotation templates - Payment acquirers - Delivery Methods Settings ~~~~~~~~ - Split settings form - Remove recommended apps section - Remove Timesheets section - Remove Inventory Management and move shipping connectors to Shipping section - Remove Integrations section - Move Docsaway option to "Quotations & Orders", right after proforma - Autocomplete and asterix: move to CRM section - Restructure and rename sections this way: - Product Catalog - Pricing - Quotations & Orders - Shipping - Invoicing - eBay (if installed) - Remove all the "Save this page and come back here" when checking a box that installs a new module - restructure a bit the CRM settings, with 3 sections: Pipeline - Leads Contacts - Phone Validation - Customer Autocomplete Integrations - Google Calendar / Synchronize your calendar with Google Calendar (copy from general settings but don't show message "Save this page and come back here...". - Asterisk (VOIP) --- addons/crm/__manifest__.py | 9 +- addons/crm/data/web_planner_data.xml | 2 +- addons/crm/models/__init__.py | 2 +- ...fig_settings.py => crm_config_settings.py} | 12 +- .../crm/report/crm_activity_report_views.xml | 2 +- .../report/crm_opportunity_report_views.xml | 4 +- addons/crm/security/crm_security.xml | 9 +- addons/crm/static/description/icon.png | Bin 2030 -> 4530 bytes .../crm/static/src/js/sales_team_dashboard.js | 12 - addons/crm/static/src/js/tour.js | 11 +- addons/crm/views/calendar_views.xml | 2 +- .../crm/views/crm_config_settings_views.xml | 104 +++ addons/crm/views/crm_lead_views.xml | 37 +- addons/crm/views/crm_templates.xml | 8 - addons/crm/views/crm_views.xml | 48 +- .../crm/views/sale_config_settings_views.xml | 97 --- addons/crm_phone_validation/__manifest__.py | 2 +- .../crm_phone_validation/models/__init__.py | 2 +- ...fig_settings.py => crm_config_settings.py} | 4 +- .../views/crm_config_settings_views.xml | 18 + .../views/sale_config_settings_views.xml | 14 - .../views/sale_config_settings_views.xml | 14 +- .../views/report_intrastat_views.xml | 2 +- addons/sale/models/sale_config_settings.py | 12 +- .../report_all_channels_sales_views.xml | 2 - addons/sale/report/sale_report_views.xml | 3 - addons/sale/security/sale_security.xml | 6 - .../sale/views/sale_config_settings_views.xml | 820 ++++++++---------- addons/sale/views/sale_views.xml | 102 ++- addons/sale_crm/__manifest__.py | 3 +- addons/sale_crm/static/src/js/tour.js | 23 - addons/sale_crm/views/crm_lead_views.xml | 11 - addons/sale_crm/views/sale_crm_template.xml | 10 - addons/sale_crm/views/sale_order_views.xml | 7 + addons/sale_management/static/src/js/tour.js | 12 +- .../views/sale_management_views.xml | 3 +- .../views/sale_config_settings_views.xml | 2 +- addons/sale_stock/views/stock_views.xml | 2 +- .../sale_timesheet/views/res_config_views.xml | 20 - addons/sales_team/__manifest__.py | 5 - addons/sales_team/models/__init__.py | 1 - .../sales_team/models/sale_config_settings.py | 18 - .../security/sales_team_security.xml | 5 - .../sales_team/static/src/css/sales_team.css | 19 - .../static/src/js/sales_team_dashboard.js | 259 ------ .../static/src/less/sales_team_dashboard.less | 99 --- .../static/src/xml/sales_team_dashboard.xml | 225 ----- addons/sales_team/views/crm_team_views.xml | 47 +- .../views/sale_config_settings_views.xml | 87 -- .../sales_team/views/sales_team_dashboard.xml | 2 +- .../report/crm_lead_report_view.xml | 2 +- .../report/crm_partner_report_view.xml | 2 +- .../views/res_partner_views.xml | 7 +- .../views/res_partner_views.xml | 3 +- .../views/sale_config_settings_views.xml | 28 +- .../test_main_flows/static/src/js/tour.js | 16 +- 56 files changed, 703 insertions(+), 1575 deletions(-) rename addons/crm/models/{sale_config_settings.py => crm_config_settings.py} (84%) delete mode 100644 addons/crm/static/src/js/sales_team_dashboard.js create mode 100644 addons/crm/views/crm_config_settings_views.xml delete mode 100644 addons/crm/views/sale_config_settings_views.xml rename addons/crm_phone_validation/models/{sale_config_settings.py => crm_config_settings.py} (73%) create mode 100644 addons/crm_phone_validation/views/crm_config_settings_views.xml delete mode 100644 addons/crm_phone_validation/views/sale_config_settings_views.xml delete mode 100644 addons/sale_crm/static/src/js/tour.js delete mode 100644 addons/sale_crm/views/sale_crm_template.xml delete mode 100644 addons/sales_team/models/sale_config_settings.py delete mode 100644 addons/sales_team/static/src/css/sales_team.css delete mode 100644 addons/sales_team/static/src/js/sales_team_dashboard.js delete mode 100644 addons/sales_team/static/src/xml/sales_team_dashboard.xml delete mode 100644 addons/sales_team/views/sale_config_settings_views.xml diff --git a/addons/crm/__manifest__.py b/addons/crm/__manifest__.py index 848c1f3979c..f220b47217f 100644 --- a/addons/crm/__manifest__.py +++ b/addons/crm/__manifest__.py @@ -28,7 +28,6 @@ 'data/crm_data.xml', 'data/crm_stage_data.xml', 'data/crm_lead_data.xml', - 'data/web_planner_data.xml', 'data/mail_template_data.xml', 'wizard/base_partner_merge_views.xml', @@ -37,16 +36,16 @@ 'wizard/crm_merge_opportunities_views.xml', 'wizard/base_partner_merge_views.xml', - 'report/crm_activity_report_views.xml', - 'report/crm_opportunity_report_views.xml', - 'views/crm_templates.xml', + 'views/crm_config_settings_views.xml', 'views/crm_views.xml', 'views/crm_stage_views.xml', 'views/crm_lead_views.xml', 'views/calendar_views.xml', 'views/res_partner_views.xml', - 'views/sale_config_settings_views.xml', + 'data/web_planner_data.xml', + 'report/crm_activity_report_views.xml', + 'report/crm_opportunity_report_views.xml', 'views/crm_team_views.xml', ], 'demo': [ diff --git a/addons/crm/data/web_planner_data.xml b/addons/crm/data/web_planner_data.xml index 9fffb45f445..9903260f1d6 100644 --- a/addons/crm/data/web_planner_data.xml +++ b/addons/crm/data/web_planner_data.xml @@ -935,7 +935,7 @@ Sales strategy planner - + planner_crm diff --git a/addons/crm/report/crm_opportunity_report_views.xml b/addons/crm/report/crm_opportunity_report_views.xml index 7fe9c41ae0a..606e2251212 100644 --- a/addons/crm/report/crm_opportunity_report_views.xml +++ b/addons/crm/report/crm_opportunity_report_views.xml @@ -167,7 +167,7 @@ mainly used by the sales manager in order to do the periodic review with the teams of the sales pipeline. + parent="crm_menu_report" action="crm_opportunity_report_action" sequence="5"/> Pipeline Analysis @@ -202,7 +202,7 @@ with the the sales channel. diff --git a/addons/crm/security/crm_security.xml b/addons/crm/security/crm_security.xml index 28599ff6ec7..e3f76bed2f0 100644 --- a/addons/crm/security/crm_security.xml +++ b/addons/crm/security/crm_security.xml @@ -12,12 +12,9 @@ - - - - - - + + Configuration + diff --git a/addons/crm/static/description/icon.png b/addons/crm/static/description/icon.png index bd83ea1cb9445b7dbcbbef78a6c77dbea68e92d1..8eb7f8b442385a72c5fe235acd543441c303fe86 100644 GIT binary patch literal 4530 zcmb7IS5y;ExL@hgkt)465khYP1Suj#hy;p zR85o)282*<{*U+JKHRfs_d7FtzS-HC?^n(wnVA~UQFBrQ06=GWPZvUrX8+w(6vSs5 z)8PkVAamC?(FTBqH#Fx?m zpw>y(eJHZg;y5m@o-8BI#1(4AWy81x__X}CY|zVZcyHr2kf-@Re6(tC*L?71=`(G2 z+m86wmX^;4;)0SXB<8R9<07v!Qn`K*&c2Vtgoj>MiBt<`Bg-XYA`dmh#D>C8xsQBvkdi#yYOwqZ!h`jyKxd_bHg6AlA$@wmx@Zc^8ghaC876)a7?@LWnvPpNB!`sn zz})U<8$Y8A$DRK4a(7`_!r6gwk!F5s>ZUZG*%6Lg6*9_Rvg3xU2aDQ4b)DZSZbt?! zuNpsR<*QvBow*%;(AHv4E+IYeF4KvFmK#14c{1ko?^WM&O%2y8UPSrghlYd68<&Sz z84quNJm-M@UMw0V@8Pe;aDM2PK>K@z`U|M4`kC3IM{g=Uap-GzAP|z9H>>BoF__A# z4;w{`JEcfu!j~_i<$vev9Y^?EBkyC^((JS=J-jc3l!w+HAQp(X}q^+y1Eeyq6zFJ?`P~oP-q0^i=VtQ}*xt+IVfSV&^L&70%M?+V5Tz3{2 z=02W)q#w!4;Y=On^1hCaI{q52Y5V=l%h2$Eo=M)#UOO_9+3&*ziJkm{T+cp0x6BU- zKY|?#Wo- znFV?BJ2LJ4D+v(`%bEJ$r^ zmRpvc_fLNZR*5R&G<|BqQfP$tPu&;m=WC@Lx)E_?w}|Vgg?8a&Wo_BMJoX@~lv3|p z5(lW4c-beTK?x#8SZ4NF`5LXT@>H>6ScZ^+>Dj8`)k9KDL%`WzLn-u${=UR?G;S^dArpTp=r?!nmyGlylV$8D01MVre!bP3}`Xyya3!s zEfV87a`aOc4U5VOzbB0D%64XnjqPt{$(UP*l`H=8ngp3lN=Qkq=Jucq;BeQyNSme3 z!*A*lr_<7P^C1+bA#L!Fsf;-EXn`L}NLi+!JV!<#f%1zgY*Ag-I?J6oahwVY` zPqgvReA{4)*}~o(UmbI(V8-A^X?1m8Wu==fip{i0?R&H)UMs=|l8hAR8Md4aZfu-@ z`Ogbd&<`I4WMuYS_>k^(og|GdhQx`{C7F@2rKnaJ+q^P$XRdL0+>f#&pijSb)idAN zQ11${30|luhbySmRMpk>f|}p*GMesneT>C#eS|%fCJPS67pj==8qHfv+`A6pM2xuY z+C-=`i>A`sZhV&sJ@|IZZzCj}M0AR+*y-NH#I}@m&@FQE(@y+MqWAKd31#3zmiQ+3 zTUPCdicv=el*AIfW6pAe*~iJ`Ar(_bzbB=cBL`>N88v4Sbk(Q}U3Pd#9kR24CB^x? z5`^=sXF&ujbZ6;AAMlP8s!oz(>G?GKkWfFfhZ|I#ZEuUkL@aCKOJpu&kA98lP=RcQ z;c)nRkW#Qm9a54T?4O#LtEJsJ{V835^xuwOG}9~jGALIJiHTR~jCtDkpZl7A4B&1? zYUDe|!-5F)EPOxdtCWU8NQl(gF%5E=RwdM~iAmdR-w_ZToJ&FrYFMyPGp9`gHZ( zr6dw~ju5Z$FO&Dn6*~7LGP)S~BlQaDOh=0~_^MQW&UDZ4-*sk#N^)~N^7XCJMU;HD zx=v2oZ@1k`e6S4$j~dS66;+C)0q<5=j#PV=tV{Bbpsv|4JH}oN+W*JmNnVx*^AMGQ z$5US?LaQI?jQ!)sy>}Uw4V=aqrE*l(*Vj4Jf*2XJBDAvJr_$JVl$XP?#TP>K20~l2 zeoiC#!8kPi9ZO3!qbnx?E34o4ghECI;m(>|LI?S^j8Rz?BYTe5$+(n#U1qkcY5AgV z>QGgVAqHM$F7*> z+8Nk?aLsklRH=OC5RRXV^LolXH8qv7C_`hT<7KhOw;~wJUL{1P9+$U3a2MP@cY(i(Z9&@ao9!-Ofagy}hD&K17A6m6;V|rOE_#=`Siye~RnORx& ztM5e&6ZWE$KRZ)&Hp%h6p%j2i^O>&FHLq9`qFGq!*8bGgkvV>Y9}MR!#`jzXN501^ zMKs1^iwVqbO?lC$vm&;^(+J-NT*h@iHCUlt$MKrKLj9AYS)xV-o!wc^W+Z_^L9{O` zMcIkehxUDoe7fbTi#Stkp|`i~Qex!IGnQ0d+9!o<8}c~o*eTC7S0jjIC2{K(wnip2 zq+>*b1W}Zwt?$MOxlgfqLX#hr3lXFvwVMs+9yr^QNS^SaL`qUuR3yF(v(@ecDCqwX ztpLXam1_YKX=VljvJ6EuF`tNlTK4sNV+{M69t%GFTBj1$oJw5e3^<%oMLF_JS56+H z8i{^kQjlDYLha17ttZZI)ZU9xcncf!{j*p6ARs_c$p(C~q*3BIDVm;_moTpk29}-; z(rx~F;-plNHz7K+4UI__{Eq}&2Gel9vH5F;c`FzXU`N&Cm~|e9VBs>$Ve=M;>4U41ATq#_iKg* zu!i|bXO7IJrEUK2IF$7guYw7KjkGtzUpF=iBGM}Bt788CwZI8}hffq_i3-EqjopS3 zaf>@^J;j#}M6Klse-~Y;tNU>kS5gn6HGGOJBBya92e%KF5x47~C`-S?_l@!SHYYJW z-ek=kRhQq!FHASTTQa4fp5%lv=RK@_ zLyhtlg&JdX4MIc{LnY7_G3Qu&z;^%s{qg4g6zI2f{v?uz+35PwNX!4Ow3s>@87|v0{@QX&dY@kSo7}A zN)|*eU=yUD#`z6r9&Z~t^7uwXdmC}PFHW?cOtPzsFGs@@625?bm+;F96u~#SSwy5i ziP7gQXw~5|9^=vU*vJk820rOBBHd*_q9625y9bR_LSsU?sWAH&Dk048FW@h0_4OL3LB=5;P?}4LF2>%Cb zEs3!GRoVOk8xHx(S8XcHqFG7fWz-D=1*-n597LzAL-yX+UIw@FoksPd@!#o0ym6kK z02M4SkY=yDqjV*$iHJ)5No;a;!Gz~H4h16kBSPQNnu~% z-G>u}z=hz8v29B0TH*P-dy#cRfF&S64xtszmSlJxVUd073yUnw|El+{vVzKd6BgK- z@p0XnDeAT=K-svbHD%^Z@TIh4wL{(mWt@BHYqHX#1D{Hk)@=q~GZcDx2Q~WbIni^2 z^3;5#ickg*y~^J!rovcy4{Cd?8RaZ(S&2oeE*R zEtsCBct=Y&YiOXbebTD)UkH&y7H>~m^QG~q4;_tNC5;sHq(B;= zJ}R2}*_kF`Tte*hQ>WqV{`TVqFAj|`j^Dql5yq0f9}|HSx z1=vYX^NRocJe@Hz9=;hRJO>Hil0Z|y1iJADQBIq|pz7+7iOGkcf(`$6>ndbz>FD^X zP2owac;f?J;a_cJ6OhAt1anfwQ0t?ww*Njwi2p44!hTPJNS^rH46uH7y=K%c0<{54 z$m5Nj^7$j@KT?7eu+rXOQ2{axPw!<{u#d7ZQ%Ed$&I*C^f&HLg{TxTxY<1U@QsxDD z1tx^8lm&qO?(J6|k`z*~igwFL8OaamTl9Ic+ef4PdCI3HZ}j9?ZKaQDEpNk{IDY-( z8~qrhvg;q|R7^aU(7`n-I9+V8MDEX4I@Omn(3uzyp@QWio2V*M*5jXae9n3Mp~s2S zzoAf1T(4P@-KgqA!ElEb=J~AD;k`C0qC@#al6teVsz~p}nALzAr=%qsRB}#OeI7dU zaq*0x@r*bu0a%Q1<}V9iYbZ)c&JJUB{5t&3W>j!;)<{MJ_JhK)V=S~R*PHKML{E{P zcuQqK!wdGT;dfUeSScNeR?#I-|KXK*;(QR-X#X}>$)^}iTE#)Ufsh=lxKsTB89nm` zG5a&(MBY)%%}loL#AhIC1uY<1friHSdgi#pYOg3ui{Epz<;`^w4>d%B^d1MfIt4vZ za|w7t41gR+R{1ta`L>*j1xQg%R#r_`?lwq44Fu|6O0@l72|j+Vo^H?o?}Wx!tyN+I NV5n!Ri_&p?@ju96pk)96 delta 2012 zcmV<22P62hBkm8783+Ra006nq0-uo~6Mq47Qb$4nuFf3k00090P)t-s=w}a{JOI3W zR_108o$866re{6=znPw z?rIP2lw1D({`SeM=x7k3NDAj>5C8uDpF;!d*w3U%3ZzXAqe>a1O%MJ2`~Ca+pGOMp zX%C)83j6o=?P(AD`1iGKOaA=(qe=_sXAhb;0IOLooJ9$nMG2io3Fu@CuVFjsU;^r3 z0;Ed~^XTOC>E+*J4*vZ7=V1o6ZhuR)ZcF#@?dWC?{rdRZVGf~33g~ALSYR?JO-XX0IFFo*^Bp?Gynbj+HW)J*36o<9fNx~$f1Gonch{`>jxY!bzbZSCUV>(hfdN(!b*3g^$nw{l1K%deb0 z0HH<{=+epNXAtOY9kp#rt63`PZXTma7p71o?Ag=wy_@K28ohp4{O#uN-_+`LGVNyz z)nO9rema{!0G>es*JmOB>EHP4=Gd~L(`G5$a5LC$GyD4a^6BR9mVaNGK??J)gri3X z=UxH6P6X<6CGKn!?2S^KK?~bh0QAD6xO7XjYebha0LO`E>~}2U$GOLkapcOp=-t)$ z)V}SEP?tRd>S6_+J^<5fG?+gG=F7Y1XcEg`9PDHV`_#POen7o^R-HWn@0VhgIRLR{ zJhyU6pg{uo(Yd#LS%1BJRpnj+ymd>gO$+L360Jo5txpa_hhxM500fUoL_t(o!|m61 zcoStD2k^tw-b)TWNooRJN$xPJdkfY8R+q=@GJW12_}~FDvsA7C`6~FweKH1w}|h1sHJ?7C^kD#>cqV zuWr2AfQ)4+R2j6hzpWiZevcvA%LH0X`ut$&c;ZyBU2#}DGX+2NqNU&v2} zNQ)p0rw1eCOgXfV>CbS+%LTEmPYsrw~3G?SA&*mKbIRq$i#JDC@D}isrVsOF2K-4?gK8 z=5^eMdd491X7V0@+hRp?e&;l_-?*H@4AzTucyGYWfOHk~q=UH@EV}JF_57e0jI-Ua6Dao z(bJ-r4rVkjSR#wk{Co^Cr$o=wfUI|h>>Yd3LylvP10=FuwjcE7>U(MsdQT$Wn9+`S z=6?WDl;-DSd^HB13WVM|wBKk4+{2;>=O^?F7u1Y2@KhjGy>6?bUnYD$gBRia#&P>2 zp{E41zW!`0IzP@6MY-SdiN>B1Z2D@Gxc{YoqPV2~CazyW_{v0{0^G9e^Y`E{S=Emd zJh}ifr58pLJtMcJ}U};Bd}wUrk@bb%fl>zoT!)|;#Ew>_vL9pcGW-S=zD*~_UWPE z`)dkaYXx~tS^nLV_C`up+Y{UaD6|W=mlF9Vq!HH5lWYiF&)PoHHNhjK~ZR*BGOa-`6Iw{3D<@987}0000sales pipeline can be found here, under this app."), + trigger: '.o_app[data-menu-xmlid="crm.crm_menu_root"], .oe_menu_toggler[data-menu-xmlid="crm.crm_menu_root"]', + content: _t("Ready to boost your sales? Your Pipeline can be found here, under CRM app."), position: 'bottom', -}, { - trigger: ".o_sales_dashboard .o_dashboard_action[name=\"crm.action_your_pipeline\"]:last", - extra_trigger: '.o_sales_dashboard', - content: _t("Let\'s have a look at your opportunities pipeline."), - position: "bottom" }, { trigger: ".o-kanban-button-new", extra_trigger: '.o_opportunity_kanban', @@ -80,7 +75,7 @@ tour.STEPS.MENU_MORE, { position: "right" }, tour.STEPS.TOGGLE_APPSWITCHER, tour.STEPS.MENU_MORE, { - trigger: '.o_app[data-menu-xmlid="sales_team.menu_base_partner"], .oe_menu_toggler[data-menu-xmlid="sales_team.menu_base_partner"]', + trigger: '.o_app[data-menu-xmlid="crm.crm_menu_root"], .oe_menu_toggler[data-menu-xmlid="crm.crm_menu_root"]', content: _t("Good job! Your completed the tour of the CRM. You can continue with the implementation guide to help you setup the CRM in your company."), position: 'bottom', }, { diff --git a/addons/crm/views/calendar_views.xml b/addons/crm/views/calendar_views.xml index 925f0e198ca..b82569b1845 100644 --- a/addons/crm/views/calendar_views.xml +++ b/addons/crm/views/calendar_views.xml @@ -4,7 +4,7 @@ + parent="crm_menu_root"/> calendar.event.form.inherit diff --git a/addons/crm/views/crm_config_settings_views.xml b/addons/crm/views/crm_config_settings_views.xml new file mode 100644 index 00000000000..4cbd3ad3352 --- /dev/null +++ b/addons/crm/views/crm_config_settings_views.xml @@ -0,0 +1,104 @@ + + + + + crm.config.settings.view.form + crm.config.settings + +
+
+
+ +

CRM

+ +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ + + Configure CRM + ir.actions.act_window + crm.config.settings + + form + inline + +
diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml index 16ff08592d0..7d6050b50c7 100644 --- a/addons/crm/views/crm_lead_views.xml +++ b/addons/crm/views/crm_lead_views.xml @@ -613,7 +613,7 @@ - + id="crm_menu_pipeline" + name="Pipeline" + parent="crm_menu_root" + sequence="1"/> + + @@ -772,7 +777,7 @@ if record: @@ -830,7 +835,7 @@ if record: - Your Pipeline + Pipeline crm.lead kanban,tree,graph,pivot,form,calendar [('type','=','opportunity')] @@ -863,9 +868,14 @@ if record: + name="Pipeline" + parent="crm_menu_pipeline" + sequence="5"/> + + @@ -893,13 +903,6 @@ if record:
- - Lead Tags diff --git a/addons/crm/views/crm_templates.xml b/addons/crm/views/crm_templates.xml index 04609c193f5..cf0c7bd8667 100644 --- a/addons/crm/views/crm_templates.xml +++ b/addons/crm/views/crm_templates.xml @@ -5,15 +5,7 @@ - - - - diff --git a/addons/crm/views/crm_views.xml b/addons/crm/views/crm_views.xml index 1e4c12953c3..e085a6bed3f 100644 --- a/addons/crm/views/crm_views.xml +++ b/addons/crm/views/crm_views.xml @@ -7,24 +7,62 @@ the base module in order to set new groups. --> + + + + + + + + + + + + + diff --git a/addons/crm/views/sale_config_settings_views.xml b/addons/crm/views/sale_config_settings_views.xml deleted file mode 100644 index d6ed8df62df..00000000000 --- a/addons/crm/views/sale_config_settings_views.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - sale.config.settings.inherit.crm - sale.config.settings - - - -

CRM

-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- - 0 - - -
-
- -
-
-
-
-
- -
-
- -
diff --git a/addons/crm_phone_validation/__manifest__.py b/addons/crm_phone_validation/__manifest__.py index af92b69ce4b..1498d1d2f05 100644 --- a/addons/crm_phone_validation/__manifest__.py +++ b/addons/crm_phone_validation/__manifest__.py @@ -12,7 +12,7 @@ CRM Phone Numbers Validation This module allows for validate and format phone numbers for leads and contacts.""", 'data': [ - 'views/sale_config_settings_views.xml', + 'views/crm_config_settings_views.xml', ], 'depends': [ 'phone_validation', diff --git a/addons/crm_phone_validation/models/__init__.py b/addons/crm_phone_validation/models/__init__.py index a9734a49aa3..07108e91a8c 100644 --- a/addons/crm_phone_validation/models/__init__.py +++ b/addons/crm_phone_validation/models/__init__.py @@ -3,4 +3,4 @@ from . import res_partner from . import crm_lead -from . import sale_config_settings +from . import crm_config_settings diff --git a/addons/crm_phone_validation/models/sale_config_settings.py b/addons/crm_phone_validation/models/crm_config_settings.py similarity index 73% rename from addons/crm_phone_validation/models/sale_config_settings.py rename to addons/crm_phone_validation/models/crm_config_settings.py index 5407c9d0e63..7382c965cdf 100644 --- a/addons/crm_phone_validation/models/sale_config_settings.py +++ b/addons/crm_phone_validation/models/crm_config_settings.py @@ -4,7 +4,7 @@ from odoo import fields, models -class SaleConfigSettings(models.TransientModel): - _inherit = 'sale.config.settings' +class CrmConfigSettings(models.TransientModel): + _inherit = 'crm.config.settings' crm_phone_valid_method = fields.Boolean(related="company_id.phone_international_format", required=True) diff --git a/addons/crm_phone_validation/views/crm_config_settings_views.xml b/addons/crm_phone_validation/views/crm_config_settings_views.xml new file mode 100644 index 00000000000..1d6ca1ce6bc --- /dev/null +++ b/addons/crm_phone_validation/views/crm_config_settings_views.xml @@ -0,0 +1,18 @@ + + + + crm.config.settings.view.form.inherit.phone.validatation + crm.config.settings + + + +
+
+
+
+
+
+
+
diff --git a/addons/crm_phone_validation/views/sale_config_settings_views.xml b/addons/crm_phone_validation/views/sale_config_settings_views.xml deleted file mode 100644 index 9e3a0b93975..00000000000 --- a/addons/crm_phone_validation/views/sale_config_settings_views.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - sale.config.settings.view.form.inherit.phone.validatation - sale.config.settings - - - - - - - \ No newline at end of file diff --git a/addons/delivery/views/sale_config_settings_views.xml b/addons/delivery/views/sale_config_settings_views.xml index 7f6d13635ef..d8b938f346c 100644 --- a/addons/delivery/views/sale_config_settings_views.xml +++ b/addons/delivery/views/sale_config_settings_views.xml @@ -4,13 +4,15 @@ sale.config.settings.inherit.delivery sale.config.settings - + - -
-
-
+ +
+
+
+
+
diff --git a/addons/report_intrastat/views/report_intrastat_views.xml b/addons/report_intrastat/views/report_intrastat_views.xml index 9e26a24844a..69c8e186a06 100644 --- a/addons/report_intrastat/views/report_intrastat_views.xml +++ b/addons/report_intrastat/views/report_intrastat_views.xml @@ -67,7 +67,7 @@
+ parent="account.product_configuration_menu" sequence="10" groups="account.group_account_manager"/> diff --git a/addons/sale/models/sale_config_settings.py b/addons/sale/models/sale_config_settings.py index bcee72dffc7..2e0fa8aeb03 100644 --- a/addons/sale/models/sale_config_settings.py +++ b/addons/sale/models/sale_config_settings.py @@ -5,8 +5,11 @@ from odoo import api, fields, models class SaleConfigSettings(models.TransientModel): - _inherit = 'sale.config.settings' + _name = 'sale.config.settings' + _inherit = 'res.config.settings' + company_id = fields.Many2one('res.company', string='Company', required=True, + default=lambda self: self.env.user.company_id) sale_note = fields.Text(related='company_id.sale_note', string="Terms & Conditions") use_sale_note = fields.Boolean( string='Default Terms & Conditions', @@ -69,7 +72,6 @@ class SaleConfigSettings(models.TransientModel): oldname='deposit_product_id_setting', help='Default product used for payment advances') auto_done_setting = fields.Boolean("Lock Confirmed Orders") - module_sale_subscription = fields.Boolean("Subscriptions") module_website_sale_digital = fields.Boolean("Sell digital products - provide downloadable content on your customer portal") auth_signup_uninvited = fields.Selection([ @@ -78,7 +80,6 @@ class SaleConfigSettings(models.TransientModel): ], string='Customer Account') group_multi_currency = fields.Boolean("Multi-Currencies", implied_group='base.group_multi_currency') - module_sale_stock = fields.Boolean("Inventory Management") module_delivery = fields.Boolean("Shipping Costs") module_delivery_dhl = fields.Boolean("DHL") module_delivery_fedex = fields.Boolean("FedEx") @@ -86,10 +87,7 @@ class SaleConfigSettings(models.TransientModel): module_delivery_usps = fields.Boolean("USPS") module_delivery_bpost = fields.Boolean("bpost") - module_sale_timesheet = fields.Boolean("Timesheets") - module_sale_ebay = fields.Boolean("eBay") module_print_docsaway = fields.Boolean("Docsaway") - module_web_clearbit = fields.Boolean("Customer Autocomplete") module_product_email_template = fields.Boolean("Specific Email") module_sale_coupon = fields.Boolean("Coupons & Promotions") @@ -144,7 +142,7 @@ class SaleConfigSettings(models.TransientModel): auth_signup_uninvited='b2c' if ICPSudo.get_param('auth_signup.allow_uninvited', 'False').lower() == 'true' else 'b2b', use_sale_note=ICPSudo.get_param('sale.use_sale_note', default=False), auto_done_setting=ICPSudo.get_param('sale.auto_done_setting'), - default_deposit_product_id=ICPSudo.get_param('sale.default_deposit_product_id'), + default_deposit_product_id=int(ICPSudo.get_param('sale.default_deposit_product_id')), sale_show_tax=ICPSudo.get_param('sale.sale_show_tax', default='subtotal'), multi_sales_price=sale_pricelist_setting in ['percentage', 'formula'], multi_sales_price_method=sale_pricelist_setting in ['percentage', 'formula'] and sale_pricelist_setting or False, diff --git a/addons/sale/report/report_all_channels_sales_views.xml b/addons/sale/report/report_all_channels_sales_views.xml index 0a00b45a14e..d2ec23db180 100644 --- a/addons/sale/report/report_all_channels_sales_views.xml +++ b/addons/sale/report/report_all_channels_sales_views.xml @@ -33,6 +33,4 @@ {'search_default_team_id': 1, 'search_default_current_year': 1} - - diff --git a/addons/sale/report/sale_report_views.xml b/addons/sale/report/sale_report_views.xml index 97d41d68a4f..317e0e83355 100644 --- a/addons/sale/report/sale_report_views.xml +++ b/addons/sale/report/sale_report_views.xml @@ -93,7 +93,4 @@ {'search_default_Sales':1, 'group_by_no_leaf':1,'group_by':[]} This report performs analysis on your quotations and sales orders. Analysis check your sales revenues and sort it by different group criteria (salesman, partner, product, etc.) Use this report to perform analysis on sales not having invoiced yet. If you want to analyse your turnover, you should use the Invoice Analysis report in the Accounting application. - - - diff --git a/addons/sale/security/sale_security.xml b/addons/sale/security/sale_security.xml index 0e62a89152d..f753c3bed13 100644 --- a/addons/sale/security/sale_security.xml +++ b/addons/sale/security/sale_security.xml @@ -59,12 +59,6 @@ - - - - - - diff --git a/addons/sale/views/sale_config_settings_views.xml b/addons/sale/views/sale_config_settings_views.xml index 82b8487a0fd..38a73fddc5a 100644 --- a/addons/sale/views/sale_config_settings_views.xml +++ b/addons/sale/views/sale_config_settings_views.xml @@ -1,501 +1,395 @@ - - sale.config.settings.inherit.sale + + sale.config.settings.view.form sale.config.settings - - - -

Pricing

-
-
-
- -
-
-