Search 1.9 billion lines of Odoo code on GitHub

default_warehouse_from_sale_team

Author: Vauxoo
License: LGPL-3
Branch: 16.0-mig-default_warehouse_from_sale_team-t63809-dev-rolando
Repository: vauxoo-dev/addons-vauxoo
Dependencies: base, purchase_requisition, sale_stock, sales_team, and stock
Languages: HTML (259, 24.3%), PO File (128, 12.0%), Python (387, 36.3%), XML (203, 19.0%), and reStructuredText (89, 8.3%)
Other branches: 11.0-New-Check-Limit-Credit-CarmenMiranda, 11.0-fix-margin_percentage-moy, 12.0-Ref-Stock-By-Warehouse-Product-Context-CarmenMiranda, 12.0-default_warehouse_from_sale_team-hbto, 12.0-rm-product_lifecycle-gavymg, 12.0-set-company-pricelist-header-t59184-sebasdrk17, 13.0-default_warehouse_rename_field-luisg, 13.0-fix-field-default_warehouse-suniagajose, 13.0-mig-account_multicompany_code, 13.0-mig-account_refund_early_payment, 14.0-default_warehouse_inheritable_rules-luisg, 14.0-deleted-wharehouse-field-leptonalvarado, 14.0-execute_pre_commit_vauxoo-ajqn9094, 14.0-mig-stock_by_warehouse, 14.0-mig-stock_by_warehouse_sale-dev-hugho-ad, 15.0-JVegaB-07042022-PosBlindClose, 15.0-add-account_bank_reconcile_transfer-t59105-dev-rolando, 15.0-add-analytic-bu, 15.0-add-field-analytic-account-emilioserna, 15.0-add-search_action_domain-t59176-dev-rolando, 15.0-deployv-moy, 15.0-deployv-truiz-moy, 15.0-enable_ci-moy, 15.0-mig-account-chatter-randallvx, 15.0-mig-account_multicompany_code-JesusValdez96, 15.0-mig_product_cost_usd-agarzaarvizu, 15.0-stock_by_warehouse_sale-pre_commit-t63809-dev-rolando, and 15.0-website-sale-brand-catalogs-montesinose
Other repositories: 111sree/addons-vauxoo, AbdelghaniDr/addons-vauxoo, Abdullah-Alghoul/addons-vauxoo, Aivenho/addons-vauxoo, ClearCorp/vauxoo-addons-vauxoo, CrazyIFriT/addons-vauxoo, DITIntl/addons-vauxoo, DudhatShivam/addons-vauxoo, ERPLibre/addons-vauxoo, EssentNovaTeam/addons-vauxoo, FAY8PTELTD/addons-vauxoo, FelixAdler/addons-vauxoo, FernandoCarlosGarcia/addons-vauxoo, ForgeFlow/addons-vauxoo, FullBringEc/addons-vauxoo, GabbasovDinar/addons-vauxoo, GrupoAlvamex/addons-vauxoo, Guobower/addons-vauxoo, HarshalBhoir/addons-vauxoo, Ingeos/addons-vauxoo, InstaERP/addons-vauxoo, Jarsa-dev/addons-vauxoo, JibenCL/addons-vauxoo, JorgeJuarezM/addons-vauxoo, Khwarizmiat/addons-vauxoo, Maanumx/addons-vauxoo, MadsackMediaStore/addons-vauxoo, Mahmoud-Alaa-Eldeen/addons-vauxoo, MandaTokiniaina/addons-vauxoo, NaSol/addons-vauxoo, NothingCtrl/addons-vauxoo, OutillageStEtienne/addons-vauxoo, QSoftCorporationEC/addons-vauxoo, RL-OtherApps/addons-vauxoo, Tecnativa/addons-vauxoo, TheCloneMaster/addons-vauxoo, Vauxoo/addons-vauxoo, VitalPet/addons-vauxoo-1, YevhenPechurin/addons-vauxoo, aaltinisik/addons-vauxoo, abdelmaaboud/addons-vauxoo, adeel982010/addons-vauxoo, alonejustinone/addons-vauxoo, amendoncabh/addons-vauxoo, andreaarce/addons-vauxoo, anodino-dev/addons-vauxoo, arasty/addons-vauxoo, atonaltzin/addons-vauxoo, aurestic/addons-vauxoo, awaistune/addons-vauxoo, bachmanna/addons-vauxoo, bgavarini/addons-vauxoo, bimajatiwijaya/addons-vauxoo, bluelinemx/addons-vauxoo, bmspy/addons-vauxoo, bmya/addons-vauxoo, bopo/addons-vauxoo, brain-tec/addons-vauxoo, caber/addons-vauxoo, cameroun/addons-vauxoo, cbaltodano90/addons-vauxoo, cedvict/addons-vauxoo, chenjingxiong/addons-vauxoo, ckardaras/addons-vauxoo, codequarters/addons-vauxoo, conectel-dev/addons-vauxoo, contactek/addons-vauxoo, corsisa/addons-vauxoo, cvinh/addons-vauxoo, daramousk/addons-vauxoo, diagramsoftware/addons-vauxoo, dipendra-karki/addons-vauxoo, dochse/addons-vauxoo, doganaltunbay/addons-vauxoo, echeverrifm/addons-vauxoo, eddybc/addons-vauxoo, eksotama/addons-vauxoo, elmonitor/addons-vauxoo, ernesto-medina/addons-vauxoo, fanzalika/addons-vauxoo, fauzi-tsani/addons-vauxoo, frahikLV/addons-vauxoo, friedi1/addons-vauxoo, funkring/addons-vauxoo, gameboy199/addons-vauxoo, gastonfeng/addons-vauxoo, gbertolani/addons-vauxoo, gearsforwork/addons-vauxoo, gfcapalbo/addons-vauxoo, giacomomagini/addons-vauxoo, gilbert-yuan/addons-vauxoo, gitmehedi/addons-vauxoo, gmlp/addons-vauxoo, gobozgz/addons-vauxoo, grottas/addons-vauxoo, guillermm/addons-vauxoo, gustavovalverde/addons-vauxoo, haryoran04/addons-vauxoo, hbto/addons-vauxoo, hifly/addons-vauxoo, huzzy143/addons-vauxoo, intellego-bi/addons-vauxoo, ivanporras/addons-vauxoo, izzihector/addons-vauxoo, jason156/addons-vauxoo, jjsamayoa/addons-vauxoo, jlaloux/addons-vauxoo, johannbelet/addons-vauxoo, jonathanf/addons-vauxoo, jsabastizagal/addons-vauxoo, kingsleyuk2003/addons-vauxoo, kmee/addons-vauxoo, kmlew/addons-vauxoo, leodoooca/addons-vauxoo, loctv/addons-vauxoo, luistorresm/addons-vauxoo, marcelomora/addons-vauxoo, marcelsavegnago/addons-vauxoo, marionumza/Vauxoo-addons-vauxoo, mbenyoub/addons-vauxoo, mcmx/addons-vauxoo, mhdsyarif/addons-vauxoo, miguelparaiso/addons-vauxoo, mohamedhagag/addons-vauxoo, molandtoxx/addons-vauxoo, muk-projects/addons-vauxoo, n30chido/addons-vauxoo, nabiforks/addons-vauxoo, nick2474/addons-vauxoo, nikols/addons-vauxoo, nteej/addons-vauxoo, odic30/addons-vauxoo, odoobgorg/addons-vauxoo, odoocn/addons-vauxoo, odoofans/addons-vauxoo, one2pret/addons-vauxoo, onurugur/addons-vauxoo, opensert/addons-vauxoo, oreju/addons-vauxoo, osiell/addons-vauxoo, oxidos/addons-vauxoo, pedroporras/addons-vauxoo, petypi/addons-vauxoo, qsoftcorporation/addons-vauxoo, rafnixg/addons-vauxoo, rokealva83/addons-vauxoo, rossasa/vauxoo-addons, rralaiarimanga/addons-vauxoo, rschnapka/addons-vauxoo, rsosa423/addons-vauxoo, sadeqamin/addons-vauxoo, samirthebti/addons-vauxoo, sangtt/addons-vauxoo, sc4you/addons-vauxoo, sdwhwfw/addons-vauxoo, shouyejing/addons-vauxoo, simmatica/addons-vauxoo, skmezanul/addons-vauxoo, sm2x/addons-vauxoo, stanisljevic/addons-vauxoo, sunny-odoo/addons-vauxoo, syci/addons-vauxoo, thopy/addons-vauxoo, tonihr/addons-vauxoo, trungvoi/addons-vauxoo, umair-gujjar/addons-vauxoo, valenciaricardos/addons-vauxoo, vexxloso/addons-vauxoo, vikramboyapati/addons-vauxoo, wahhid/addons-vauxoo, waltervargas/addons-vauxoo, westlyou/addons-vauxoo, x8bit/addons-vauxoo, xcorail/addons-vauxoo, xirobs/addons-vauxoo, xubiuit/addons-vauxoo, yasmanycastillo/addons-vauxoo, and zlf4535/addons-vauxoo

