summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views
AgeCommit message (Collapse)Author
2020-10-19[FIX] web: correct count of dayMartin Trigaux
Introduced at 2f67881d4517b78 Taken an event with start_date: 2020-10-01 stop_date: 2020-10-02 allday: True The date was displayed as "01/10 - 03/10 (2 days)" instead of "01/10 - 02/10 (2 days)" closes odoo/odoo#60062 X-original-commit: 68774135ad827ff4d9fc678ce8e839a717459623 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2020-10-15[FIX] web: calendar widget has undefined attrsnie
Backport of #59876 closes odoo/odoo#60124 X-original-commit: 5d4ae907934b90dda4ac9fb3b5080e632b677219 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com> Signed-off-by: backspac <backspac@users.noreply.github.com>
2020-09-28[FIX] sale_timesheet, web: disable autofocus on create invoce actionKamesh Patel
Before this commit: The date range widget opened by default when the 'create invoices' the wizard is opened. because the default focus is 'Timesheets Period' field. After this commit: Disable autofocus on 'create invoice' action, after this changes The date range widget is not opened by default when the 'create invoices' the wizard is opened. Task-2344289 closes odoo/odoo#58676 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-10-14[FIX] web: fetching reference fields' name_get batched in grouped listLucas Perais (lpe)
Commit e10fd34682a0c55568cba66eb271b3aa5bed7c1d introduced batched reference fields name_gets across groups but was also buggy as follows: Have a grouped list view showing at least 2 groups Have a reference field with different values showed in the list for each record Before this commit, the name_get of those reference fiels were fetched only for the last group After this commit, the name_get are fetched in a batched fashion (by model) for each group and display correctly closes odoo/odoo#59903 X-original-commit: bbb608a1eff638040f0fc7b951fedf1579cc15b2 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2020-10-13[FIX] web: Find key in stringified JSONnie
Steps to reproduce the bug: - In Projects, switch to the calendar view - Click a task Bug: Traceback here: https://github.com/odoo/odoo/blob/7ba47e7215df69b6556a848532e4f33ef4243e83/addons/web/static/src/js/fields/basic_fields.js#L2181 TypeError: Cannot use 'in' operator to search for 'invisible' in {} Explanation: We could change the inherited model of CalendarView from AbstractView to BasicView but it would be adding 400 lines of code to every calendar view. So, for now, and to keep it simple, we just parse the modifiers where it's needed to. opw:2352436 opw:2352890 opw:2354039 closes odoo/odoo#59867 X-original-commit: 422c52a0823b1a53eeb974e76d08a44cacf4ea0a Signed-off-by: backspac <backspac@users.noreply.github.com> Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-10-06[FIX] web: load_filters in search dialogsPaul Morelle
Since fbf347498f1cc7b74ef373179b7bcae201715c24, when opening a view in a dialog, the favorite filters were not loaded. For example on the runbot: 1. In CRM, open any lead, edit it, and open the Customer dropdown 2. Create a custom filter, save it as favorite, and close the dialog 3. Open the dialog again: you don't see your new filter With this commit, you will see your filter at step nr. 3 closes odoo/odoo#59180 X-original-commit: 418013e8dbb2aa2d4ffd4f650f080ca5a94183f9 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Paul Morelle <madprog@users.noreply.github.com>
2020-10-02[FIX] web: reference field calls name_createSimon Genin (ges)
An older commit (50bf8309) had refactor part of the basic field _applyX2ManyOperations. During this refactor, the reference field was forgotten to be included in a condition that made the field no longer do the quick create behavior. The name_create function in the backend was no longer called. Adds a test for the reference field checking the call to the name_create function and fixes the problem. Task id 2322048 closes odoo/odoo#59013 X-original-commit: e7d4baa3d52dc73c9631365801fbe41a4d54e3a1 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-10-02[FIX] kanban: adding context when editing columnJorge Pinna Puissant
Before this commit, when editing a column in a kanban view, in project for instance, the translations weren't loaded. Now, the translations are correctly loaded. opw-2340125 closes odoo/odoo#58981 X-original-commit: e95ed1253817beccb76d1fbd55b1318b3d65cfe5 Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2020-09-24[FIX] web: Props validationJulien Mougenot
Established the proper props validation on the search panel component. closes odoo/odoo#58436 Related: odoo/enterprise#13513 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-09-15[FIX] web: list: call mounted on subcomponents at reloadAaron Bohy
Issue was spotted in list views containing the "badge" widget with decorations (e.g. in the Purchase Order list view). At first, the decorations were correctly applied, but they weren't anymore after a reload (e.g. after toggling a filter). They weren't because the list renderer didn't called 'on_attach_callback' on its subwidgets at reload (thus, 'mounted' wasn't called on its subcomponents, and the decorations are applied in the mounted hook). This commit moves the logic from the FormRenderer to the BasicRenderer, so that it applies on List, Kanban, and Form views. This commit also removes the transition scss rule on the badge field widget as it caused a flickering at reload. Task 2336440 closes odoo/odoo#57762 X-original-commit: 713bce22e8f412f2c26e663b9e30fdd64933ff0c Signed-off-by: Michaël Mattiello <mcm-odoo@users.noreply.github.com> Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-09-11[FIX] web: blank value in many2many_tags for multi_edit popupMohammed Shekha
Let's assume a list that is multi editable and contains a m2m field displayed with widget many2many_tags. Moreover, there are enough values in the comodel s.t. the 'Search More' option is available in the many2many_tags dropdown, and field 'display_name' isn't in the list view that opens in dialog. Enter multi-edition, edit the many2one field to add a value (click on 'Search More', and pick a value from the list): the picked value isn't correctly displayed in the confirmation dialog. The issue occurred because we didn't wait for the display_name to be fetched before opening the dialog. Task : 2150384 closes odoo/odoo#57481 X-original-commit: ccf5834045d8b4fff9af7ddf60814c3a640e8318 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Co-authored-by: Dhruv Patel <dhp@odoo.com>
2020-09-09[FIX] web: no more double discard dialogDhruv Patel
This issue only occurred in community. Steps to produce: 1) Create/Edit any record. 2) Change the menu using menu switcher 3) You will get the discard dialog at the instance and after some time it will also display another duplicate discard dialog. So, we have one extra redundant discard dialog on menu switching. It is working fine when we have dirty form and then click on the breadcrumb or click on any internal child menu. Task : 2312437 closes odoo/odoo#57343 Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com> Co-authored-by: Mohammed Shekha <msh@odoo.com> Co-authored-by: Aaron Bohy <aab@odoo.com>
2020-09-09[FIX] web: kanban quick create: fix raise conditionAaron Bohy
Let's assume a kanban view using a custom form view to quick create record: <kanban on_create="quick_create" quick_create_view="view_ref"> Before this commit, there was a raise condition that could lead to a crash. For instance, click to quick create a record in a given column, and while the form view is loading, fold the column. Issue reported on task 2323196 closes odoo/odoo#57318 X-original-commit: 9fed69b9e0e13652fd17e9a7c7c8dd838e2f22ed Signed-off-by: Michaël Mattiello <mcm-odoo@users.noreply.github.com> Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-09-04[FIX] web: avoid displaying noContentHelper after kanban quick_createLucas Perais (lpe)
Have a kanban with a filter Quick create a record in one column that won't match the domain Before this commit, the noContent helper was displayed. This was because the count of the group was reset to zero after the web_read_group call. After this commit, the noContent helper is not displayed. Note that in the quick_create situation, the records are not re-fetched i.e. there is no search_read after the read_group. Task-id 2251734 closes odoo/odoo#57066 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-09-04[FIX] web: list: do not call on_attach_callback at reloadAaron Bohy
Before this commit, the ListRenderer's on_attach_callback hook was called each time the view was reloaded, even though the renderer was already in the DOM. As a consequence, sub components were mounted several times, which could lead to issues. For instance, go to Inventory > Operations > Transfers, create a new one. Change the Operation Type to a Receipt, and change again to a Delivery: it crashed. Task 2315149 Closes #56701 closes odoo/odoo#57099 X-original-commit: 78f361fb5382e4c7aed9a4e705e20f8d8757300d Signed-off-by: Julien Mougenot (jum) <jum@odoo.com> Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-09-03[FIX] web: form: Archive action when field not in viewAaron Bohy
Before this commit, when being in a form view without active field (the field is defined on the model, but not present in the view), the action "Unarchive" was available in the Actions menu, even though the record was actually active. The issue has been introduced by [1]. This commit restores the previous behavior: when the active field isn't in the view, the Archive/Unarchive action isn't available in the Actions menu. [1] 220eb4db391d8ba49dd26bdd3d8af1c27b433d78 closes odoo/odoo#57038 X-original-commit: 97b70aab69b491443d862847fbff69c4e29274af Signed-off-by: Julien Mougenot (jum) <jum@odoo.com> Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-09-01[FIX] web: do not display nocontent help if emptyMohammed Shekha
Have an action which help field has the value: ``` <p></p> ``` Display an empty list or kanban Before this commit, the nocontent helper was displayed even though there was nothing to display. After this commit, an empty html tag is the same as an empty string, so the helper is not displayed. task-2320318 closes odoo/odoo#56875 X-original-commit: 3d6bdc5b01a4a94de9baa9bae230e6b34f38dbc9 Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2020-08-25[IMP] web: do not resize quick create form on window resizeMohammed Shekha
The quick create form view is explicitly given the o_xxs_form_view class at initialization but resizing the window sometimes changes that class on form element in enterprise. To avoid this in the quick create case, the method _applyFormSizeClass has been overriden in QuickCreateFormRenderer in order to do nothing when the window is resized, so that the class and the related style stay the same as expected. Task ID: 2317807 closes odoo/odoo#56517 X-original-commit: f9c605ea578267de17e6c1dcc69dfd179d5d95fe Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2020-08-25[FIX] web: open list optional fields dropdown position to right placeHardik Prajapati
before this commit, when there are too many fields on list view and list view has horizontal scroll opening optional dropdown does not open on right place, instead it opens bit left side from the right. this commit fixes the issue by appending dropdown div inside table element, as scrollbar comes inside table element, so appending dropdown element inside table just after dropdown toggler. task-2307248 closes odoo/odoo#56509 X-original-commit: 5a044593ba1f8f08f72de502d77823a8dd5175a0 Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com> Co-authored-by: Mohammed Shekha <msh@odoo.com>
2020-08-20[REF] web: BasicModel: combine default_get and onchangeLucas Perais (lpe)
This commit adapts the BasicModel to combine calls to `default_get` and (first) `onchange`. When creating a new record, we now only call `onchange`, which thus return default values and potential onchange values. Tests (and the MockServer) have been adapted accordingly. NOTE 1. If the `default_get` within the `onchange` returns a value for a field that is not in the view, we ignore it, and it won't be saved. Before, that value was kept and sent upon save. This change in behavior may prove problematic, although the overall risk is small. Decision has been made to keep heavy comments and code snippets if we were to revert back somehow to the previous situation. NOTE 2. Putting a context on a many2one field may change the value returned by `name_get` for that field. By default, the calls to `name_get` are done by `onchange`. If the context on a field must be used for `name_get`, one has to set the option `always_reload` to `True` on the field. In that case, every `onchange` that changes the value will trigger an extra `name_get`. NOTE 3. Suppose that a one2many field has a list view with field A, and a form view without field A. When adding a line, we now send all known fields (main view and inline views) to the `onchange`, which may return a default value for A. The value will appear on the list view, but not in the form view. The former behavior was to call `default_get` with the fields that occur in the form view only, and therefore field A would be left to value `False`. NOTE 4. A test surprisingly adds an extra call to `read`. The test was actually wrong before. With the changes in MockServer, we now correctly receive a command `[6, false, [1]]`, whereas before we received `[1]`, which isn't a valid command, and which was ignored. As a consequence, an extra `read` is done, whereas the test asserts it shouldn't. But it already didn't work before (I checked by sending the correct command). This needs to be bugfixed elsewhere (task-id-2323491): in a o2m with a onchange and default order records on an other page than the first should not trigger a `read`. Task 2261084 Co-authored-by: Raphael Collet <rco@odoo.com> Co-authored-by: Aaron Bohy <aab@odoo.com>
2020-08-20[IMP] web: set focus to first visible page when active page invisibleMohammed Shekha
Before this commit: if there are modifiers based on field which hides one page and show another and if active page get invisible then instead of first page second page gets focus, consider following example, `<form> <field name="boolean"/> <page name="page1" attrs='{"invisible": [["bar", "=", false]]}'></page> <page name="page2" attrs='{"invisible": [["bar", "=", true]]}'></page> <page name="page3"></page> </form>` Consider the initial boolean value to be true; initially the first page will be visible. But when "bar" is unchecked then page1 will be hidden and page3 will get the focus as page2 is still not visible: it will be after the computaion/application of all modifiers, which is currently done after the rendering of a tab page. Now: the first visible tab is focused on rendering (same as before) but also after all modifiers have been updated. closes odoo/odoo#56209 X-original-commit: 10365572aa3629e9b19d2b29726b351275de9f52 Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com> Co-authored-by: Ipsita Borisagar <ibo@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com>
2020-08-18[IMP] web: Improve kanban quick create keynavJulien Mougenot
The "quick create" form now renders the kanban quick_create buttons on its own. This means that the form handles them as regular form buttons, hence including them in its keyboard navigation. Part of task: 2314864 closes odoo/odoo#55787 Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com>
2020-08-18[IMP] web: manage invisible fields in graph and pivot viewJérémy Hennecart
PURPOSE Be able to remove some measures from graph / pivot views. Currently fields are automatically added but some of them make no sense. SPECIFICATIONS Add the possibility to not display some fields in the measures dropdown for the graph and pivot views. When a field is not displayed in the measures of a pivot views we remove them also from the list of groupable fields. LINKS Task ID-2288381 Community PR #54774 Enterprise PR odoo/enterprise#11970 Upgrade PR odoo/upgrade#1519
2020-08-14[IMP] web: support action helper on gantt viewDhruv Patel
Currently, only List and Kanban view supports the action helper and display the folder icon with the helper text. With this commit we have also provided the action helper support for other views. The logic for no content helper has been moved in abstract_renderer.js so that it can be accessed by all views. This was done mainly to give the action helper to the gantt view. closes odoo/odoo#53902 Task: 2284779 Related: odoo/enterprise#11563 Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com> Co-authored-by: Mohammed Shekha <msh@odoo.com>
2020-08-17[IMP] web: kanban: archive last column recordsHarpritsinh Sisodiya
Before this commit, the action helper (if any) was not displayed when archiving all records of the last non empty column of a kanban view (making empty that view). With the present commit, the action helper is now correctly displayed in that situation. Task ID: 2247788 closes odoo/odoo#50557 Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com> Co-authored-by: Mohammed Shekha <msh@odoo.com>
2020-08-14[FIX] web: pivot non-persistant on null valueNicolas Lempereur
In pivot view, a cell data is determined by his row/column key which are the value chain of field values to get to that row/column. If you had a grouping with value in a cell and then close the grouping, you could somehow get the old value back wrongly on next grouping operations. This happened because: - the key was computed based on the value (eg. for relational field the record ID) but without the field name. - succeeding read_group only fill existing values. eg. If on pivot view we had a salesperson with same ID as product category, if we closed salesperson grouping then opened product category grouping, we could possibly get the cell value to the product category that has the same ID as the salesperson. With this changeset, we clear the cell data corresponding to a grouping that has been closed. Added test without the fix would fail by displaying data of a previous read_group that should have been cleared inbetween. opw-2262306 closes #55129 closes odoo/odoo#55936 X-original-commit: f1df73adca4955561814d4b8e90a62d7d50c1c33 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-08-14[FIX] web: pivot: avoid to toggle invalid measureMathieu Duckerts-Antoine
Before this commit, click on the divider in the menu 'Measures' of the pivot control panel would cause a crash. The present commit fixes that situation. We also bring another small correction: the menu won't close if one clicks on the measure list but not exactly on a menu item or the divider. closes odoo/odoo#55902 X-original-commit: aad9f3fd7499ef8b660cc25fea840a34d70f75a6 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com> Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-08-12[IMP] web: sample data in dashboard viewMathieu Duckerts-Antoine
A previous commit has paved the way for displaying sample data in the reporting views. The present commit brings the required changes in community to have sample data in dashboard views. Task ID: 2282196 Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-08-12[IMP] web: sample data in pivot viewAaron Bohy
A previous commit has paved the way for displaying sample data in the reporting views. The present commit brings the required changes to have sample data in pivot views. Task ID: 2282196 Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-08-12[IMP] web: sample data in graph viewMathieu Duckerts-Antoine
A previous commit has paved the way for displaying sample data in the reporting views. The present commit brings the required changes to have sample data in graph views. Task ID: 2282196 Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-08-12[IMP] web: sample data in reporting views (preparatory work)Mathieu Duckerts-Antoine
The present commit brings the global changes necessary to have sample data in the reporting views. This includes several modifications/ fixes of the sample server (many of them for better visual results). Task ID: 2282196 Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>
2020-08-12[REF] web,purchase: SampleServer: mock registryAaron Bohy
This commit changes the API of the SampleServer's mock registry s.t. one can register a mocked version of a method, whatever the model. The former API required a specific model to be specified, and only applied on this model. However, in order to enable the sample data feature on the cohort view, the 'get_cohort_data' method needs to be mocked, whatever the concerned model. One can now register mocked methods for a specific model only (with key 'model/method') or for every models (with key 'method'). Task ID: 2282196
2020-08-12[IMP] web: sample data: generate better activitiesAaron Bohy
The SampleServer picks a random value for selection fields. As a consequence, field 'activity_exception_decoration' is always set, either to 'warning' or 'danger'. When this field is set, widget 'ListActivity' (set on 'activity_ids') displays 'Warning', whatever the value of 'activity_ids'. This means that with sample data, the next activity field always displays "Warning", which is not great. This special case has been handled in web, as it is the first (and only) one. In the future, if we have to implement several special cases like that, we'll setup a proper hook to allow external modules to define them from the outside. Task 2316726 closes odoo/odoo#55703 Signed-off-by: Mathieu Duckerts-Antoine <Polymorphe57@users.noreply.github.com>
2020-08-11[FIX] web: Filter with domain disables category countersJulien Mougenot
Before this commit, the search panel was subject to some inconsistencies when dealing with a category having enabled counters and with a filter defining a "domain" attribute. Indeed, the counters could be in an incorrect state if the right filters/categories were not loaded first, with no simple way in doing so. The search panel being complex enough as it is, we decided to disable all categories' counters in the presence of a filter having a "domain" attribute regardless of said domain. closes odoo/odoo#55734 X-original-commit: e78f777bd8ccb314b85451cbc8d1dd9109997d7a Related: odoo/enterprise#12341 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-08-11[IMP] web: remove popup on clickMichael Mattiello (mcm)
This commit adds a event listener on window to close calendar popup when click anywhere outside this popup. Task: 2193921
2020-08-11[IMP] base,web: add scales param to calendarMichael Mattiello (mcm)
This commit adds the parameter `scales` in the calendar view's template. This parameter can be used to choose which mode(s) is/are allowed. This commit also refactors the way we manage calendar scales. Before scales were defined in model and renderer, now it's defined in the view and given to model, controller and renderer by params. Task: 2193921
2020-08-11[REF] web: rework calendar's styleMichael Mattiello (mcm)
This commit reworks the mini calendar's style to make it look like the months in year mode. It also reworks the style of the calendar's popover in modes day, week and month to reduce the differences with the year popover. Task: 2193921
2020-08-11[IMP] base,web: add year scale to calendarMichael Mattiello (mcm)
This commit adds a new year scale to the calendar view. It comes with a new view in the calendar, this view displays a 4x3 grid which cells are month views. Task: 2193921
2020-08-11[REF] web: optimize a bit calendar viewMichael Mattiello (mcm)
This commit optimizes calendar view especially for year mode - remove/add events has replaced by an event source and refetch. - do not re-render events when navigating date Task: 2193921
2020-08-11[IMP] hr_holidays: Improve the general usability (back2basics)Yannick Tivisse
closes odoo/odoo#55568 Taskid: 2282495 Related: odoo/upgrade#1574 Related: odoo/enterprise#12272 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-10[FIX] web: MEASURES button disappearing when switching back to graphHarpritsinh Sisodiya
before this commit, when change view from graph view to pivot view or any other view and come back to graph view, Measures button disappear, it's only appearing if we refresh the page. after this commit, restore previous view state when switching back to graph view, this was because measures button is rendered in fragment and when switching between views, as graph view element was destroyed and re-rendered so measures button will be mounted in fragment as update method of ComponentWrapper will render it from previous mountArgs, so to avoid this issue push measures element in DOM. task-2250051 closes odoo/odoo#55666 X-original-commit: 40c709fb0abe7721d1650af9bd1d17dc8453895a Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mohammed Shekha <msh@odoo.com>
2020-08-10[FIX] web: Correctly transmit fields to the control panelJulien Mougenot
Before this commit, the "fields" object given to the control panel was altered by the view (e.g. dashboard populates it with its aggregates). As a result the control panel and its subcomponents had an altered object with more or less fields than expected. Now, the initial "fields" object is given to avoid such problems. Task 2312074 closes odoo/odoo#55640 X-original-commit: 472b314614dc3dd9db880f4cb60c2eda89cce6b4 Related: odoo/enterprise#12310 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-08-04[FIX] web: Deep copy state exported by search panelJulien Mougenot
Having maps in its state, the search panel has to serialise its state before sending it via exportState. Before this commit, this was done on the state object in place, causing issues if the model was restored without an imported state (no re-serialisation hence having a wrong state). Now, the exported object is deep-copied from the original state. Task 2312131 closes odoo/odoo#55393 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-08-05[FIX] web: form: prevent from calling mounted twiceMichael Mattiello (mcm)
With this commit, the FormRenderer no longer directly extends the WidgetAdapterMixin. It doesn't need to as its parent class (the BasicRenderer) already uses it. Worse, they both called WidgetAdapterMixin.on_attach_callback, and thus mounted was called twice on Components in form views. closes odoo/odoo#55401 X-original-commit: 4c627abd310a131a4828e9ee6be451aeee4708db Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-08-04[IMP] web: Do not store search panel categoriesJulien Mougenot
This commit handles two things: 1) Move the local storage logic of the search panel into the documents module. 2) This allows for a variety of optimisations now that we do not have to constantly wait for a potential default value hidden in the storage. This is why this commit also introduces a way for the search panel model extension to sometimes return its query informations sooner than after being completely loaded. Task 2284207
2020-08-04[IMP] web: Optimize action model loadingJulien Mougenot
The loading of the action model extensions have been split in this commit: - when calling load, a first promise is returned. It is meant to be resolved as soon as all the query informations are available. - a second promise returned by a new method "isReady" is resolved when all of the extension data have been fetched. This difference allow to not wait for server calls irrelevant for the query. By default "isReady" will always wait for a full load call, but this is meant to be overridden in case optimisations can be made.
2020-07-29[IMP] web, base: action buttons in list's controlPanelLucas Perais (lpe)
This commit introduces a new semantics to define action and method buttons in the list view. The aim of this feature is to be able to do some actions on selected records, or on the entire records' domain with the help of buttons located in the controlPanel, much like the form view header buttons. To define such buttons, one must add a `header` node in the list view's xml definition ``` <tree> <header> <button type="action|object" name="actionId|methodName" string="button's text" context="{}"/> </header> <field name="fieldName" /> </tree> ``` task-2246383
2020-07-27[FIX] web: list: hide export button when list emptyHardik Prajapati
Before this commit, at first rendering, the export button was displayed in the list view even if the list was empty. The issue occurred because at first rendering, the buttons aren't moved inside the control panel yet (this is done in the 'mounted' hook of the control panel). As we render in a fragment, the hook is called later on, when everything is ready and inserted into the DOM. We'll get rid of these painful manipulations as soon as everything will be converted to OWL. Task 2294306 closes odoo/odoo#54307 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-07-24[IMP] web: change list view's groups styleMichael Mattiello (mcm)
This commit changes a bit the style of groups in list view * reduced padding-top/bottom of group headers to 5px * increased the padding-left by 2px of carets to align them with selection checkboxes (in enterprise) Task 2301397 ENT PR: https://github.com/odoo/enterprise/pull/11955 closes odoo/odoo#54736 Related: odoo/enterprise#11955 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-07-23[IMP] *: adapt modules to Owl search panelJulien Mougenot
Adaptation of the rest of the environment to the changes regarding the refactored search panel and model. This commit includes the following changes: - Since the control panel model is now part of the search model, the view widget is responsible of its instantiation with the appropriate API; creating an ActionModel holding the required model extensions. - The controller is now importing/exporting the state of the entire search model as well as the current state of the search panel (given throught its props). Changes have been made to adapt to this behaviour. - The multiple components linked to the control panel model have been adapted to reflect the changes brought to it (they will now listen to the "searchModel" instead of the "controlPanelModel"). - The `test_utils_create` methods have also been adapted to properly instantiate a searchModel Part of task 2228968 Co-authored-by: Julien Mougenot <jum@odoo.com> Co-authored-by: Mathieu Duckerts-Antoine <dam@odoo.com>