[MERGE] MErged from main branch

bzr revid: vra@tinyerp.com-20100524111507-2txcs1l0tr135pux
This commit is contained in:
vra
2010-05-24 16:45:07 +05:30
parent ff1b4fd3f0
commit 550099b2e5
5 changed files with 30 additions and 25 deletions
+10 -4
View File
@@ -32,7 +32,7 @@ class report_project_task_user(osv.osv):
'year': fields.char('Year',size=64,required=False, readonly=True),
'user_id':fields.many2one('res.users', 'Assigned To', readonly=True),
'date_start': fields.date('Starting Date',readonly=True),
'no_of_days': fields.integer('#Days', size=128, readonly=True),
'no_of_days': fields.integer('# of Days', size=128, readonly=True),
'description': fields.text('Description',readonly=True),
'date_end': fields.date('Ending Date',readonly=True),
'date_deadline': fields.date('Deadline',readonly=True),
@@ -40,10 +40,13 @@ class report_project_task_user(osv.osv):
'hours_planned': fields.float('Planned Hours', readonly=True),
'hours_effective': fields.float('Effective Hours', readonly=True),
'hours_delay': fields.float('Avg. Plan.-Eff.', readonly=True),
'closing_days': fields.float('Avg Closing Delay', digits=(16,2), readonly=True, group_operator="avg",
'remaining_hours': fields.float('Remaining Hours', readonly=True),
'total_hours': fields.float('Total Hours', readonly=True),
'closing_days': fields.float('Days to Close', digits=(16,2), readonly=True, group_operator="avg",
help="Number of Days to close the task"),
'nbr': fields.integer('#Number of tasks', readonly=True),
'opening_days': fields.float('Days to Open', digits=(16,2), readonly=True, group_operator="avg",
help="Number of Days to Open the task"),
'nbr': fields.integer('# of tasks', readonly=True),
'priority' : fields.selection([('4','Very Low'),
('3','Low'),
('2','Medium'),
@@ -87,8 +90,11 @@ class report_project_task_user(osv.osv):
t.company_id,
t.partner_id,
t.type,
sum(remaining_hours) as remaining_hours,
sum(total_hours) as total_hours,
sum(planned_hours) as hours_planned,
avg(extract('epoch' from (t.date_end-t.create_date)))/(3600*24) as closing_days,
avg(extract('epoch' from (t.date_start-t.create_date)))/(3600*24) as opening_days,
sum(w.hours) as hours_effective,
((sum(planned_hours)-sum(w.hours))/count(distinct t.id))::decimal(16,2) as hours_delay
from project_task t
+16 -16
View File
@@ -8,8 +8,8 @@
<field name="model">report.project.task.user</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Tasks">
<field name="name" />
<tree string="Tasks Analysis">
<field name="name" invisible="1"/>
<field name="project_id" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="date_deadline" invisible="1"/>
@@ -22,12 +22,15 @@
<field name="day" invisible="1"/>
<field name="month" invisible="1"/>
<field name="year" invisible="1"/>
<field name="nbr" sum='#Number of tasks'/>
<field name="no_of_days" sum="#Days"/>
<field name="nbr" sum='# of tasks'/>
<field name="no_of_days" sum="# of Days"/>
<field name="total_hours" sum='Total Hours'/>
<field name="hours_planned" sum='Planned Hours'/>
<field name="remaining_hours" sum='Remaining Hours'/>
<field name="hours_effective" sum='Effective Hours'/>
<field name="hours_delay" sum='Avg. Plan.-Eff.'/>
<field name="closing_days" sum='Avg Closing Delay'/>
<field name="opening_days" sum='Days to Open'/>
<field name="closing_days" sum='Days to Close'/>
</tree>
</field>
</record>
@@ -37,7 +40,7 @@
<field name="model">report.project.task.user</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Tasks" type="bar">
<graph string="Tasks Analysis" type="bar">
<field name="name"/>
<field name="state" group="True"/>
<field name="no_of_days" operator="+"/>
@@ -50,7 +53,7 @@
<field name="model">report.project.task.user</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Tasks">
<search string="Tasks Analysis">
<group>
<filter icon="terp-project" string="Last 365 Days"
domain="[('date_start','&lt;=', time.strftime('%%Y-%%m-%%d')),('date_start','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
@@ -82,6 +85,7 @@
name="done"
domain="[('state','=','done')]"/>
<separator orientation="vertical"/>
<field name="partner_id" />
<field name="user_id" widget="selection">
<filter icon="terp-project"
string="My Task"
@@ -102,26 +106,22 @@
help ="Non assigned tasks to projects"
domain="[('project_id','=',False"/>
</field>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="0" string="Extended options..." colspan="10" col="12">
<field name="type" widget="selection"/>
<separator orientation="vertical"/>
<field name="date_start"/>
<separator orientation="vertical"/>
<field name="date_deadline"/>
<newline/>
<field name="date_deadline"/>
<separator orientation="vertical"/>
<field name="priority"/>
<separator orientation="vertical"/>
<field name="date_end"/>
<separator orientation="vertical"/>
<field name="partner_id" />
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="11">
<filter string="User" name="User" icon="terp-project" context="{'group_by':'user_id'}" />
<filter string="Project" icon="terp-project" context="{'group_by':'project_id'}"/>
<separator orientation="vertical"/>
<filter string="Partner" icon="terp-project" context="{'group_by':'partner_id'}" />
<filter string="Task" icon="terp-project" context="{'group_by':'name'}" />
<separator orientation="vertical"/>
@@ -138,7 +138,7 @@
</record>
<record id="action_project_task_user_tree" model="ir.actions.act_window">
<field name="name">Tasks</field>
<field name="name">Tasks Analysis</field>
<field name="res_model">report.project.task.user</field>
<field name="view_type">form</field>
<field name="view_mode">tree,graph</field>
+1
View File
@@ -21,6 +21,7 @@
from osv import fields, osv
from tools.translate import _
import netsvc
class sale_order_line_make_invoice(osv.osv_memory):
_name = "sale.order.line.make.invoice"
+2 -4
View File
@@ -19,9 +19,7 @@
##############################################################################
from osv import fields, osv
from service import web_services
from tools.translate import _
import ir
import netsvc
class sale_make_invoice(osv.osv_memory):
@@ -37,13 +35,13 @@ class sale_make_invoice(osv.osv_memory):
def view_init(self, cr, uid, fields_list, context=None):
record_id = context and context.get('active_id', False)
order = self.pool.get('sale.order').browse(cr, uid, record_id)
if order.state=='draft':
if order.state == 'draft':
raise osv.except_osv(_('Warning !'),'You can not create invoice when sale order is not confirmed.')
return False
def make_invoices(self, cr, uid, ids, context={}):
order_obj = self.pool.get('sale.order')
newinv = []
data=self.read(cr,uid,ids)[0]
data = self.read(cr,uid,ids)[0]
order_obj.action_invoice_create(cr, uid, context.get(('active_ids'),[]), data['grouped'],date_inv = data['invoice_date'])
wf_service = netsvc.LocalService("workflow")
for id in context.get(('active_ids'),[]):
+1 -1
View File
@@ -1187,7 +1187,7 @@ class stock_move(osv.osv):
def _check_product_lot(self, cr, uid, ids):
for move in self.browse(cr, uid, ids):
if move.prodlot_id and (move.prodlot_id.product_id.id != move.product_id.id):
if move.prodlot_id and move.state == 'done' and (move.prodlot_id.product_id.id != move.product_id.id):
return False
return True