Search 1.9 billion lines of Odoo code on GitHub

partner_changeset

Author: Camptocamp, Coop IT Easy SCRLfs, Odoo Community Association (OCA)
License: AGPL-3
Branch: 12.0-mig-partner-changeset
Repository: coopiteasy/partner-contact
Dependencies: base, and contacts
Languages: Python (1150, 79.2%), and XML (302, 20.8%)
Other branches: 10.0, 8.0, 9.0, 9.0-mig-portal_partner_select_all, and 9.0-test
Other repositories: Abdullah-Alghoul/partner-contact, Alfa-90/partner-contact, App247/partner-contact, ApuliaSoftware/partner-contact, Audian/partner-contact, BDO-ES/partner-contact, BT-dgoeppner/partner-contact, BT-nleutenegger/partner-contact, Bagration992/partner-contact, Bubbles-IT/partner-contact, CB-Gran-Canaria/partner-contact, CGenie/partner-contact, Callino/partner-contact, CarlosEsauToledoFlores/partner-contact, Change2improve/partner-contact, ClearCorp/oca-partner-contact, ComitorDevTeam/partner-contact, Comunitea/partner-contact, Crisa221/partner-contact, Daemo00/partner-contact, Daniel-CA/partner-contact, DarioLodeiros/partner-contact, Darknroses/partner-contact, DevidLuxim/partner-contact, Digital5-Odoo/partner-contact, Dobtor-OCA/partner-contact, Domatix/partner-contact, DucTruongKomit/partner-contact, EBII/partner-contact, EDallas89/partner-contact-OCA, ERPLibre/partner-contact, EasyNetwork/partner-contact, Ellyan/partner-contact, ElvenStudio/partner-contact, EssentNovaTeam/partner-contact, Faha4/partner-contact, ForgeFlow/partner-contact, FranTobar/partner-contact, GSLabIt/partner-contact, Gabinete-Digital/partner-contact, Giuliano69/partner-contact, Glue-Software-Engineering-AG/partner-contact, Gofekra/partner-contact, GrupoAlvamex/partner-contact, Guobower/partner-contact, Hello-Sistem/partner-contact, Hellyna/partner-contact, IAJ782/FORK_partner-contact, ICTSTUDIO/partner-contact, IFE-Seym/partner-contact, Ingeos/partner-contact, JGarcia-Panach/partner-contact, Jarsa-dev/partner-contact, Jarsa/partner-contact, JayVora-SerpentCS/partner-contact, JazziMc/partner-contact, JibenCL/partner-contact, JoanMarin/partner-contact, Josnem/partner-contact, Kayuulab/partner-contact, KolushovAlexandr/partner-contact, KrishnaPrajapati-SerpentCS/partner-contact, LasLabs/partner-contact, LevelPrime/partner-contact, MadsackMediaStore/partner-contact, MallorcaSoft/partner-contact, MarkingSC/partner-contact, Martin-Kotrulev/partner-contact, MathBenTech/partner-contact, Mefistous/partner-contact, MindAndGo/partner-contact, MrYuo/partner-contact, NL66278/partner-contact, NeatNerdPrime/partner-contact, Nikul-Chaudhary/partner-contact, NishaGajjar-SerpentCS/partner-contact, Nitrokey/odoo-partner-contact, Noviat/partner-contact, Numigi/odoo-partner-contact, OCA-MUK/partner-contact, OCA/partner-contact, Odoo-Italia-Associazione/partner-contact, OdooUniformal/partner-contact, Oliveiramv/partner-contact, OpenCode/partner-contact, OpenPymeMx/partner-contact, OsoTranquilo/partner-contact, OutillageStEtienne/partner-contact, PESOL/partner-contact, Palpid/partner-contact, PelayoCalleja/partner-contact, PieterPaulussen/partner-contact, PrenorSistemas/partner-contact, QANSEE/partner-contact, QubiQ/partner-contact, Rad0van/partner-contact, Richardssen/partner-contact, SDIsl/partner-contact, SanteLibre/partner-contact, SequarSrl/partner-contact, SerpentConsultingServices/partner-contact, SeuMarco/partner-contact, SherryRajper/partner-contact, SimoRubi/partner-contact, Sroeurnsuon/partner-contact, StefanRijnhart/partner-contact, StephanRozendaal/partner-contact, Studio73/partner-contact, Syci-Consulting/partner-contact, TDu/partner-contact, TRESCLOUD/partner-contact, Tawasta/partner-contact, Tecnativa/partner-contact, Therp/partner-contact, Tonow-c2c/partner-contact, VCLS-org/partner-contact, Viggor/partner-contact, VisiionSoluciones/partner-contact, VisiionSolucionesTecnologicas/partner-contact, WilliamSudokeys/partner-contact, WimSchuiteman/partner-contact, WohthaN/partner-contact, YevhenPechurin/partner-contact, Zhouhao12345/partner-contact, aaltinisik/partner-contact, abdiiwan1841/partner-contact, acsone/partner-contact, adhoc-dev/partner-contact, adolfoeliazat/partner-contact, adrianoarchetti/partner-contact, afdel70/partner-contact, agaldona/partner-contact, agenterp/partner-contact, agrista/odoo-partner-contact, aitorbouzas/partner-contact, akretion/partner-contact, alexlafalce/partner-contact, algiopensource/partner-contact, amarildogolloshi/partner-contact, amcor/partner-contact, amendoncabh/partner-contact, amh-mw/partner-contact, anandkansagra/partner-contact, andhit-r/partner-contact, angel-01/partner-contact, anhvu-sg/partner-contact, ansinaesmejor/partner-contact, antoinecln/partner-contact, apetbiz/partner-contact, aroodooteam/partner-contact, aryajimbaran/partner-contact, asieburg/partner-contact, atlascollege/partner-contact, aurestic/partner-contact, avanzosc/partner-contact, avoinsystems/partner-contact, bistaray/partner-contact, bmya/partner-contact, bodi000/partner-contact, borni-dhifi/partner-contact, brain-tec/partner-contact, brian10048/partner-contact, bvkl/partner-contact, camptocamp/partner-contact, christophe-hanon/partner-contact, chrizzTs/partner-contact, cmarrero/partner-contact, cocox/partner-contact, cogitoweb/partner-contact, coobyHQ/partner-contact, cristhianclv70/partner-contact, crnd-inc/partner-contact, cubells/partner-contact, cvinh/partner-contact, d4e-ch/partner-contact, daramousk/partner-contact, dave-prosee/partner-contact, davidandradeb/partner-contact, dbo-odoo/partner-contact, ddufresne/partner-contact, denislour/partner-contact, dev00007/partner-contact, dhp-denero/partner-contact, diagramsoftware/partner-contact, diggy128/partner-contact, dipendra-karki/partner-contact, dong-z/partner-contact, drashtigotecha/partner-contact, druidoo-dev/partner-contact, dygytally/partner-contact, dynapps/partner-contact, dynaz/partner-contact, echeverrifm/partner-contact, ecosoft-odoo/partner-contact, elmonitor/partner-contact, elvirekemajou/partner-contact, emagdalenaC2i/partner-contact, eribowo/partner-contact, ermannognan/partner-contact, esantos-octagono/partner-contact, etobella/partner-contact, exaap/partner-contact, exosoftware/oca-partner-contact, fanzalika/partner-contact, feketemihai/partner-contact, flosslab/partner-contact, fmdl/partner-contact, foliveira-odoogap/partner-contact, fug-mann/partner-contact, gastonfeng/partner-contact, geekobi/partner-contact, george-mengelberg/partner-contact, giangtnm/partner-contact, gokhanerdogdu/partner-contact, gottaBoy/partner-contact, grant-thornton/partner-contact, grindtildeath/partner-contact, gritan/partner-contact, groventure/partner-contact, guandalf/partner-contact, guewen/partner-contact, gurneyalex/partner-contact, haryoran04/partner-contact, hbrunn/partner-contact, hieulucky111/partner-contact, hinfo506/partner-contact, humanilog/partner-contact, humanytek-team/partner-contact, hurrinico/partner-contact, huyly0909/partner-contact, i-vyshnevska/partner-contact, ianathompson/partner-contact, idealisconsultingbe/partner-contact, ideaspositivas-group/partner-contact, igallart/partner-contact, iledarn/partner-contact, ilexius/partner-contact, initOS/partner-contact, invitu/partner-contact, ip-candres/partner-contact, isos/partner-contact, isoscl/partner-contact, it-projects-llc/partner-contact, izzihector/partner-contact, jacky82669513/partner-contact, jagruti-serpentcs/partner-contact, jalaludin/partner-contact, janarthanandev/partner-contact, janverb/partner-contact, jason156/partner-contact, jcarlosmontoya/partner-contact, jcleonard2018/partner-contact, jeroen7s/partner-contact, jimmyec/partner-contact, jobiols/oca-partner-contact, josepmy/partner-contact, jriveros/partner-contact, julenalgios/partner-contact, jviloria/partner-contact, jvpascual/partner-contact, karan-dreambits/partner-contact, kevinkhao/partner-contact, kevinlopezgt/partner-contact, kmee/partner-contact, koenloodts/partner-contact, kongrattapong/partner-contact, kos94ok-3D/partner-contact, lbelorgey/partner-contact, leemannd/partner-contact, lefilament/partner-contact, leonidasthe300/partner-contact, lfreeke/partner-contact, lideritjnma/partner-contact, lincersolucoes/oca-partner-contact, linkitspa/partner-contact, linuxnow/partner-contact, lubonbvba/partner-contact, luismontalba/partner-contact, lukehuang/partner-contact, mFlayyan/partner-contact, magnuscolors/partner-contact, mauraco-group/partner-contact, mettadipa/partner-contact, michotm/partner-contact, micktseng/partner-contact, microcom/partner-contact, minhhq09/partner-contact, minorisa/partner-contact, moltisinc/partner-contact, mozaik-association/partner-contact, murtuzasaleh/partner-contact, nikul-serpentcs/partner-contact, ntsirintanis/partner-contact, nucleoosystem/partner-contact, odof/partner-contact, odoobgorg/OCA-partner-contact, odoogap/partner-contact, odoonz/partner-contact, one2pret/partner-contact, onesteinbv/partner-contact, onurugur/partner-contact, open-net-sarl/partner-contact, open-synergy/partner-contact, open2bizz/partner-contact, osiberp/partner-contact, osiell/partner-contact, osvalr/partner-contact, oycl/partner-contact, pankk/partner-contact, patrickrwilson/partner-contact, pegonzalezspesol/partner-contact, petrus-v/partner-contact, piensom/partner-contact, poonlap/partner-contact, popcomputadores-desenv/partner-contact, praxigento/oca-partner-contact, presenceverte/partner-contact, proyecto-evoluzion/partner-contact, ps-tubtim/partner-contact, pscloud/partner-contact, qtheuret/partner-contact, rab-subteno-it/partner-contact, randall-vx/partner-contact, redblow/partner-contact, richard-willdooit/partner-contact, robertrottermann/partner-contact, robertsvx27/partner-contact, rossasa/partner-contact, royalline1/partner-contact, rsullivan2704/partner-contact, rven/partner-contact, sadeqamin/partner-contact, sagar-developer-92/partner-contact, salvatoretrimarchi/partner-contact, sanube/partner-contact, satriani-vai/partner-contact, savoirfairelinux/partner-contact, scbrianti/partner-contact, sergiocorato/partner-contact, sewisoft/partner-contact, simahawk/partner-contact, simoneversienti/partner-contact, skeller1/partner-contact, sodexis/partner-contact, spacimek/partner-contact, ssisoftwaresol/partner-contact, ssisoftwaresolutions/partner-contact, steingabelgaard/partner-contact, sunflowerit/partner-contact, sunshineLhj/partner-contact, syci/partner-contact, sygel-technology/partner-contact, taifu/partner-contact, takobi-online/partner-contact, tansadio/partner-contact, tarteo/partner-contact, tfossoul/partner-contact, thinkasoft/partner-contact, thinkopensolutions/oca-partner-contact, thinkwelltwd/partner-contact, tirma-sa/partner-contact, tosink/partner-contact, trevi-software/partner-contact, trolka/partner-contact, tschanzt/partner-contact, tymiles003/partner-contact, unitek-solusi/OCA-partner-contact, ursais/partner-contact, valmarnet/partner-contact, vdedyukhin/partner-contact, victormmtorres/partner-contact, vishal-onnet/partner-contact, vittio/partner-contact, vrenaville/partner-contact, wahello/partner-contact, westlyou/partner-contact, wowfresh/partner-contact, x0rzkov/odoo-partner-contact, xcgd/partner-contact, xpansa/partner-contact, xpertiz/partner-contact, xwh123807/partner-contact, yogitabista/partner-contact, ypapouin/partner-contact, yucer/partner-contact, yvaucher/partner-contact, zarumaru/partner-contact, zeroincombenze/partner-contact, and zhuyangbin/partner-contact

