From b16ca35ae4363d47d3805809cf18bca21abc3016 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 30 May 2007 12:41:53 +0000 Subject: [PATCH] Modifs bzr revid: fp@tinyerp.com-0c1a8f186f890dc08fe1279abe068f601a1dc765 --- addons/board_project/board_project_view.xml | 9 +-- addons/mrp/mrp.py | 4 +- addons/product/product.py | 2 +- addons/report_timesheet/report_timesheet.py | 30 +++++++ .../report_timesheet_view.xml | 80 +++++++++++++++++++ 5 files changed, 117 insertions(+), 8 deletions(-) diff --git a/addons/board_project/board_project_view.xml b/addons/board_project/board_project_view.xml index 7804c871086..937c409619e 100644 --- a/addons/board_project/board_project_view.xml +++ b/addons/board_project/board_project_view.xml @@ -86,16 +86,15 @@ type="action" colspan="4"/> - - + diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index 475425f2c85..30ed26f2320 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -786,7 +786,7 @@ class mrp_procurement(osv.osv): ok = ok and self.pool.get('stock.move').action_assign(cr, uid, [id]) cr.execute('select count(id) from stock_warehouse_orderpoint where product_id=%d', (procurement.product_id.id,)) if not cr.fetchone()[0]: - cr.execute('update mrp_procurement set message=%s where id=%d', ('MTS and no orderpoint defined', procurement.id)) + cr.execute('update mrp_procurement set message=%s where id=%d', ('MTS and no minimum orderpoint rule defined', procurement.id)) return ok def action_produce_assign_service(self, cr, uid, ids, context={}): @@ -899,7 +899,7 @@ mrp_procurement() #CHECKME: why the **** is this object defined here and not in stock??? class stock_warehouse_orderpoint(osv.osv): _name = "stock.warehouse.orderpoint" - _description = "Warehouse Orderpoint" + _description = "Orderpoint minimum rule" _columns = { 'name': fields.char('Name', size=32, required=True), 'active': fields.boolean('Active'), diff --git a/addons/product/product.py b/addons/product/product.py index 7b8252fd554..76250d7219d 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -174,7 +174,7 @@ class product_template(osv.osv): 'description_sale': fields.text('Sale Description'), 'type': fields.selection([('product','Stockable Product'),('consu', 'Consumable'),('service','Service')], 'Product Type', required=True), 'supply_method': fields.selection([('produce','Produce'),('buy','Buy')], 'Supply method', required=True), - 'sale_delay': fields.float('Procurement lead time', help="This is the average time between the confirmation of the customer order and the delivery of the finnished products. It's the time you promise to your customers."), + 'sale_delay': fields.float('Customer lead time', help="This is the average time between the confirmation of the customer order and the delivery of the finnished products. It's the time you promise to your customers."), 'produce_delay': fields.float('Manufacturing lead time', help="Average time to produce this product. This is only for the production order and, if it is a multi-level bill of material, it's only for the level of this product. Different delays will be summed for all levels and purchase orders."), 'procure_method': fields.selection([('make_to_stock','Make to Stock'),('make_to_order','Make to Order')], 'Procure Method', required=True), 'rental': fields.boolean('Rentable product'), diff --git a/addons/report_timesheet/report_timesheet.py b/addons/report_timesheet/report_timesheet.py index 423560964ee..e05b4b09dbd 100644 --- a/addons/report_timesheet/report_timesheet.py +++ b/addons/report_timesheet/report_timesheet.py @@ -87,6 +87,36 @@ class report_timesheet_account(osv.osv): report_timesheet_account() +class report_timesheet_account_date(osv.osv): + _name = "report_timesheet.account.date" + _description = "Daily timesheet per account" + _auto = False + _columns = { + 'name': fields.date('Date', readonly=True), + 'user_id':fields.many2one('res.users', 'User', readonly=True), + 'account_id':fields.many2one('account.analytic.account', 'Analytic Account', readonly=True), + 'quantity': fields.float('Quantity', readonly=True), + } + _order = 'name desc,account_id desc,user_id desc' + def init(self, cr): + cr.execute(""" + create or replace view report_timesheet_account_date as ( + select + min(id) as id, + create_date as name, + user_id, + account_id, + sum(unit_amount) as quantity + from + account_analytic_line + group by + create_date, user_id, account_id + ) + """) +report_timesheet_account_date() + + + class report_timesheet_invoice(osv.osv): _name = "report_timesheet.invoice" _description = "Costs to invoice" diff --git a/addons/report_timesheet/report_timesheet_view.xml b/addons/report_timesheet/report_timesheet_view.xml index 2b57642d295..7e83aca5b0c 100644 --- a/addons/report_timesheet/report_timesheet_view.xml +++ b/addons/report_timesheet/report_timesheet_view.xml @@ -58,6 +58,19 @@ action="action_timesheet_user_stat" id="menu_report_timesheet_user"/> + + My timesheet of the month + report_timesheet.user + form + graph,tree + [('name','>=',time.strftime('%Y-%m-01')), ('user_id','=',uid)] + + + + report_timesheet.user form @@ -136,6 +149,73 @@ action="action_timesheet_invoice_stat_my" id="menu_report_timesheet_invoice_my"/> + # + # Statistics report on daily timesheets per account + # + + + report_timesheet.account.date.tree + report_timesheet.account.date + tree + + + + + + + + + + + report_timesheet.account.date.graph + report_timesheet.account.date + graph + + + + + + + + + + + + report_timesheet.timesheet.account.date.form + report_timesheet.account.date + form + +
+ + + + + + +
+ + + report_timesheet.account.date + form + graph,tree + + + + + My daily timesheets by account + report_timesheet.account.date + form + graph,tree + [('user_id','=',uid)] + + + # # Statistics report on timesheets per account #