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><record id="rule_group_model" model="ir.rule">
<field name="name">Limited access to model (filtered by sales teams)</field>
<field name="model_id" search="[('model','=','model')]" model="ir.model"/>
<field name="groups" eval"[Command.set([ref('xml_id_group')])]/>
<field name="domain_force">[('warehouse_id', 'in', [team.default_warehouse.id for team in user.sale_team_ids if team.default_warehouse])]</field>
</record>
<record id="rule_group_model_2" model="ir.rule">
<field name="name">Access to all model</field>
<field name="model_id" search="[('model','=','model')]" model="ir.model"/>
<field name="groups" eval"[Command.set([ref('xml_id_group')])]/>
<field name="domain_force">[(1, '=', 1)]</field>
</record></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 <<a class="reference external" href="mailto:nhomar@vauxoo.com">nhomar@vauxoo.com</a>> (Planner/Developer)</li>
<li>Katherine Zaoral <<a class="reference external" href="mailto:kathy@vauxoo.com">kathy@vauxoo.com</a>> (Planner/Developer)</li>
<li>Luis González <<a class="reference external" href="mailto:lgonzalez@vauxoo.com">lgonzalez@vauxoo.com</a>> (Developer)</li>
<li>Rolando Duarte <<a class="reference external" href="mailto:rolando@vauxoo.com">rolando@vauxoo.com</a>> (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>