<img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.svg"> <a name="default-warehouse-from-sales-team"></a> <h2>Default Warehouse from Sales Team</h2> <a name="usage"></a> <h3>Usage</h3> <p>Add a field <cite>Default Warehouse</cite> in sales team.</p> <p>Create sort kind of api where any object with field called warehouse_id will take the default value from the sales team field this taking into account the team defined in <cite>Default Sale Teams</cite> field defined in the res.user model.</p> <p>To improve, consistency and usability we add the following features:</p> <ul> <li><p class="first">If you try to add a default sales team where the user doesn't belongs wil throw you an error message: Can not set default team is do not belongs to sale team</p> </li> <li><p class="first">Add an automated action/server action to update the user default sales team every time that a sales teams by:</p> <blockquote> <ul class="simple"> <li>add user's default sale team if empty.</li> <li>remove default sale team from user if not longer in sale team.</li> <li>dummy write to update m2m in users to make new feature for filtering records.</li> </ul> </blockquote> </li> </ul> <p>Currently this default warehouse feature applies for: - Sale orders - Transfers (<code>stock.picking</code>) - Operation type (<code>stock.picking.type</code>)</p> <p>Also add a new feature for Permissions and Security: Taking advantage of the default_warehouse field in the sales team model now we can filter the records (picking type and picking model) to only show those records that match with the user sale teams default_warehouse. To accomplish this I:</p> <ul class="simple"> <li>add new groups to manage the records access by user:<ul> <li>Default Warehouse / Limited access to transfers (filtered by sales team)</li> <li>Default Warehouse / Limited access to operation types (filtered by sales team)</li> <li>Default Warehouse / Access to all operation types</li> <li>Default Warehouse / Access to all transfers</li> </ul> </li> <li>add new m2m field in the res.user model used in the new ir.rules. this onw is showed as a readonly field (only informative) to know the teams were the sale user belongs.</li> <li>add new ir.rule records, one for each default warehouse group. This one will let us to only show the records for the current user sale teams default_warehouse or to do not take into account the sale teams and show all the records to the user.</li> </ul> <p>To add more models use it simple do this:</p> <ol class="arabic"> <li><p class="first">Inherit the class that you want to set the field warehouse_id:</p> <pre> <code>class SomeClass(models.Model): _name = 'some.class' _inherit = ['some.class', 'default.warehouse'] warehouse_id = fields.Many2one('stock.warehouse', help='Warehouse were' 'this object will belong to')</code> </pre> </li> <li><p class="first">Create two ir.rule to filter stock.picking and stock.picking.type taking into account the current user warehouses. When a user is part of warehouse teams will be able to access only the records related to that warehouses:</p> <pre> <code>&lt;record id=&quot;rule_group_model&quot; model=&quot;ir.rule&quot;&gt; &lt;field name=&quot;name&quot;&gt;Limited access to model (filtered by sales teams)&lt;/field&gt; &lt;field name=&quot;model_id&quot; search=&quot;[('model','=','model')]&quot; model=&quot;ir.model&quot;/&gt; &lt;field name=&quot;groups&quot; eval&quot;[Command.set([ref('xml_id_group')])]/&gt; &lt;field name=&quot;domain_force&quot;&gt;[('warehouse_id', 'in', [team.default_warehouse.id for team in user.sale_team_ids if team.default_warehouse])]&lt;/field&gt; &lt;/record&gt; &lt;record id=&quot;rule_group_model_2&quot; model=&quot;ir.rule&quot;&gt; &lt;field name=&quot;name&quot;&gt;Access to all model&lt;/field&gt; &lt;field name=&quot;model_id&quot; search=&quot;[('model','=','model')]&quot; model=&quot;ir.model&quot;/&gt; &lt;field name=&quot;groups&quot; eval&quot;[Command.set([ref('xml_id_group')])]/&gt; &lt;field name=&quot;domain_force&quot;&gt;[(1, '=', 1)]&lt;/field&gt; &lt;/record&gt;</code> </pre> </li> <li><p class="first">Don't forget depends of this module adding it to the list into <cite>__openerp__.py</cite>:</p> <pre> <code>The default value from this field will be the warehouse setted in the section. If the user is not related to a sales team or not warehouse setted on the section the default warehouse will be set using the default behavior of the system which is assign the main warehouse.</code> </pre> </li> </ol> <a name="bug-tracker"></a> <h3>Bug Tracker</h3> <p>Bugs are tracked on <a class="reference external" href="https://github.com/Vauxoo/addons-vauxoo/issues">GitHub Issues</a>. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback <a class="reference external" href="https://github.com/Vauxoo/addons-vauxoo/issues/new?body=module:%20default_warehouse_from_sale_team%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">here</a></p> <a name="credits"></a> <h3>Credits</h3> <p><strong>Contributors</strong></p> <ul class="simple"> <li>Nhomar Hernández &lt;<a class="reference external" href="mailto:nhomar&#64;vauxoo.com">nhomar&#64;vauxoo.com</a>&gt; (Planner/Developer)</li> <li>Katherine Zaoral &lt;<a class="reference external" href="mailto:kathy&#64;vauxoo.com">kathy&#64;vauxoo.com</a>&gt; (Planner/Developer)</li> <li>Luis González &lt;<a class="reference external" href="mailto:lgonzalez&#64;vauxoo.com">lgonzalez&#64;vauxoo.com</a>&gt; (Developer)</li> <li>Rolando Duarte &lt;<a class="reference external" href="mailto:rolando&#64;vauxoo.com">rolando&#64;vauxoo.com</a>&gt; (Developer)</li> </ul> <a name="maintainer"></a> <h3>Maintainer</h3> <a class="reference external image-reference" href="https://www.vauxoo.com"><img alt="Vauxoo" src="https://s3.amazonaws.com/s3.vauxoo.com/description_logo.png" style="width: 200px;" /></a> <p>This module is maintained by Vauxoo.</p> <p>To contribute to this module, please visit <a class="reference external" href="https://www.vauxoo.com">https://www.vauxoo.com</a>.</p>