The filter element attribute 'name' is now required since
odoo/odoo/commit/4ddc3231
closesodoo/documentation#7523
X-original-commit: cbe72a69bb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Alardot (jual) <jual@odoo.com>
In particular, the following changes are made:
- Use the `class` and `attribute` admonitions along with custom
attributes to define classes, views' root attributes, views'
components, and attribute values. This allows re-using the responsive
design that was made for reference lists, and getting rid of the
previous implementation that relied on class attributes, which were not
intended for this usage and reduce readability while hindering further
contributions due to a lack of flexibility (no admonitions,
sub-attributes...)
- Use definition lists to define view types to allow for clearer and
longer descriptions.
- Rewrite and restructure the explanations when there is a lack clarity.
- Extract duplicated content to included RST files.
- Display SVG images into dedicated admonitions.
- Fix RST and English mistakes.
- Rename `view_architecture` to `view_architectures`, as it lists all
existing architectures and doesn't describe "the architecture of a
view".
- Replace underscores with hyphens in image file names to improve SEO.
task-3458320
closesodoo/documentation#5237closesodoo/documentation#7497
X-original-commit: a17eaf4c6f
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit rework the entire JavaScript tutorial series with the
following improvements:
- Each chapter is now designed to be independent, allowing learners to
follow any chapter without the necessity of completing previous ones.
- Each chapter has been transformed into a standalone module, enabling
learners to create small projects from scratch within each chapter.
- The screenshots/text/code have been updated for Odoo 17.
Currently we have 5 chapters:
- Discover Chapter 1 - Owl Components: This chapter allows to learn the
Owl framework in the `awesome_owl` module.
- Discover Chapter 2 - Build a dashboard: This chapter allows to grasp
the basic of the web framework by building a dashboard in the
`awesome_dashboard` module.
- Master Chapter 1 - Build a clicker game: This chapter allows to grasp
the web framework by building a clicker game in the `awesome_clicker`
module.
- Master Chapter 2 - Create a gallery view: This chapter allows to learn
how to create a new view type. The new view is a gallery of records
pictures. It can be done in the `awesome_gallery` module.
- Master Chapter 3 - Customize a kanban view: This chapter allows to
learn to customize a kanban view by implementing a list of customer in
the side of a kanban view. This can be done in the `awesome_kanban`
module.
The chapter on creating and customizing fields is deleted for now and
will be completely rewritten in a near future.
The chapter on testing is deleted, how-to guides will be written to
cover this subject.
The solutions for all exercises has been done for v17, the goal by
merging the new tutorial is to have this new branch structure in
`odoo/tutorials`:
- 16.0
- 16.0-solutions
- 17.0
- 17.0-discover-js-framework-solutions
- 17.0-master-odoo-web-framework-solutions
- master <-- default branch, starting point for all addons
- master-discover-js-framework-solutions
- master-master-odoo-web-framework-solutions
closesodoo/documentation#6980
Task-id: 3623595
X-original-commit: 3d4a275196
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Florent Dardenne (dafl) <dafl@odoo.com>
Many customers struggle with their web server configuration, notably
regarding the `--proxy-mode` option and the way `X-Forwarded-*` HTTP
request headers are interpreted within Odoo.
The `--proxy-mode` section has been updated to cover the most common
misunderstandings and to give guidances on how to setup a web server.
Odoo always only takes the last entry of the `X-Forwarded-*` request
header because there are situations where it is not possible to
determine which last n-th entry to use. Employees might access their
odoo database via the internal network: connecting directly to nginx,
while customers might access the database via an additional proxy such
as cloudflare. The real IP of employees would be the last inside the
`X-Forwarded-For` chain, while the real IP of customers would be the
*second* last entry inside the chain. It would be incorrect to always
take the same nth last entry inside the chain. The cloudflare's own IP
address must be discarded from the chain. Web servers usually feature
a way to ignore trusted IP from the chain, a way so that the real IP
of the user is always the last entry inside the chain. Odoo relies on
such feature to be active and configured.
Prior discussions about `X-Forwarded-For`:
* odoo/odoo#104947
* odoo/odoo#118629
* odoo/odoo#139536
All `X-Forwarded-*` headers are ignored in case the `X-Forwarded-Host`
header is missing (even with `--proxy-mode`). System admin might be
tempted to not set this header and to set `Host` instead, this is
broken as this a user-agent would be able to spoof `X-Forwarded-Host`
and Odoo would use that instead of the correct `Host`.
Prior discussions about `X-Forwarded-Host`:
* odoo/odoo#63277
* odoo/odoo#70117closesodoo/documentation#6744
X-original-commit: 3d91c57b57
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
When writing the documentation page for standalone Owl apps, it was
originally required to create the env and start the services manually,
and then mount the application by giving it a bunch of configuration
parameters. During review, it was noted that this was error prone and
confusing, and as such a corresponding PR added a helper to mount the
application without needing to do much by hand. While the code was
adapted in the documentation that was merged, the text still referred to
starting the services and creating the environment which is no longer
necessary.
This commit removes references to those things, and because the
resulting section is very small and not very interesting it has been
merged into the previous section.
closesodoo/documentation#6692
X-original-commit: 8e3008f06a
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
The lambda function here is useless and makes newdooers think
they need to use it everytime.
`default=fields.Date.add(fields.Date.today(), months=3))`
should do the trick, no lambda involved.
closesodoo/documentation#6632
X-original-commit: 620508fb29
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
The "../technical-training-sandbox" is added too early in the path since
its still empty, and results into an "invalid addons-path" error.
X-original-commit: 8707609b38
Part-of: odoo/documentation#6632
Since we've introduced Owl, developers want more and more to create
standalone Owl applications outside of the webclient. This commit
introduces a How-to for doing just that.
task-3580007
closesodoo/documentation#6553
X-original-commit: 1fc36ffa82
Related: odoo/odoo#143073
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
The tour utils were red and moved in Odoo (odoo/odoo#107618).
closesodoo/documentation#6521
X-original-commit: 9be2b43adb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
It has been decided to remove the possibility for our users to create
their own IAP services.
This decision was motivated by the fact that, in the 5 years of
existence of IAP, very few non-Odoo services have been created and
actively used by our customers.
X-original-commit: 282f041ed1
Part-of: odoo/documentation#6328
We have introduced a second version of the Extract API that adds the IAP
account token to the `get_result` and `validate` routes.
There are also other changes in this commit:
- The deprecated stuff has been removed as it's been deprecated for a
while and won't be supported anymore in the future.
- The `status` table of the `get_result` route has been added as it was
missing for some reason.
- The documentation regarding the `/validate` routes have been removed
for security reasons.
closesodoo/documentation#6283
X-original-commit: a8c6272899
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
In the CLI, `--unaccent` try to enable PostgreSQL unaccent extention
when odoo is responsible to create new database(s).
closesodoo/documentation#6246
X-original-commit: 1639d22efd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
Remove parenthesis around a term that's fairly straightforward to
understand and later used as a title Add a much-needed point.
closesodoo/documentation#6126
X-original-commit: 6f3ed657fc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Stanislas Gueniffey (stgu) <stgu@odoo.com>
This commit renames the calendar attribute "quick_add" to "quick_create"
and adds the attribute "quick_create_view_id".
closesodoo/documentation#6105
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
The bill reference is no longer detected since a few months because it
had poor results and wasn't very useful.
closesodoo/documentation#6012
X-original-commit: cade61dd56
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
Pretty sure the previous wasnt the intended result as it would show the "this is new" in a new kanban card. This just groups it with the property it belongs to.
closesodoo/documentation#5907
Forward-port-of: odoo/documentation#5899
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
This commit, reword the doc about `ir.actions.act_url` and add also the
new `download` value for the `target`.
closesodoo/documentation#5822
Related: odoo/odoo#134436
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The documentation is unclear about the unit used for the --limit-memory-soft
and --limit-memory-hard options of odoo-bin. The unit used is bytes, but
it isn't mentioned and the default unit is shown in mebibytes, causing
confusion.
closesodoo/documentation#5794
X-original-commit: 9fadc3355d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The value of `t-debug` is now optional, and leaving it out means the
directive just invokes the `breakpoint` builtin, which was added in
3.7 and is configurable via an envvar or a hook callable.
closesodoo/documentation#5800
Related: odoo/odoo#134842
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The link pointing to domain.js file was broken.
The xml id on the line before that is also broken but it will be fixed with PR#5699.
closesodoo/documentation#5709
Forward-port-of: odoo/documentation#5702
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Armin FalDiS <armin.fallah96@gmail.com>
Co-authored-by: Armin FalDiS <fara@odoo.com>
This PR moves the introduction about the different installation methods and editions found on the
install/install.rst page directly under the main install/ page. It creates three pages, one per
installation method documented on the install/install.rst page (Docker being documented on
docker.com and maintained by us), and moves the related content there. In addition, it fixes various
typos/grammar issues and improves the content according to the documentation guidelines. Various
references and links across the documentation had to be fixed accordingly.
task-3459070
closesodoo/documentation#5543
X-original-commit: 91c28fd433
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
The documentation of the views is redone in order to be up to date and
has allowed a better visualization of the task on the modifiers.
task-2495504
closesodoo/documentation#3523
Related: odoo/odoo#104741
Related: odoo/enterprise#35255
Related: odoo/upgrade#4884
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
Commit f36c612d13 changed the model name
in Chapter 4 without updating the other occurences.
closesodoo/documentation#5516
X-original-commit: b6f923d111
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
In odoo/odoo#130467 the necessity to tag owl templates with an owl="1"
attribute has been removed, update the docs to reflect that.
closesodoo/documentation#5460
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Using `<` inside XML elements will result in a parsing error,
an entity reference should be used instead: `<`.
closesodoo/documentation#5184
X-original-commit: a7743d513b
Signed-off-by: Levi Siuzdak (sile) <sile@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
I removed the dot notation in the "_name" variable for the example
model. AKA, "test.model" is now named "test_model".
Dot notation implies a data structure relationship between a <model> and
it's parent (or class etc) <test> (like test.model() or Test.model).
There is no relationship like this between a <test> and <model> - it's
just one thing: a <test model>.
The seeming "benefit" of the ORM translating dots to underscores doesn't
justify this naming convention. Yes, I know it's a string, but still,
this seems confusing for newbies and adds unnecessary complexity (why
name the same thing differently in different places?)
closesodoo/documentation#5141
X-original-commit: f36c612d13
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Examples rely on `kolo/xmlrpc` as well as on the standard library package `log` to panic on error, matching snippets in other languages (which tend to raise exceptions).
As with other languages, only the RPC interaction is spelled out.
closesodoo/documentation#5129
Forward-port-of: odoo/documentation#5064
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Reflects the fact that assets_qweb bundle is no longer used in 16.0
closesodoo/documentation#5109
X-original-commit: c85031b3fc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
https://github.com/odoo/odoo/pull/114827 added a new attribute
quick_create_form_view_id to the calendar view that would allow showing a form
view when clicking on quick_create. This attribute was only used in calendar,
however it could be useful for other modules as well. It was decided to merge
this new attribute with the quick_add attribute, as they are related. Now, the
quick_add attribute accepts either a boolean or a form view id. This commit
changes the documentation of this attribute.
task-3286969
closesodoo/documentation#4707
Related: odoo/odoo#122923
Signed-off-by: Arnaud Joset (arj) <arj@odoo.com>
This commit introduces a date picker OWL component meant to handle the
following use-cases:
- date picker
- date & time picker
- date range picker
- date & time range picker
Basically, this component is the union of the two previous third-party
libraries handling these cases: TempusDominus and DateRangePicker.
New components introduced:
* The main addition of this commit is the `DateTimePicker` itself which
handles the display and interactions of the calendar and time pickers.
> see @web/core/datetime/datetime_picker
* The picker can then be coupled to an input using the
`useDateTimePicker` hook. The purpose of this hook is to handle events
on a given input element and syncronize its value to a date picker it
will spawn in a popover.
> see @web/core/datetime/datetime_hook
* Lastly, a simple `DateTimeInput` component will render an input and
call the hook mentioned above to handle it. This component is
effectively replacing the previous DatePicker and DateTimePicker
components (note that it does not handle range values).
> see @web/core/datetime/datetime_input
Another noticeable change of this commit is the definition of daterange
fields in views:
- Previously, the arch would have to define both fields
and bind them via their options, while also adding an arrow between
inputs or other forms of connection.
- In the new implementation, only the start date field must be declared,
and a date range can be spawned by providing an `end_date_field` in its
options.
Example:
```xml
<field
name="start_datetime"
widget="daterange"
options="{'end_date_field': 'end_datetime'}"
/>
```
warning Added limitations:
- this new way of declaring date ranges means that templates have been
revised to declare one field tag instead of two. This means that list
views using date ranges have lost the ability to be sorted on their end
date fields.
> Justification: the current use cases have been reviewed and it has
been decided that it was not needed to sort on the end date on the
affected list views.
> Workaround: drop the date range and declare both fields as simple date
pickers (i.e. without the end_date_field option).
- all modifiers applied to a field using a date range will be copied and
applied to the end date field. There is no way to define modifiers
specific to one field or the other.
> Justification: there was no use case where one of the two fields
needed specific modifiers.
> Workaround: same as the previous point: split the range into 2 simple
date picker fields.
Additional notes:
- the widget="daterange" is not mandatory in form views, but is required
in list views because only fields with explicit widgets will not be
rendered as simple <span> elements. The date range feature will be
available as soon as an end_date_field is specified.
- as the end date field is not explicitly defined in the view anymore,
any modifier depending on it need to have it defined as invisible
somewhere in the arch.
Task ID: 3121497
closesodoo/documentation#5013
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
This commit updates the documentation of JS fields:
- style and notation have been adapted to keep in line with the current
documentation writing guidelines;
- some outdated bits have been updated or removed (this is rather a
correction of misleading information than a proper update as no new
information has been added).
Part-of: odoo/documentation#5013
In chapter 13 the `property_ids` field is defined as the inverse of a
`user_id` field. But in chapter 8 when the salesperson field is added,
no such name is given to it.
This commit adapts the description to reference the general concept of
the field used to link to the salesperson instead of an actual field
identifier.
task-3381757
closesodoo/documentation#4913
X-original-commit: 3a131c829a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The attributes of fields of list views do not mention the `optional`
attribute while it is used by chapter 12 of the R&D Training.
This commit describes this `optional` attribute.
task-3380953
closesodoo/documentation#4912
X-original-commit: 5a446f5c59
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
The deploy documentation is assuming that `/etc/odoo.conf` is the
default config file, which is not the case.
With this commit, the configuration file references the cli
documentation.
closesodoo/documentation#4808
X-original-commit: 8aed7988ba
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
This commit adds some documentation for features recently added to SelectMenu
and TagsList components during the saas-16.3 development. A screenshot has
been provided to the advances use case of the SelectMenu, with a customization
of the bottom area of the dropdown, to create display a button allowing the
creation of items.
closesodoo/documentation#4631
X-original-commit: 0aad6eafda
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
This commit improves the structure of the accounting documentation by
- reducing the levels necessary to reach the information
- grouping some docs
- moving content to their parent category page (content in all levels)
- renaming some sections to reflect the structure of the app better
task-3330093
closesodoo/documentation#4479
X-original-commit: c68cc154ed
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
A complete guide on how to create a custom website theme for Odoo
closesodoo/documentation#4420
X-original-commit: 892fd3e2ac
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
This commit replaces a big chunk of the instructions relative to the
environment setup with a reference to the equivalent steps listed in the
contribution guide. It also moves the content of the "Create your first
PR" section from chapter 16 to chapter 2, as readers were struggling
with the Git configuration required to push their work to GitHub as they
progressed through the tutorial.
closesodoo/documentation#4413
X-original-commit: 26e12696c1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
A few links were already outdated. Either the referenced code was no
longer on the same line, or the file didn't exist anymore.
This commit freezes all links targeting a specific line on the odoo/odoo
repository by selecting a specific commit.
X-original-commit: 6e746c851f
Part-of: odoo/documentation#4282
Commits pushed on the odoo/tutorials repository are not automatically
forward-ported, which makes it cumbersome to keep all SaaS branches up
to date.
Because of this, and because Odoo developers are very unlikely to follow
tutorials specific to a SaaS branch, links to odoo/tutorials now target
the current major branch, or master if applicable. SaaS branches have
also been deleted from the odoo/tutorials repository.
X-original-commit: ce14b2cfb5
Part-of: odoo/documentation#4282
This commit splits the 7 chapters of the JS tutorial in two
smaller and more focused tutorials:
- a basic one (Discover the JS framework)
- and an advanced one (Master the odoo web framework)
closesodoo/documentation#4248
X-original-commit: b6b9de70d2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
In https://github.com/odoo/odoo/pull/114827, a new attribute was added in
calendar views to allow passing the id of a form view that is used internally
in the calendar module to show a different form view when quick_creating an
event.
task-3129030
closesodoo/documentation#4221
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
SQL view was formerly part of the dashboard tutorial which is now
obsolete. Since creating a SQL view as a tutorial does not make sense
anymore, it has been converted into a simple howto.
closesodoo/documentation#4035
Task: 3226581
X-original-commit: 7124542ed9
Signed-off-by: Tiffany Chang <tic@odoo.com>
Since odoo/enterprise#31641 the dashboard view no longer exists since it
is now replaced with spreadsheet_dashboard, therefore we remove it from
the backend Views documentation.
Task: 3226581
X-original-commit: e2c880aafe
Part-of: odoo/documentation#4035
The JavaScript cheatsheet is outdated, we therefore remove it and
replace it by multiple howtos:
- Create a view from scratch
- Extending an existing view
- Create a field from scratch
- Extend an existing field
- Create a client action
There is other subjects to introduce as the web framework is big. Other
future contributions will cover them.
closesodoo/documentation#4020
X-original-commit: 7e4435deb8
Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com>
This commit adds the documentation for core components that have
been improved or moved during the Studio refactor. Some new props
have been added, and the documentation is now present as expected.
Components involved:
- Notebook
- SelectMenu
- TagsList
closesodoo/documentation#4007
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The whole concept of multi-tenancy is not really approached within the
tutorial.
This commit adds a warning about never using mutable global variables
within odoo to seed the idea in the reader's mind.
task-3059110
closesodoo/documentation#3991
X-original-commit: 1ce7166f49
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
The allow_group_range_value option is used in one arch of a kanban in
CRM. We therefore believe that this is not standard behaviour.
So we decided to move this logic to the custom view that uses it.
closesodoo/documentation#3964
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
The extension adds two new directive:
- `cards` is the row container for one or more `card` directives.
- `card` is the implementation of a Bootstrap card that accepts a
`target` argument for the href of the card, a `large` option to render
the card on two columns, a `tag` option to display a single arbitrary
tag on the card, and arbitrary content that is shown in the card
body.
task-3141419
closesodoo/documentation#3689
X-original-commit: 34bc63d2bc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>