<a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.svg"> </a> <a name="partner-changesets"></a> <h2>Partner Changesets</h2> <p>This module extends the functionality of partners. It allows to create changesets that must be validated when a partner is modified instead of direct modifications. Rules allow to configure which field must be validated.</p> <a name="configuration"></a> <h3>Configuration</h3> <a name="access-rights"></a> <h4>Access Rights</h4> <p>The changesets rules must be edited by users with the group <code>Changesets Configuration</code>. The changesets can be applied or canceled only by users with the group <code>Changesets Validations</code></p> <a name="changesets-rules"></a> <h4>Changesets Rules</h4> <p>The changesets rules can be configured in <code>Sales &gt; Configuration &gt; Partner Changesets &gt; Fields Rules</code>. For each partner field, an action can be defined:</p> <ul class="simple"> <li>Auto: the changes made on this field are always applied</li> <li>Validate: the changes made on this field must be manually confirmed by a 'Changesets User' user</li> <li>Never: the changes made on this field are always refused</li> </ul> <p>In any case, all the changes made by the users are always applied directly on the users, but a 'validated' changeset is created for the history.</p> <p>The supported fields are:</p> <ul class="simple"> <li>Char</li> <li>Text</li> <li>Date</li> <li>Datetime</li> <li>Integer</li> <li>Float</li> <li>Boolean</li> <li>Many2one</li> </ul> <p>Rules can be global (no source model) or configured by source model. Rules by source model have the priority. If a field is not configured for the source model, it will use the global rule (if existing).</p> <p>If a field has no rule, it is written to the partner without changeset.</p> <a name="usage"></a> <h3>Usage</h3> <a name="general-case"></a> <h4>General case</h4> <p>The first step is to create the changeset rules, once that done, writes on partners will be created as changesets.</p> <a name="finding-changesets"></a> <h4>Finding changesets</h4> <p>A menu lists all the changesets in <code>Sales &gt; Configuration &gt; Partner Changesets &gt; Changesets</code>.</p> <p>However, it is more convenient to access them directly from the partners. Pending changesets can be accessed directly from the top right of the partners' view. A new filter on the partners shows the partners having at least one pending changeset.</p> <a name="handling-changesets"></a> <h4>Handling changesets</h4> <p>A changeset shows the list of the changes made on a partner. Some of the changes may be 'Pending', some 'Accepted' or 'Rejected' according to the changeset rules. The only changes that need an action from the user are 'Pending' changes. When a change is accepted, the value is written on the user.</p> <p>The changes view shows the name of the partner's field, the Origin value and the New value alongside the state of the change. By clicking on the change in some cases a more detailed view is displayed, for instance, links for relations can be clicked on.</p> <p>A button on a changeset allows to apply or reject all the changes at once.</p> <a name="custom-source-rules-in-your-addon"></a> <h4>Custom source rules in your addon</h4> <p>Addons wanting to create changeset with their own rules should pass the following keys in the context when they write on the partner:</p> <ul class="simple"> <li><code>__changeset_rules_source_model</code>: name of the model which asks for the change</li> <li><code>__changeset_rules_source_id</code>: id of the record which asks for the change</li> </ul> <p>Also, they should extend the selection in <code>ChangesetFieldRule._domain_source_models</code> to add their model (the same that is passed in <code>__changeset_rules_source_model</code>).</p> <p>The source is used for the application of the rules, allowing to have a different rule for a different source. It is also stored on the changeset for information.</p> <a name="screenshot"></a> <h4>Screenshot:</h4> <ul> <li><p class="first">Configuration of rules</p> <img alt="partner_changeset/static/src/img/rules.png" src="partner_changeset/static/src/img/rules.png" /> </li> <li><p class="first">Changeset waiting for validation</p> <img alt="partner_changeset/static/src/img/changeset.png" src="partner_changeset/static/src/img/changeset.png" /> </li> </ul> <a class="reference external image-reference" href="https://runbot.odoo-community.org/runbot/134/10.0"><img alt="Try me on Runbot" src="https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas" /></a> <a name="known-issues-roadmap"></a> <h3>Known issues / Roadmap</h3> <ul class="simple"> <li>Only a subset of the type of fields is actually supported</li> </ul> <a name="bug-tracker"></a> <h3>Bug Tracker</h3> <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/partner-contact/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</p> <a name="credits"></a> <h3>Credits</h3> <a name="images"></a> <h4>Images</h4> <ul class="simple"> <li>Odoo Community Association: <a class="reference external" href="https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg">Icon</a>.</li> </ul> <a name="contributors"></a> <h4>Contributors</h4> <ul class="simple"> <li>Guewen Baconnier &lt;<a class="reference external" href="mailto:guewen.baconnier&#64;camptocamp.com">guewen.baconnier&#64;camptocamp.com</a>&gt;</li> <li>Denis Leemann &lt;<a class="reference external" href="mailto:denis.leemann&#64;camptocamp.com">denis.leemann&#64;camptocamp.com</a>&gt;</li> <li>Yannick Vaucher &lt;<a class="reference external" href="mailto:yannick.vaucher&#64;camptocamp.com">yannick.vaucher&#64;camptocamp.com</a>&gt;</li> </ul> <a name="maintainer"></a> <h4>Maintainer</h4> <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> <p>This module is maintained by the OCA.</p> <p>OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.</p> <p>To contribute to this module, please visit <a class="reference external" href="https://odoo-community.org">https://odoo-community.org</a>.</p>