|
|
@ -8,10 +8,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
:Author: David Goodger (goodger@python.org)
|
|
|
|
:Author: David Goodger (goodger@python.org)
|
|
|
|
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
|
|
|
|
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
|
|
|
:Copyright: This stylesheet has been placed in the public domain.
|
|
|
|
:Copyright: This stylesheet has been placed in the public domain.
|
|
|
|
|
|
|
|
|
|
|
|
Default cascading style sheet for the HTML output of Docutils.
|
|
|
|
Default cascading style sheet for the HTML output of Docutils.
|
|
|
|
|
|
|
|
Despite the name, some widely supported CSS2 features are used.
|
|
|
|
|
|
|
|
|
|
|
|
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
|
|
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
|
|
customize this style sheet.
|
|
|
|
customize this style sheet.
|
|
|
@ -274,7 +275,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
|
|
margin-left: 2em ;
|
|
|
|
margin-left: 2em ;
|
|
|
|
margin-right: 2em }
|
|
|
|
margin-right: 2em }
|
|
|
|
|
|
|
|
|
|
|
|
pre.code .ln { color: grey; } /* line numbers */
|
|
|
|
pre.code .ln { color: gray; } /* line numbers */
|
|
|
|
pre.code, code { background-color: #eeeeee }
|
|
|
|
pre.code, code { background-color: #eeeeee }
|
|
|
|
pre.code .comment, code .comment { color: #5C6576 }
|
|
|
|
pre.code .comment, code .comment { color: #5C6576 }
|
|
|
|
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
|
|
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
|
@ -300,7 +301,7 @@ span.option {
|
|
|
|
span.pre {
|
|
|
|
span.pre {
|
|
|
|
white-space: pre }
|
|
|
|
white-space: pre }
|
|
|
|
|
|
|
|
|
|
|
|
span.problematic {
|
|
|
|
span.problematic, pre.problematic {
|
|
|
|
color: red }
|
|
|
|
color: red }
|
|
|
|
|
|
|
|
|
|
|
|
span.section-subtitle {
|
|
|
|
span.section-subtitle {
|
|
|
@ -368,7 +369,7 @@ ul.auto-toc {
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
!! source digest: sha256:23139cf061fc7a4ccb3f53579ad76f2d4737df131199206e85d7a262a094a20d
|
|
|
|
!! source digest: sha256:23139cf061fc7a4ccb3f53579ad76f2d4737df131199206e85d7a262a094a20d
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
|
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <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.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/web/tree/17.0/web_widget_x2many_2d_matrix"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/web-17-0/web-17-0-web_widget_x2many_2d_matrix"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
|
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <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.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/web/tree/18.0/web_widget_x2many_2d_matrix"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_widget_x2many_2d_matrix"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
|
|
<p>This module allows to show an x2many field with 3-tuples ($x_value,
|
|
|
|
<p>This module allows to show an x2many field with 3-tuples ($x_value,
|
|
|
|
$y_value, $value) in a table</p>
|
|
|
|
$y_value, $value) in a table</p>
|
|
|
|
<table border="1" class="docutils">
|
|
|
|
<table border="1" class="docutils">
|
|
|
@ -435,12 +436,12 @@ value. If your fields are named differently, pass the correct names as
|
|
|
|
attributes:</p>
|
|
|
|
attributes:</p>
|
|
|
|
<pre class="code xml literal-block">
|
|
|
|
<pre class="code xml literal-block">
|
|
|
|
<span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field"</span><span class="w"> </span><span class="na">widget=</span><span class="s">"x2many_2d_matrix"</span><span class="w"> </span><span class="na">field_x_axis=</span><span class="s">"my_field1"</span><span class="w"> </span><span class="na">field_y_axis=</span><span class="s">"my_field2"</span><span class="w"> </span><span class="na">field_value=</span><span class="s">"my_field3"</span><span class="nt">></span><span class="w">
|
|
|
|
<span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field"</span><span class="w"> </span><span class="na">widget=</span><span class="s">"x2many_2d_matrix"</span><span class="w"> </span><span class="na">field_x_axis=</span><span class="s">"my_field1"</span><span class="w"> </span><span class="na">field_y_axis=</span><span class="s">"my_field2"</span><span class="w"> </span><span class="na">field_value=</span><span class="s">"my_field3"</span><span class="nt">></span><span class="w">
|
|
|
|
</span><span class="nt"><tree></span><span class="w">
|
|
|
|
</span><span class="nt"><list></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field1"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field1"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field2"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field2"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field3"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"my_field3"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"></tree></span><span class="w">
|
|
|
|
</span><span class="nt"></list></span><span class="w">
|
|
|
|
</span><span class="nt"></field></span>
|
|
|
|
</span><span class="nt"></field></span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
<p>You can pass the following parameters:</p>
|
|
|
|
<p>You can pass the following parameters:</p>
|
|
|
@ -459,12 +460,12 @@ hours for one task per project per user. In this case, we can use
|
|
|
|
<tt class="docutils literal">project.task</tt> as our data model and point to it from our wizard. The
|
|
|
|
<tt class="docutils literal">project.task</tt> as our data model and point to it from our wizard. The
|
|
|
|
crucial part is that we fill the field in the default function:</p>
|
|
|
|
crucial part is that we fill the field in the default function:</p>
|
|
|
|
<pre class="code python literal-block">
|
|
|
|
<pre class="code python literal-block">
|
|
|
|
<span class="kn">from</span> <span class="nn">odoo</span> <span class="kn">import</span> <span class="n">fields</span><span class="p">,</span> <span class="n">models</span><span class="w">
|
|
|
|
<span class="kn">from</span><span class="w"> </span><span class="nn">odoo</span><span class="w"> </span><span class="kn">import</span> <span class="n">fields</span><span class="p">,</span> <span class="n">models</span><span class="w">
|
|
|
|
|
|
|
|
|
|
|
|
</span><span class="k">class</span> <span class="nc">MyWizard</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">TransientModel</span><span class="p">):</span><span class="w">
|
|
|
|
</span><span class="k">class</span><span class="w"> </span><span class="nc">MyWizard</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">TransientModel</span><span class="p">):</span><span class="w">
|
|
|
|
</span> <span class="n">_name</span> <span class="o">=</span> <span class="s1">'my.wizard'</span><span class="w">
|
|
|
|
</span> <span class="n">_name</span> <span class="o">=</span> <span class="s1">'my.wizard'</span><span class="w">
|
|
|
|
|
|
|
|
|
|
|
|
</span> <span class="k">def</span> <span class="nf">_default_task_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span><span class="w">
|
|
|
|
</span> <span class="k">def</span><span class="w"> </span><span class="nf">_default_task_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span><span class="w">
|
|
|
|
</span> <span class="c1"># your list of project should come from the context, some selection</span><span class="w">
|
|
|
|
</span> <span class="c1"># your list of project should come from the context, some selection</span><span class="w">
|
|
|
|
</span> <span class="c1"># in a previous wizard or wherever else</span><span class="w">
|
|
|
|
</span> <span class="c1"># in a previous wizard or wherever else</span><span class="w">
|
|
|
|
</span> <span class="n">projects</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">[</span><span class="s1">'project.project'</span><span class="p">]</span><span class="o">.</span><span class="n">browse</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span><span class="w">
|
|
|
|
</span> <span class="n">projects</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">env</span><span class="p">[</span><span class="s1">'project.project'</span><span class="p">]</span><span class="o">.</span><span class="n">browse</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span><span class="w">
|
|
|
@ -493,12 +494,12 @@ crucial part is that we fill the field in the default function:</p>
|
|
|
|
<p>Now in our wizard, we can use:</p>
|
|
|
|
<p>Now in our wizard, we can use:</p>
|
|
|
|
<pre class="code xml literal-block">
|
|
|
|
<pre class="code xml literal-block">
|
|
|
|
<span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"task_ids"</span><span class="w"> </span><span class="na">widget=</span><span class="s">"x2many_2d_matrix"</span><span class="w"> </span><span class="na">field_x_axis=</span><span class="s">"project_id"</span><span class="w"> </span><span class="na">field_y_axis=</span><span class="s">"user_id"</span><span class="w"> </span><span class="na">field_value=</span><span class="s">"planned_hours"</span><span class="nt">></span><span class="w">
|
|
|
|
<span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"task_ids"</span><span class="w"> </span><span class="na">widget=</span><span class="s">"x2many_2d_matrix"</span><span class="w"> </span><span class="na">field_x_axis=</span><span class="s">"project_id"</span><span class="w"> </span><span class="na">field_y_axis=</span><span class="s">"user_id"</span><span class="w"> </span><span class="na">field_value=</span><span class="s">"planned_hours"</span><span class="nt">></span><span class="w">
|
|
|
|
</span><span class="nt"><tree></span><span class="w">
|
|
|
|
</span><span class="nt"><list></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"task_ids"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"task_ids"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"project_id"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"project_id"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"user_id"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"user_id"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"planned_hours"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"><field</span><span class="w"> </span><span class="na">name=</span><span class="s">"planned_hours"</span><span class="nt">/></span><span class="w">
|
|
|
|
</span><span class="nt"></tree></span><span class="w">
|
|
|
|
</span><span class="nt"></list></span><span class="w">
|
|
|
|
</span><span class="nt"></field></span>
|
|
|
|
</span><span class="nt"></field></span>
|
|
|
|
</pre>
|
|
|
|
</pre>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -542,7 +543,7 @@ keyboard will enter into the 1st cell until
|
|
|
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
|
|
|
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
|
|
|
|
In case of trouble, please check there if your issue has already been reported.
|
|
|
|
In case of trouble, please check there if your issue has already been reported.
|
|
|
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
|
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
|
|
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_widget_x2many_2d_matrix%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
|
|
|
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_widget_x2many_2d_matrix%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
|
|
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
|
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="section" id="credits">
|
|
|
|
<div class="section" id="credits">
|
|
|
@ -579,13 +580,15 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
|
<div class="section" id="maintainers">
|
|
|
|
<div class="section" id="maintainers">
|
|
|
|
<h2><a class="toc-backref" href="#toc-entry-11">Maintainers</a></h2>
|
|
|
|
<h2><a class="toc-backref" href="#toc-entry-11">Maintainers</a></h2>
|
|
|
|
<p>This module is maintained by the OCA.</p>
|
|
|
|
<p>This module is maintained by the OCA.</p>
|
|
|
|
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
|
|
|
<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>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
|
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
|
|
mission is to support the collaborative development of Odoo features and
|
|
|
|
mission is to support the collaborative development of Odoo features and
|
|
|
|
promote its widespread use.</p>
|
|
|
|
promote its widespread use.</p>
|
|
|
|
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
|
|
|
|
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
|
|
|
|
<p><a class="reference external image-reference" href="https://github.com/ChrisOForgeFlow"><img alt="ChrisOForgeFlow" src="https://github.com/ChrisOForgeFlow.png?size=40px" /></a></p>
|
|
|
|
<p><a class="reference external image-reference" href="https://github.com/ChrisOForgeFlow"><img alt="ChrisOForgeFlow" src="https://github.com/ChrisOForgeFlow.png?size=40px" /></a></p>
|
|
|
|
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/17.0/web_widget_x2many_2d_matrix">OCA/web</a> project on GitHub.</p>
|
|
|
|
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/18.0/web_widget_x2many_2d_matrix">OCA/web</a> project on GitHub.</p>
|
|
|
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
|
|
|
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|