[IMP] better useability

bzr revid: fp@tinyerp.com-20100621212055-qxs8t6d1u6q73qwz
This commit is contained in:
Fabien Pinckaers 2010-06-21 23:20:55 +02:00
parent d39ab835a4
commit fc8464cd1d
6 changed files with 71 additions and 77 deletions

View File

@ -43,7 +43,7 @@
<field name="name" select="1"/>
<field name="month" select="1"/>
<field name="user_id" select="1"/>
<field name="section_id" select="1"/>
<field name="section_id" select="1"/>
<field name="nbr" select="1"/>
<field name="delay_close"/>
<field name="stage_id"/>
@ -69,79 +69,79 @@
<!-- Leads by user and section Search View -->
<record id="view_report_crm_lead_filter" model="ir.ui.view">
<record id="view_report_crm_lead_filter" model="ir.ui.view">
<field name="name">crm.lead.report.select</field>
<field name="model">crm.lead.report</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Leads Analysis">
<group col="16" colspan="8">
<filter string="Last 365 Days" icon="terp-go-year"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
<filter string="Last 365 Days" icon="terp-go-year"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
<filter string="Last 30 Days" icon="terp-go-month" name="This Month"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
<filter icon="terp-go-week" string="7 Days" separator="1"
domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
<separator orientation="vertical" />
<separator orientation="vertical" />
<filter icon="terp-check"
string="Current"
domain="[('state','in',('draft','open')]"/>
<filter icon="terp-check"
string="Pending"
domain="[('state','=','pending')]"/>
<separator orientation="vertical" />
<field name="section_id"
default="context.get('section_id', False)"
widget="selection"
context="{'invisible_section': False}">
<filter icon="terp-crm"
context="{'invisible_section': False}"
domain="[('section_id.user_id','=',uid)]"
help="My section" />
</field>
<field name="user_id" select="1" widget="selection">
<filter icon="terp-personal+" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
</field>
string="Current"
domain="[('state','in',('draft','open')]"/>
<filter icon="terp-check"
string="Pending"
domain="[('state','=','pending')]"/>
<separator orientation="vertical" />
<field name="section_id"
default="context.get('section_id', False)"
widget="selection"
context="{'invisible_section': False}">
<filter icon="terp-crm"
context="{'invisible_section': False}"
domain="[('section_id.user_id','=',uid)]"
help="My section" />
</field>
<field name="user_id" widget="selection">
<filter icon="terp-personal+" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
</field>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="User" name="User" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Section" icon="terp-personal+"
domain="[]"
context="{'group_by':'section_id'}" />
domain="[]"
context="{'group_by':'section_id'}" />
<filter string="Category" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'categ_id'}" />
domain="[]" context="{'group_by':'categ_id'}" />
<separator orientation="vertical" />
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<separator orientation="vertical"/>
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
<separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" />
domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical" />
<filter string="Company" icon="terp-go-home"
domain="[]"
context="{'group_by':'company_id'}" />
domain="[]"
context="{'group_by':'company_id'}" />
<separator orientation="vertical" />
<filter string="Day" icon="terp-go-today"
domain="[]" context="{'group_by':'day'}"/>
domain="[]" context="{'group_by':'day'}"/>
<filter string="Month" icon="terp-go-month"
domain="[]" context="{'group_by':'month'}" />
domain="[]" context="{'group_by':'month'}" />
<filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" />
domain="[]" context="{'group_by':'name'}" />
</group>
<newline/>
<group expand="0" string="Extended options..." groups="base.group_extended">
<field name="partner_id"/>
<separator orientation="vertical"/>
<separator orientation="vertical"/>
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<newline/>
<field name="creation_date"/>
<field name="opening_date"/>
<field name="date_closed"/>
@ -150,9 +150,9 @@
</field>
</record>
<!-- Opportunity tree view -->
<!-- Opportunity tree view -->
<record id="view_report_crm_opportunity_tree" model="ir.ui.view">
<record id="view_report_crm_opportunity_tree" model="ir.ui.view">
<field name="name">crm.lead.report.tree</field>
<field name="model">crm.lead.report</field>
<field name="type">tree</field>
@ -207,7 +207,7 @@
<field name="act_window_id" ref="action_report_crm_lead"/>
</record>
<record id="action_report_crm_opportunity" model="ir.actions.act_window">
<record id="action_report_crm_opportunity" model="ir.actions.act_window">
<field name="name">Opportunities Analysis</field>
<field name="res_model">crm.lead.report</field>
<field name="view_type">form</field>

View File

