<menuitem name="Point of Sale"
id="menu_point_root"
groups="group_pos_manager,group_pos_user"
- sequence="140"/>
+ sequence="30"/>
<record id="categ_others" model="pos.category">
<field name="name">Others</field>
<field name="name"/>
<field name="date_order"/>
<field name="session_id" required="1"/>
- <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_customer':1}" attrs="{'readonly': [('state','=','invoiced')]}"/>
+ <field name="partner_id" on_change="onchange_partner_id(partner_id, context)" context="{'search_default_customer':1}" attrs="{'readonly': [('state','=','invoiced')]}"/>
</group>
<notebook colspan="4">
<page string="Products">
<field name="user_id"/>
<field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]"/>
<field name="picking_id" readonly="1"/>
+ <field name="pos_reference"/>
</group>
<group string="Accounting Information">
<field name="sale_journal" domain="[('type','=','sale')]"/>
</field>
</record>
<record model="ir.ui.view" id="view_pos_order_tree">
- <field name="name">Sales</field>
+ <field name="name">Orders</field>
<field name="model">pos.order</field>
<field name="arch" type="xml">
<tree string="POS Orders" colors="blue:state == 'draft';gray:state in ('done','cancel');black:state not in('done','cancel')">
<field name="name"/>
+ <field name="pos_reference"/>
<field name="partner_id"/>
<field name="date_order"/>
<field name="user_id"/>
<field name="amount_total" sum="Amount total"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="state"/>
+ <field name="session_id" />
</tree>
</field>
</record>
<search string="Search Sales Order">
<field name="name" string="Sales Order"/>
<field name="date_order"/>
+ <field name="pos_reference"/>
<filter icon="terp-document-new" string="New" domain="[('state','=','draft')]"/>
<filter icon="gtk-apply" string="Done" domain="[('state','in',('paid','invoiced','done'))]"/>
<filter icon="terp-check" string="Invoiced" domain="[('state','=','invoiced')]"/>
<field name="domain">[('date_order','like',time.strftime('%Y-%m'))]</field>
</record>
- <record id="product_normal_form_pos_view" model="ir.ui.view">
- <field name="name">product.normal.pos.form.inherit</field>
- <field name="model">product.product</field>
- <field name="inherit_id" ref="product.product_normal_form_view"/>
- <field name="arch" type="xml">
- <group name="status" position="after">
- <group name="pos" string="Point of Sale">
- <field name="pos_categ_id"/>
- <field name="to_weight" />
- </group>
- </group>
- </field>
- </record>
-
-
<record id="product_normal_form_view" model="ir.ui.view">
<field name="name">product.normal.form.inherit</field>
<field name="model">product.product</field>
- <field name="inherit_id" ref="product.product_normal_form_view"/>
+ <field name="inherit_id" ref="stock.view_normal_procurement_locations_form"/>
<field name="arch" type="xml">
- <group name="misc" position="after">
- <group name="pos" colspan="2" col="2">
- <separator string="Point of Sale" colspan="2"/>
+ <group name="sale" position="inside">
+ <group name="pos" string="Point of Sale">
+ <field name="available_in_pos"/>
+ <field name="pos_categ_id"/>
+ <field name="to_weight" />
<field name="income_pdt"/>
<field name="expense_pdt"/>
</group>
</group>
<field name="ean13" position="after">
- <button name="edit_ean" type="object" string="Edit" />
+ <button name="edit_ean" type="object" string="Set a Custom EAN" class="oe_link oe_edit_only"/>
</field>
</field>
</record>
<field name="code" />
<field name="name" />
<field name="type" />
- <field name="opening_control" />
- <field name="closing_control" />
+ <field name="cash_control" />
</tree>
</field>
<group string="Material Interfaces" >
<field name="arch" type="xml">
<form string="Point of Sale Session" version="7.0">
<header>
- <button name="open" type="workflow" string="Validate & Open Session" states="opening_control" class="oe_highlight"/>
- <button name="cashbox_control" type="workflow" string="End of Session" states="opened"
+ <button name="open_cb" type="object" string="Validate & Open Session" states="opening_control" class="oe_highlight"/>
+ <button name="open_frontend_cb" type="object" string="Continue Selling" states="opened"
class="oe_highlight"/>
+ <button name="cashbox_control" type="workflow" string="End of Session"
+ attrs="{'invisible' : ['|', ('cash_control', '=', False),('state', '!=', 'opened')]}"
+ class="oe_highlight" />
+ <button name="close" type="workflow" string="Validate Closing & Post Entries"
+ attrs="{'invisible' : ['|', ('cash_control', '=', True),('state', '!=', 'opened')]}"
+ class="oe_highlight" />
<button name="close" type="workflow" string="Validate Closing & Post Entries" states="closing_control"
- class="oe_highlight"/>
- <button name="open_frontend_cb" type="object" string="Continue Selling" states="opened"/>
+ class="oe_highlight" />
<div class="oe_right">
- <field name="state" widget="statusbar" statusbar_visible="opening_control,opened,closing_control,closed" nolabel="1"/>
+ <field name="state" widget="statusbar" statusbar_visible="opening_control,opened,closing_control,closed" nolabel="1" />
</div>
</header>
<sheet>
Session:
<field name="name" attrs="{'invisible': [('name','=','/')]}" class="oe_inline"/>
</h1>
- <field name="has_opening_control" invisible="1" />
- <field name="has_closing_control" invisible="1" />
<group>
+ <field name="cash_control" invisible="1" />
<group>
<field name="user_id"/>
- <field name="config_id" attrs="{'invisible' : [('config_id', '<>', False)]}"/>
+ <field name="config_id"/>
</group>
<group>
<field name="start_at" attrs="{'invisible' : [('state', '=', 'opening_control')]}"/>
- <field name="stop_at" attrs="{'invisible' : [('state', '<>', 'closed')]}"/>
+ <field name="stop_at" attrs="{'invisible' : [('state', '!=', 'closed')]}"/>
</group>
<newline/>
-
- <group string="Opening Cash Control">
+ <group string="Opening Cash Control" attrs="{'invisible' : [('cash_control', '=', False)]}">
<field name="opening_details_ids" nolabel="1" colspan="2" attrs="{'readonly' : [('state', 'not in', ('opening_control',))]}">
<tree string="Opening Cashbox Lines" editable="bottom">
<field name="pieces" readonly="1" />
- <field name="number_opening" string="Opening Unit Numbers" on_change="on_change_sub_opening(pieces, number_opening)" />
+ <field name="number_opening" on_change="on_change_sub_opening(pieces, number_opening)" />
<field name="subtotal_opening" string="Opening Subtotal" sum="Total"/>
</tree>
</field>
</group>
- <group string="Closing Cash Control" attrs="{'invisible': [('state', '=', 'opening_control')]}">
+ <group string="Closing Cash Control" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}">
<field name="details_ids" nolabel="1" colspan="2">
<tree string="Cashbox Lines" editable="bottom">
<field name="pieces" readonly="1" />
- <field name="number_closing"/>
+ <field name="number_closing" />
<field name="subtotal_closing"/>
</tree>
</field>
</group>
- <div>
+ <div attrs="{'invisible' : [('cash_control', '=', False)]}">
<group class="oe_subtotal_footer oe_right">
<field name="cash_register_balance_start" readonly="1" string="Opening Balance" class="oe_subtotal_footer_separator"/>
<field name="cash_register_total_entry_encoding" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="+ Transactions"/>
- <field name="cash_register_balance_end" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="= Theorical Balance"/>
+ <field name="cash_register_balance_end" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="= Theoretical Balance"/>
</group>
<div class="oe_clear"/>
- <div attrs="{'invisible' : [('cash_journal_id', '=', False)]}" class="oe_view_nocontent" groups="point_of_sale.group_pos_manager">
+ <div attrs="{'invisible' : ['|', ('cash_journal_id', '=', False), ('state', '!=', 'opening_control')]}" class="oe_view_nocontent" groups="point_of_sale.group_pos_manager">
<p class="oe_view_nocontent_create">
You can define another list of available currencies on the
<i>Cash Registers</i> tab of the <b><field name="cash_journal_id" class="oe_inline"/></b>
</div>
- <group class="oe_subtotal_footer oe_right" attrs="{'invisible' : [('state', '=', 'opening_control')]}">
+ <group class="oe_subtotal_footer oe_right" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}">
<field name="cash_register_balance_end_real" class="oe_subtotal_footer_separator"/>
<field name="cash_register_difference" class="oe_subtotal_footer_separator"/>
</group>
<field name="total_entry_encoding" />
<field name="balance_end_real" />
<field name="difference" />
- <field name="currency" />
+ <field name="currency" groups="base.group_multi_currency" />
<field name="state" />
</tree>
</field>
<filter icon="gtk-convert" string="Posted" domain="[('state','=','done')]"/>
<field name="user_id"/>
<field name="session_id"/>
- <group expand="0" string="Group By..." groups="base.group_extended">
+ <group expand="0" string="Group By...">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Session" icon="terp-personal" domain="[]" context="{'group_by':'session_id'}"/>
- <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+ <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
</group>
</search>
<record model="ir.ui.view" id="pos_ean13_generator">
<field name="name">pos.ean_wizard</field>
<field name="model">pos.ean_wizard</field>
- <field name="type">form</field>
<field name="arch" type="xml">
<form string="Ean13 Generator" version="7.0">
- <field name="ean13_pattern"/>
+ <p class="oe_grey">
+ Enter a reference, it will be converted
+ automatically to a valid EAN number.
+ </p>
+ <group>
+ <field name="ean13_pattern" class="oe_inline"/>
+ </group>
<footer>
- <button name="sanitize_ean13" type="object" string="Apply"/>
+ <button name="sanitize_ean13" type="object" string="Apply" class="oe_highlight"/> or
+ <button icon="gtk-stop" special="cancel"
+ string="Cancel" class="oe_link"/>
</footer>
</form>
</field>