ODOO 16 has been basically stable since its release on October 16, 2022. Starting from 14, many widgets have been added using the OWL method. We have been familiarizing ourselves with the changes in the new version and working on implementation development. Now odoo16 can be fully commercialized in our project, and many of the original modules odoo16 have been migrated and upgraded.
odoo16 has made a lot of optimizations in the logic of the business process (too inhumane, a bunch of development to be rewritten!!). ), which is also basically completely refactored on the front end. The front-end js has gone through OWL1 to OWL2, and it turns out that the early single file was disassembled into a view = controller + render + model structure, which is more standardized (the most inhumane, not only to rewrite, but also difficult to get started...). ), OWL is refactored in the latest MVVM way. The performance has indeed been greatly improved, the interface is more user-friendly, and the operation is more convenient.
It took a lot of time to basically try all the widgets, odoo12 itself has more than 100 widgets, a small number of enterprise versions (self-help), many functions are very good, achieve a lot of desired effects. Under this brief organization, some instructions will be updated in the future.
The widget list is obtained from the Chatgpt code, and the code is shown at the bottom.
As for how to use widgets, if you can be interested in widgets, you should have some ability. In a word, "Odoo's source code is a treasure trove". Here is a screenshot of label_selection, originally to write a similar one, but found the source code and found it very useful. The regular ListView decoration can be used in different colors, but it is too obvious, and with this, there can be more obvious CSS styles in different states, and it can also be used in time under simple processing. For example, if there are 2 days left to expire, it will show red danger, and 5 days will show orange warning. Business documentary is a hard demand, very easy to use!!
Here are all the widgets of Odoo Community Edition and Enterprise Edition (if you find something else, welcome to add), there are many third-party ones, such as our ztree tree view and whatever, ha,Odoo Market is available here
Familiarity with widgets will allow you to upgrade quickly (of course, the first thing is to familiarize yourself with Odoo business functions, which is a long way off. After all, the official recommendation is to use python if you can use python, don't write a front-end if you have nothing to do!!
Odoo has 178 widgets
Community Edition widgets, 140 in total
Enterprise Edition widgets, 38 in total
Community Edition Widget | Community Edition Widget | Widgets used by Enterprise Edition |
CopyClipboardChar | many2one | account-tax-totals-field-for-withhold |
CopyClipboardText | many2one_avatar | appraisal_skills_one2many |
CopyClipboardURL | many2one_avatar_employee | bank_rec_html |
account-tax-totals-field | many2one_avatar_user | bank_rec_widget_form_lines_widget |
account_resequence_widget | many2one_barcode | bank_rec_widget_form_reco_models_widget |
account_type_selection | mass_mailing_html | bank_rec_widget_view_switcher |
ace | mondialrelay_relay | bankrec_many2one_multi_id |
activity_exception | monetary | barcode_handler |
analytic_distribution | mrp_consumed | boolean_toggle_confirm |
applicant_char | mrp_production_components_x2many | call_queue_switch |
attachment_image | mrp_should_consume | consolidation_dashboard_field |
autosave_many2many_tags | mrp_timer | deprec_lines_reversed |
background_image | mrp_workorder_popover | documents_many2many_tags |
badge | name_with_subtask_count | field_many2one_iot_scale |
binary | one2many | followup_trust_widget |
boolean | open_move_widget | fsm_product_quantity |
boolean_favorite | page_url | helpdesk_sla_many2many_tags |
boolean_toggle | payment | hierarchy_kanban |
char | pdf_viewer | iot_picture |
char_emojis | percentage | kanban.many2many_avatar_employee |
chatbot_steps_one2many | percentpie | many2many_tags_avatar |
chatbot_triggering_answers_widget | phone | many2one_avatar_resource |
color | pol_product_many2one | marketing_activity_graph |
color_picker | portal_wizard_user_one2many | payslip_line_one2many |
counted_quantity_widget | priority | plm_upd_qty |
dashboard_graph | profiling_qweb_view | properties |
date | progressbar | quality_domain_field |
daterange | project_private_task | set_reserved_qty_button |
datetime | project_state_selection | signature |
domain | question_page_one2many | social_post_preview |
radio | task_confirm_date_end_with_warning | |
embed_viewer | reference | timer_start_field |
event_icon_selection | remaining_days | timesheet_uom_hour_toggle |
filterable_selection | replenishment_history_widget | timesheet_uom_timer |
float | res_partner_many2one | twitter_users_autocomplete |
float_time | resume_one2many | worked_days_line_one2many |
float_without_trailing_zeros | sale_order_many2one | youtube_upload |
forecast_widget | sales_team_progressbar | |
gauge | section_and_note_one2many | |
grouped_view_widget | section_and_note_text | |
handle | section_one2many | |
hr_holidays_radio_image | selection | |
hr_org_chart | selection_badge | |
html | skills_one2many | |
iframe | slide_category_one2many | |
iframe_wrapper | sms_widget | |
image | so_line_field | |
image_radio | sol_discount | |
image_url | sol_product_many2one | |
integer | stat_info | |
kanban_activity | state_selection | |
kanban_vat_activity | statinfo | |
label_selection | status_with_color | |
lead_days_widget | statusbar | |
line_open_move_widget | stock_move_one2many | |
list_activity | stock_rescheduling_popover | |
loyalty_one2many | survey_description_page | |
mail_activity | task_with_hours | |
mail_followers | text | |
mail_thread | text_emojis | |
mailing_filter | timesheet_uom | |
many2many | timesheet_uom_no_toggle | |
many2many_alt_pos | timezone_mismatch | |
many2many_avatar_employee | upgrade_boolean | |
many2many_avatar_user | url | |
many2many_binary | video_preview | |
many2many_checkboxes | website_publish_button | |
many2many_tags | website_redirect_button | |
many2many_tags_email | website_urls | |
many2manyattendee | work_permit_upload |
以下的Widget 清单,由 ChatGpt编码得出,简单微调,代码如下
# -*- coding: utf-8 -*-
import os
import xml.etree.ElementTree as ET
def find_widgets_in_xml(file_path):
widgets = set()
try:
tree = ET.parse(file_path)
root = tree.getroot()
for elem in root.iter():
widget_value = elem.attrib.get('widget')
if widget_value is not None:
widgets.add(widget_value)
except Exception as e:
print(f"Error parsing {file_path}: {e}")
return widgets
def main():
# 这里放odoo 目录
odoo_addons_dir = 'D:\\odoo16-x64\\source\odoo\\addons'
all_widgets = set()
for subdir, dirs, files in os.walk(odoo_addons_dir):
for file in files:
if file.endswith(".xml"):
file_path = os.path.join(subdir, file)
widgets_in_file = find_widgets_in_xml(file_path)
all_widgets.update(widgets_in_file)
print("All unique widgets found:")
for widget in sorted(all_widgets):
print(f"{widget}")
if __name__ == "__main__":
main()
常用Widget使用教程
|
|