@ -148,20 +148,22 @@ class purchase_order(osv.osv):
return res
_columns = {
'name': fields.char('Order Reference', size=64, required=True, select=True),
'origin': fields.char('Source Document', size=64,
'name': fields.char('Order Reference', size=64, required=True, select=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}),
'origin': fields.char('Source Document', size=64, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]},
help="Reference of the document that generated this purchase order request."
),
'partner_ref': fields.char('Supplier Reference', size=64),
'partner_ref': fields.char('Supplier Reference', states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, size=64),
'date_order':fields.date('Date Ordered', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)]}, help="Date on which this document has been created."),
'date_approve':fields.date('Date Approved', readonly=1),
'partner_id':fields.many2one('res.partner', 'Supplier', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, change_default=True),
'partner_address_id':fields.many2one('res.partner.address', 'Address', required=True, states={'posted':[('readonly',True)]}),
'dest_address_id':fields.many2one('res.partner.address', 'Destination Address', states={'posted':[('readonly',True)]},
'partner_address_id':fields.many2one('res.partner.address', 'Address', required=True,
states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}),
'dest_address_id':fields.many2one('res.partner.address', 'Destination Address',
states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]},
help="Put an address if you want to deliver directly from the supplier to the customer." \
"In this case, it will remove the warehouse link and set the customer location."
),
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', states={'posted':[('readonly',True)]}),
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}),
'location_id': fields.many2one('stock.location', 'Destination', required=True, domain=[('usage','<>','view')]),
'pricelist_id':fields.many2one('product.pricelist', 'Pricelist', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, help="The pricelist sets the currency used for this purchase order. It also computes the supplier price for the selected products/quantities."),
'state': fields.selection([('draft', 'Request for Quotation'), ('wait', 'Waiting'), ('confirmed', 'Waiting Supplier Ack'), ('approved', 'Approved'),('except_picking', 'Shipping Exception'), ('except_invoice', 'Invoice Exception'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, help="The state of the purchase order or the quotation request. A quotation is a purchase order in a 'Draft' state. Then the order has to be confirmed by the user, the state switch to 'Confirmed'. Then the supplier must confirm the order to change the state to 'Approved'. When the purchase order is paid and received, the state becomes 'Done'. If a cancel action occurs in the invoice or in the reception of goods, the state becomes in exception.", select=True),
@ -180,7 +182,7 @@ class purchase_order(osv.osv):
"From Picking: a draft invoice will be pre-generated based on validated receptions.\n" \
"Manual: no invoice will be pre-generated. The accountant will have to encode manually."
),
'minimum_planned_date':fields.function(_minimum_planned_date, fnct_inv=_set_minimum_planned_date, method=True,store=True, string='Expected Date', type='datetime', help="This is computed as the minimum scheduled date of all purchase order lines' products."),
'minimum_planned_date':fields.function(_minimum_planned_date, fnct_inv=_set_minimum_planned_date, method=True,store=True, string='Expected Date', type='date', help="This is computed as the minimum scheduled date of all purchase order lines' products."),
'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount',
store={
'purchase.order.line': (_get_order, None, 10),
@ -596,7 +598,7 @@ class purchase_order_line(osv.osv):
_columns = {
'name': fields.char('Description', size=256, required=True),
'product_qty': fields.float('Quantity', required=True, digits=(16,2)),
'date_planned': fields.datetime('Scheduled date', required=True),
'date_planned': fields.date('Scheduled date', required=True),
'taxes_id': fields.many2many('account.tax', 'purchase_order_taxe', 'ord_id', 'tax_id', 'Taxes'),
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
'product_id': fields.many2one('product.product', 'Product', domain=[('purchase_ok','=',True)], change_default=True),

View File

@ -29,15 +29,11 @@
</record>
<!--supplier menu-->
<menuitem id="base.menu_procurement_management_supplier" name="Address Book"
<menuitem id="base.menu_procurement_management_supplier" name="Address Book"
parent="base.menu_purchase_root" sequence="3"/>
<menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers"
parent="base.menu_procurement_management_supplier" action="base.action_partner_supplier_form" sequence="1"/>
<menuitem
action="action_supplier_address_form"
id="menu_purchases_partner_address_form"
groups="base.group_extended"
parent="base.menu_procurement_management_supplier" sequence="3"/>
<menuitem id="base.menu_procurement_management_supplier_name" name="Suppliers"
parent="base.menu_procurement_management_supplier"
action="base.action_partner_supplier_form" sequence="1"/>
<!--Inventory control-->
<menuitem id="menu_procurement_management_inventory" name="Inventory Control"
@ -99,7 +95,7 @@
<field name="invoiced"/>
<newline/>
<field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection"/>
<field name="origin"/>
<field name="partner_ref"/>
<field name="shipped"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
@ -108,17 +104,16 @@
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('supplier','=', 1)]"/>
<field name="partner_address_id"/>
<field domain="[('type','=','purchase')]" name="pricelist_id" groups="base.group_extended"/>
<field name="partner_ref"/>
<field name="origin" groups="base.group_extended"/>
<newline/>
<field colspan="4" name="order_line" nolabel="1" mode="tree,form">
<tree colors="red:date_planned&lt;=current_date;black:date_planned&gt;current_date" string="Purchase Order Lines">
<field name="date_planned"/>
<field name="name"/>
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom"/>
<field name="price_unit"/>
<field name="price_subtotal" groups="base.group_extended"/>
<field name="price_subtotal"/>
</tree>
<!-- default form view -->
</field>
@ -174,12 +169,11 @@
<field name="arch" type="xml">
<search string="Search Purchase Order">
<group col='10' colspan='4'>
<filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]" separator="1"/>
<filter icon="terp-camera_test" name="confirmed" string="To Approve" domain="[('state','in',('wait','confirmed'))]" separator="1"/>
<filter icon="terp-check" name="approved" string="Approved" domain="[('state','in',('approved','done'))]" separator="1"/>
<filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" separator="1"/>
<filter icon="terp-document-new" name="draft" string="Quotations" domain="[('state','=','draft')]"/>
<filter icon="terp-accessories-archiver" name="sale_ok" string="Sales" domain="[('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]"/>
<separator orientation="vertical"/>
<filter icon="terp-gtk-go-back-rtl" string="To Invoice" domain="[('invoiced','=',1)]" separator="1"/>
<filter icon="terp-camera_test" name="confirmed" string="To Approve" domain="[('state','in',('wait','confirmed'))]" separator="1"/>
<filter icon="terp-emblem-important" name="exception" string="Exception" domain="[('state','in',('except_invoice','except_picking'))]" separator="1"/>
<separator orientation="vertical"/>
<field name="name" select="1" string="Reference"/>
<field name="partner_id" select="1"/>
@ -259,7 +253,6 @@
<field name="price_unit"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="account_analytic_id" colspan="4" groups="base.group_extended"/>
<field name="price_subtotal" readonly="1"/>
<group colspan="4" col="4" groups="base.group_extended">
<separator colspan="4" string="Taxes"/>
<field colspan="4" nolabel="1" name="taxes_id"
@ -280,9 +273,6 @@
<field colspan="4" name="invoice_lines" nolabel="1" widget="many2many"/>
</page>
</notebook>
<group>
<field name="state" />
</group>
</form>
</field>
</record>
@ -352,7 +342,7 @@
-->
<record id="purchase_line_form_action2" model="ir.actions.act_window">
<field name="name">Lines To Invoices</field>
<field name="name">Purchase Lines not Invoiced</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.order.line</field>
<field name="domain">[('state','in',('confirmed','done')), ('invoiced','=',False)]</field>

View File

@ -110,10 +110,10 @@
<form string="Sales order">
<group col="6" colspan="4">
<field name="name"/>
<field name="client_order_ref"/>
<field name="shipped"/>
<field name="date_order"/>
<field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="base.group_extended"/>
<field name="shipped"/>
<field name="client_order_ref"/>
<field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection"/>
<field name="invoiced"/>
</group>
<notebook colspan="5">
@ -264,8 +264,9 @@
<field name="arch" type="xml">
<search string="Search Sales Order">
<filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]"/>
<filter icon="terp-check" string="Running" domain="[('state','in',('manual','progress'))]"/>
<filter icon="terp-gtk-go-back-rtl" string="Sales To Invoice" domain="[('state','=','manual')]"/>
<filter icon="terp-check" string="Sales" domain="[('state','in',('manual','progress'))]"/>
<separator orientation="vertical"/>
<filter icon="terp-gtk-go-back-rtl" string="To Invoice" domain="[('state','=','manual')]"/>
<separator orientation="vertical"/>
<field name="name" select="1"/>
<field name="partner_id" select="1"/>

