TIP: You can type at any time to perform a new search.
POS Self Order
pos_self_order · odoo/odoo
Security findings
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Sales/Point Of Sale
- Folder size
- 5.16 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-10-05 00:19:47
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Xavier ALT, Raphael Collet, Odoo Translation Bot, Aaron Bohy, Géry Debongnie, Lucas Perais (lpe), Julien Castiaux, Victor Feyens, Adrien Dieudonné, Julien Mougenot, Tiffany Chang (tic), Gorash, Pierre Paridans, william-andre, Mathieu Walravens, luvi, rhe-odoo, David Monnom (moda), tsm-odoo, Pedram (PEBR), Mahamadasif Ansari, amdi-odoo, Dylan Kiss (dyki), tong-odoo, Brieuc-brd, Sarah Bellefroid, Louis Travaux, Adrien Guilliams (adgu), omra-odoo, Chrysanthe (chgo), sami odoo, Harsh Shah, Parth Solanki[PASO], manv-afk, Max Whale, parp-odoo, Loukas Wets (lowe), yaso, Xavier Luyckx (xlu), paan-odoo, Jitendra Prajapat, David Monnom, Arthur Nanson, Pierre Pulinckx, Michaël Mattiello, Mahdi Alijani (malj), Krzysztof Magusiak (krma), Ajit Singh, zadh-odoo, vpan-odoo, dhruv, vlst-odoo, Radu Macocian (admac), Guillaume V, Meet Jivani [MEJI], Hadi El Yakhni, bhra-odoo, romc-odoo, sjai-odoo, Julien Launois (jula), Saurabh, Nisarg (nipl), Ravij Parikh, Traina Ludo, rpka-odoo, Stephane Vanmeerhaeghe (stva), Youssef (yoma), Léopold Cantraine, Eve Lin (evlin), abhk-odoo, Youssef (abyo), Nikita Desai, mson-odoo, ELCO, adgu-odoo, Shubham Agarwal, Shubham Agarwal(shag), jipr-odoo, Abhishek Khant, Vedant Pandey (vpan-odoo), Julien Coppin (jucop), jean (jebou), nby, Jean Schoenlaub, pusu-odoo, Aditi Pawar(adpaw), Ahmed Hamila
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- l10n_id_pos_self_order_qris, pos_online_payment_self_order, pos_self_order_bancontact_pay, pos_self_order_event, pos_self_order_pine_labs, pos_self_order_qfpay, pos_self_order_razorpay, pos_self_order_sale, pos_self_order_sms
- Description
Code Analysis
Views touched (18)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
custom_link_tree |
custom.link.list | pos_self_order.custom_link | list | New |
pos_config_view_form_inherit_pos_self_order |
pos.config.form.inherited.pos.self.order | pos.config | form | Inherits point_of_sale.pos_config_view_form |
pos_self_order.DynamicQrReceipt |
pos_self_order.DynamicQrReceipt | ir.ui.view | qweb | New |
pos_self_order.index |
POS Self Order | ir.ui.view | qweb | New |
pos_self_order.pos_order_change_receipt |
pos_self_order.pos_order_change_receipt | ir.ui.view | qweb | Inherits point_of_sale.pos_order_change_receipt |
pos_self_order.pos_order_receipt_header |
pos_self_order.pos_order_receipt_header | ir.ui.view | qweb | Inherits point_of_sale.pos_order_receipt_header |
pos_self_order_menu_item |
pos.config.kanban.view.inherit.self_order | pos.config | kanban | Inherits point_of_sale.view_pos_config_kanban |
pos_self_order_product_pos_category_form_view |
pos.self.pos.category.form.view | pos.category | form | Inherits point_of_sale.product_pos_category_form_view |
pos_self_order_search_view |
pos.self.order.search.view | pos.config | search | Inherits point_of_sale.view_pos_config_search |
pos_self_order_table_form_view |
Restaurant Table | restaurant.table | form | Inherits pos_restaurant.view_restaurant_table_form |
pos_self_view_pos_config_tree |
pos.self.pos.config.list.view | pos.config | list | Inherits point_of_sale.view_pos_config_tree |
product_template_form_view |
product.template.form.inherit | product.template | form | Inherits product.product_template_form_view |
product_template_search_view_pos |
product.template.search.pos.form | product.template | form | Inherits point_of_sale.product_template_search_view_pos |
product_template_tree_view |
product.template.list.self.order.inherit | product.template | list | Inherits point_of_sale.product_template_tree_view_point_of_sale |
qr_codes_page |
qr_codes_page | ir.ui.view | qweb | New |
res_config_settings_view_form_menu |
res.config.settings.view.form.inherit.pos_self_order.view | res.config.settings | form | Inherits point_of_sale.res_config_settings_view_form |
view_pos_preset_form |
pos.preset.form | pos.preset | form | Inherits point_of_sale.view_pos_preset_form |
view_pos_preset_tree |
pos.preset.list | pos.preset | list | Inherits point_of_sale.view_pos_preset_tree |
HTTP endpoints (17)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/pos-self/data/<config_id> |
PosSelfKiosk.get_self_ordering_data |
public | jsonrpc | ALL | website |
/pos-self/<config_id>, /pos-self/<config_id>/<path:subpath> |
PosSelfKiosk.start_self_ordering |
public | http | ALL | website |
/pos-self-order/change-printer-status |
PosSelfOrderController.change_printer_status |
public | jsonrpc | ALL | website |
/pos-self-order/get-order/<int:order_id> |
PosSelfOrderController.get_order |
public | jsonrpc | ALL | website |
/pos-self-order/get-user-data |
PosSelfOrderController.get_orders_by_access_token |
public | jsonrpc | ALL | website |
/pos-self-order/get-slots |
PosSelfOrderController.get_slots |
public | jsonrpc | ALL | website |
/pos_self_order/kiosk/increment_nb_print/ |
PosSelfOrderController.pos_kiosk_increment_nb_print |
public | jsonrpc | ALL | website |
/pos-self/ping |
PosSelfOrderController.pos_ping |
public | jsonrpc | ALL | |
/pos-self/autocomplete/address |
PosSelfOrderController.pos_self_order_autocomplete_address |
public | jsonrpc | POST | sudo website |
/pos-self/autocomplete/address_full |
PosSelfOrderController.pos_self_order_autocomplete_address_full |
public | jsonrpc | POST | sudo website |
/kiosk/payment/<int:pos_config_id>/<device_type> |
PosSelfOrderController.pos_self_order_kiosk_payment |
public | jsonrpc | ALL | website |
/kiosk/payment_method_action/<action> |
PosSelfOrderController.pos_self_order_kiosk_payment_method_action |
public | jsonrpc | ALL | website |
/pos-self-order/receipt/<int:order_id> |
PosSelfOrderController.pos_self_order_receipt |
public | http | ALL | sudo |
/pos-self-order/process-order/<device_type>/ |
PosSelfOrderController.process_order |
public | jsonrpc | ALL | sudo website |
/pos-self-order/remove-order |
PosSelfOrderController.remove_order |
public | jsonrpc | ALL | website |
/pos-self-order/validate-partner |
PosSelfOrderController.validate_partner |
public | jsonrpc | ALL | sudo website |
| (inherited route override) | WebManifest.scoped_app_icon_png |
inherited | http | ALL |
Models touched (24)
New fields (0)
No new fields.
Public methods (1)-
get_nearest_lang(self, lang_code: str) -> str@api.model
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (14)
-
has_paperBooleandefault=True args: 'Has paper' -
self_ordering_available_language_idsMany2many → res.langdefault=_self_order_kiosk_default_languageshelp='Languages available for the kiosk mode'string='Available Languages' args: 'res.lang' -
self_ordering_default_language_idMany2one → res.langdefault=<expr>help='Default language for the kiosk mode'string='Default Language' args: 'res.lang' -
self_ordering_default_user_idMany2one → res.usersdefault=_self_order_default_userhelp='Access rights of this user will be used when visiting self order website when no session is open.'string='Default User' args: 'res.users' -
self_ordering_image_background_idsMany2many → ir.attachmentbypass_search_access=Truehelp='Image to be displayed in the background'relation='pos_self_order_background_rels'string='Set background image' args: 'ir.attachment' -
self_ordering_image_brandImagehelp='Image to display on the self order screen'max_height=250max_width=1200string='Self Order Kiosk Image Brand' -
self_ordering_image_brand_nameCharhelp='Name of the image to display on the self order screen'string='Self Order Kiosk Image Brand Name' -
self_ordering_image_home_idsMany2many → ir.attachmentbypass_search_access=Truehelp='Media items to display on the self order screen'string='Add Media' args: 'ir.attachment' -
self_ordering_modeSelectiondefault='nothing'help='Choose the self ordering mode'required=Truestring='Self Ordering Mode' args: [('nothing', 'Disable'), ('consultation', 'QR menu'), ('mobile', 'QR menu + Ordering'), ('kiosk', 'Kiosk')] -
self_ordering_pay_afterSelectiondefault='meal'help='Choose when the customer will pay'required=Trueselection=<expr>string='Pay After:' -
self_ordering_primary_colorChardefault=<expr>string='Color' -
self_ordering_service_modeSelectiondefault='counter'help='Choose the kiosk mode'required=Truestring='Self Ordering Service Mode' args: [('counter', 'Pickup zone'), ('table', 'Table'), ('dynamic_qr', 'Dynamic QR')] -
self_ordering_urlCharcompute='_compute_self_ordering_url' -
statusSelectioncompute='_compute_status'store=Falsestring='Status' args: [('inactive', 'Inactive'), ('active', 'Active')]
-
action_close_kiosk_session(self) -
action_open_wizard(self) -
close_ui(self) -
create(self, vals_list)@api.model_create_multi -
get_dynamic_qr_url(self, order_id: int) -> str -
get_kiosk_url(self) -
get_pos_qr_order_data(self) -
has_valid_self_payment_method(self)Checks if the POS config has a valid payment method (terminal or online). -
load_onboarding_kiosk_scenario(self)@api.model -
load_self_data(self) -
notify_session_state_changed(self) -
preview_self_order_app(self) -
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (3)
-
self_ordering_table_idMany2one → restaurant.tablereadonly=Truestring='Table reference' args: 'restaurant.table' -
sourceSelectionselection_add=[('mobile', 'Self-Order Mobile'), ('kiosk', 'Self-Order Kiosk')] -
table_stand_numberCharstring='Table Stand Number'
-
action_pos_order_cancel(self) -
action_send_self_order_receipt(self, email, mail_template_id, ticket_image, basic_image) -
cancel_order_from_pos(self) -
recompute_prices(self) -
remove_from_ui(self, server_ids)@api.model -
sync_from_ui(self, orders)@api.model
New fields (1)
-
combo_idMany2one → product.combostring='Combo Reference' args: 'product.combo'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
New fields (0)
No new fields.
Public methods (1)-
order_receipt_generate_data(self, basic_receipt=False)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (16)
-
available_in_selfBooleandefault=Falsestring='Available in self' -
delivery_distance_unitSelectiondefault=<expr>selection=[('km', 'km'), ('mi', 'mi')]string='Distance unit' -
delivery_from_addressCharcompute='_compute_delivery_from_address'store=Truestring='Sender address' -
delivery_from_cityCharstring='City' -
delivery_from_country_idMany2one → res.countrycomodel_name='res.country'string='Country' -
delivery_from_latitudeFloatdigits=(10, 7)string='Latitude' -
delivery_from_longitudeFloatdigits=(10, 7)string='Longitude' -
delivery_from_state_idMany2one → res.country.statecomodel_name='res.country.state'string='State' -
delivery_from_streetCharstring='Street' -
delivery_from_zipCharstring='Zip' -
delivery_max_distance_kmFloatdefault=10.0help='Maximum delivery distance, in the unit shown next to the field.'string='Max radius' -
delivery_product_idMany2one → product.productcomodel_name='product.product'default=<expr>help='Product used for delivery fees in self order.'string='Delivery Product' -
delivery_product_priceFloatdefault=0.0string='Fixed Price' -
free_delivery_min_amountFloathelp='Delivery is free when the order total reaches this amount.'string='Free if order amount is above' -
mail_template_idMany2one → mail.templatecomodel_name='mail.template'domain="[('model', '=', 'pos.order')]"string='Email Confirmation' -
service_atSelectiondefault='counter'required=Truestring='Service at' args: [('counter', 'Pickup zone'), ('table', 'Table'), ('delivery', 'Delivery')]
-
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.model -
write(self, vals)
New fields (0)
No new fields.
Public methods (1)-
close_session_from_ui(self, payment_method_closing={})
New fields (1)
-
typeSelectionondelete={'self-ordering': 'cascade'}selection_add=[('self-ordering', 'Self Order Service')]
No public methods.
New fields (6)
-
link_htmlHtmlcompute='_compute_link_html'readonly=Truestore=True args: 'Preview' -
nameCharrequired=Truestring='Label'translate=True -
pos_config_idsMany2many → pos.configdomain="[('self_ordering_mode', '!=', 'nothing')]"help="Select for which points of sale you want to display this link. Leave empty to display it for all points of sale. You have to select among the points of sale that have the 'QR Code Menu' feature enabled."string='Points of Sale' args: 'pos.config' -
sequenceIntegerdefault=1 args: 'Sequence' -
styleSelectiondefault='primary'required=Truestring='Style' args: [('primary', 'Primary'), ('secondary', 'Secondary'), ('success', 'Success'), ('warning', 'Warning'), ('danger', 'Danger'), ('info', 'Info'), ('light', 'Light'), ('dark', 'Dark')] -
urlCharrequired=Truestring='URL'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
write(self, vals)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
self_order_availableBooleandefault=Truehelp='If this product is available in the Self Order screens'string='Available in Self Order' -
self_order_visibleBooleancompute='_compute_self_order_visible'
-
write(self, vals)
New fields (11)
-
pos_self_ordering_available_language_idsMany2manyreadonly=Falserelated='pos_config_id.self_ordering_available_language_ids' -
pos_self_ordering_default_language_idMany2onereadonly=Falserelated='pos_config_id.self_ordering_default_language_id' -
pos_self_ordering_default_user_idMany2onereadonly=Falserelated='pos_config_id.self_ordering_default_user_id' -
pos_self_ordering_image_background_idsMany2manyreadonly=Falserelated='pos_config_id.self_ordering_image_background_ids' -
pos_self_ordering_image_brandImagereadonly=Falserelated='pos_config_id.self_ordering_image_brand' -
pos_self_ordering_image_brand_nameCharreadonly=Falserelated='pos_config_id.self_ordering_image_brand_name' -
pos_self_ordering_image_home_idsMany2manyreadonly=Falserelated='pos_config_id.self_ordering_image_home_ids' -
pos_self_ordering_modeSelectionreadonly=Falserelated='pos_config_id.self_ordering_mode'required=True -
pos_self_ordering_pay_afterSelectionreadonly=Falserelated='pos_config_id.self_ordering_pay_after'required=True -
pos_self_ordering_primary_colorCharreadonly=Falserelated='pos_config_id.self_ordering_primary_color' -
pos_self_ordering_service_modeSelectionreadonly=Falserelated='pos_config_id.self_ordering_service_mode'required=True
-
custom_link_action(self) -
generate_qr_codes_page(self)Generate the data needed to print the QR codes page -
generate_qr_codes_zip(self) -
get_pos_qr_stands(self)Redirect to the get the free stands with the data of QR codes for the current POS config -
pos_close_ui(self) -
preview_self_order_app(self)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
identifierCharcopy=Falsedefault=<expr>required=True args: 'Security Token'
No public methods.
Loading…
Loading…
Loading…