View File

@ -1868,6 +1868,7 @@ class stock_move(osv.osv):
'partner_id': partner_id,
})]
return lines
def unlink(self, cr, uid, ids, context=None):
if context is None:
context = {}

View File

@ -955,7 +955,7 @@
<field name="view_mode">calendar</field>
<field name="act_window_id" ref="action_picking_tree_delivery"/>
</record>
<menuitem action="action_picking_tree_delivery" id="menu_action_picking_tree_delivery" parent="menu_stock_warehouse_mgmt" sequence="1"/>
<menuitem action="action_picking_tree_delivery" id="menu_action_picking_tree_delivery" parent="menu_stock_warehouse_mgmt" sequence="7"/>
#
# Sending Products
@ -1347,7 +1347,7 @@
<field name="view_mode">calendar</field>
<field name="act_window_id" ref="action_picking_tree4"/>
</record>
<menuitem action="action_picking_tree4" id="menu_action_picking_tree4" parent="menu_stock_warehouse_mgmt" sequence="2"/>
<menuitem action="action_picking_tree4" id="menu_action_picking_tree4" parent="menu_stock_warehouse_mgmt" sequence="1"/>
<record id="view_picking_internal_search" model="ir.ui.view">
<field name="name">stock.picking.internal.search</field>
@ -1386,7 +1386,7 @@
<field name="context">{'contact_display': 'partner',"search_default_confirmed":1}</field>
<field name="search_view_id" ref="view_picking_internal_search"/>
</record>
<menuitem action="action_picking_tree6" id="menu_action_picking_tree6" parent="menu_stock_warehouse_mgmt" sequence="4"/>
<menuitem action="action_picking_tree6" id="menu_action_picking_tree6" parent="menu_stock_warehouse_mgmt" sequence="2"/>
<record id="view_move_tree" model="ir.ui.view">
<field name="name">stock.move.tree</field>