Rename work_type into work

This commit is contained in:
Cédric Krier committed 2008-06-09 16:54:33 +02:00
1 parent 3f74394520
commit 577422b85d
6 files changed
+129 -128

No files matched your search

+1 -1
View File
@@ -23,5 +23,5 @@
#
##############################################################################
from work_type import *
from work import *
from line import *
+1 -1
View File
@@ -13,7 +13,7 @@
],
'xml': [
'timesheet.xml',
'work_type.xml',
'work.xml',
'line.xml',
],
}
+1 -1
View File
@@ -14,7 +14,7 @@ class Line(OSV):
select=1)
date = fields.Date('Date', required=True, select=1)
hours = fields.Float('Hours', digits=(16, 2), required=True)
work_type = fields.Many2One('timesheet.work_type', 'Work Type',
work = fields.Many2One('timesheet.work', 'Work Type',
required=True, select=1, domain=[('type', '!=', 'view')])
description = fields.Char('Description')
+3 -3
View File
@@ -13,8 +13,8 @@
<field name="date"/>
<label name="hours"/>
<field name="hours" widget="float_time"/>
<label name="work_type"/>
<field name="work_type"/>
<label name="work"/>
<field name="work"/>
<label name="description"/>
<field name="description"/>
</form>
@@ -30,7 +30,7 @@
<field name="employee" select="1"/>
<field name="date" select="1"/>
<field name="hours" widget="float_time" sum="Hours"/>
<field name="work_type" select="1" width="300"/>
<field name="work" select="1" width="300"/>
<field name="description"/>
</tree>
]]>
+48 -47
View File
@@ -1,20 +1,20 @@
"Work Type"
"Work"
from trytond.osv import fields, OSV
from trytond.wizard import Wizard, WizardOSV
class WorkType(OSV):
'Work Type'
_name = 'timesheet.work_type'
class Work(OSV):
'Work'
_name = 'timesheet.work'
_description = __doc__
name = fields.Char('Name', required=True)
complete_name = fields.Function('get_complete_name', type='char',
string='Name')
active = fields.Boolean('Active')
parent = fields.Many2One('timesheet.work_type', 'Parent', select=2)
childs = fields.One2Many('timesheet.work_type', 'parent', 'Childs')
parent = fields.Many2One('timesheet.work', 'Parent', select=2)
childs = fields.One2Many('timesheet.work', 'parent', 'Childs')
hours = fields.Function('get_hours', digits=(16, 2), string='Hours')
type = fields.Selection([
('view', 'View'),
@@ -22,10 +22,10 @@ class WorkType(OSV):
], 'Type', required=True, select=1)
def __init__(self):
super(WorkType, self).__init__()
super(Work, self).__init__()
self._constraints += [
('check_recursion',
'Error! You can not create recursive work types.', ['parent'])
'Error! You can not create recursive works.', ['parent'])
]
def default_active(self, cursor, user, context=None):
@@ -54,8 +54,8 @@ class WorkType(OSV):
def get_hours(self, cursor, user, ids, name, arg, context=None):
all_ids = self.search(cursor, user, [('parent', 'child_of', ids)])
clause = "SELECT work_type, sum(hours) FROM timesheet_line "\
"WHERE work_type IN (%s) "\
clause = "SELECT work, sum(hours) FROM timesheet_line "\
"WHERE work IN (%s) "\
% ",".join(["%s" for id in all_ids])
date_cond = ""
args = []
@@ -65,17 +65,17 @@ class WorkType(OSV):
if context.get('to_date'):
date_cond += " AND date <= %s"
args.append(context['to_date'])
clause += date_cond + " GROUP BY work_type"
clause += date_cond + " GROUP BY work"
cursor.execute(clause, all_ids + args)
hours_by_wt = dict([(i[0], i[1]) for i in cursor.fetchall()])
to_compute = dict.fromkeys(all_ids, True)
work_types = self.browse(cursor, user, all_ids, context=context)
works = self.browse(cursor, user, all_ids, context=context)
childs = {}
for work_type in work_types:
if work_type.parent:
childs.setdefault(work_type.parent.id, []).append(work_type.id)
for work in works:
if work.parent:
childs.setdefault(work.parent.id, []).append(work.id)
self._tree_qty(hours_by_wt, childs, ids, to_compute)
return hours_by_wt
@@ -85,13 +85,14 @@ class WorkType(OSV):
if isinstance(ids, (int, long)):
ids = [ids]
res = []
def _name(work_type):
if work_type.parent:
return _name(work_type.parent) + '\\' + work_type.name
def _name(work):
if work.parent:
return _name(work.parent) + '\\' + work.name
else:
return work_type.name
for work_type in self.browse(cursor, user, ids, context=context):
res.append((work_type.id, _name(work_type)))
return work.name
for work in self.browse(cursor, user, ids, context=context):
res.append((work.id, _name(work)))
return res
def write(self, cursor, user, ids, vals, context=None):
@@ -100,7 +101,7 @@ class WorkType(OSV):
child_ids = self.search(cursor, user, [
('parent', 'child_of', ids),
], context=context)
res = super(WorkType, self).write(cursor, user, ids, vals,
res = super(Work, self).write(cursor, user, ids, vals,
context=context)
if child_ids:
self.write(cursor, user, child_ids, {
@@ -108,24 +109,24 @@ class WorkType(OSV):
}, context=context)
return res
WorkType()
Work()
class OpenWorkTypeInit(WizardOSV):
_name = 'timesheet.work_type.open.init'
class OpenWorkInit(WizardOSV):
_name = 'timesheet.work.open.init'
from_date = fields.Date('From Date')
to_date = fields.Date('To Date')
OpenWorkTypeInit()
OpenWorkInit()
class OpenWorkType(Wizard):
'Open Work Types'
_name = 'timesheet.work_type.open'
class OpenWork(Wizard):
'Open Work'
_name = 'timesheet.work.open'
states = {
'init': {
'result': {
'type': 'form',
'object': 'timesheet.work_type.open.init',
'object': 'timesheet.work.open.init',
'state': [
('end', 'Cancel', 'tryton-cancel'),
('open', 'Open', 'tryton-ok', True),
@@ -135,18 +136,18 @@ class OpenWorkType(Wizard):
'open': {
'result': {
'type': 'action',
'action': '_action_open_work_type',
'action': '_action_open_work',
'state': 'end',
},
},
}
def _action_open_work_type(self, cursor, user, data, context=None):
def _action_open_work(self, cursor, user, data, context=None):
model_data_obj = self.pool.get('ir.model.data')
act_window_obj = self.pool.get('ir.action.act_window')
model_data_ids = model_data_obj.search(cursor, user, [
('fs_id', '=', 'act_work_type_tree2'),
('fs_id', '=', 'act_work_tree2'),
('module', '=', 'timesheet'),
], limit=1, context=context)
model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
@@ -158,18 +159,18 @@ class OpenWorkType(Wizard):
})
return res
OpenWorkType()
OpenWork()
class OpenWorkType2(OpenWorkType):
_name = 'timesheet.work_type.open2'
class OpenWork2(OpenWork):
_name = 'timesheet.work.open2'
def _action_open_work_type(self, cursor, user, data, context=None):
def _action_open_work(self, cursor, user, data, context=None):
model_data_obj = self.pool.get('ir.model.data')
act_window_obj = self.pool.get('ir.action.act_window')
model_data_ids = model_data_obj.search(cursor, user, [
('fs_id', '=', 'act_work_type_form2'),
('fs_id', '=', 'act_work_form2'),
('module', '=', 'timesheet'),
], limit=1, context=context)
model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
@@ -181,40 +182,40 @@ class OpenWorkType2(OpenWorkType):
})
return res
OpenWorkType2()
OpenWork2()
class OpenWorkTypeGraph(Wizard):
_name = 'timesheet.work_type.open_graph'
class OpenWorkGraph(Wizard):
_name = 'timesheet.work.open_graph'
states = {
'init': {
'result': {
'type': 'action',
'action': '_action_open_work_type',
'action': '_action_open_work',
'state': 'end',
},
},
}
def _action_open_work_type(self, cursor, user, data, context=None):
def _action_open_work(self, cursor, user, data, context=None):
model_data_obj = self.pool.get('ir.model.data')
act_window_obj = self.pool.get('ir.action.act_window')
work_type_obj = self.pool.get('timesheet.work_type')
work_obj = self.pool.get('timesheet.work')
if context is None:
context = {}
model_data_ids = model_data_obj.search(cursor, user, [
('fs_id', '=', 'act_work_type_form3'),
('fs_id', '=', 'act_work_form3'),
('module', '=', 'timesheet'),
], limit=1, context=context)
model_data = model_data_obj.browse(cursor, user, model_data_ids[0],
context=context)
res = act_window_obj.read(cursor, user, model_data.db_id, context=context)
if 'active_id' in context:
name = work_type_obj.name_get(cursor, user, context['active_id'],
name = work_obj.name_get(cursor, user, context['active_id'],
context=context)[0][1]
res['name'] = res['name'] + ' - ' + name
return res
OpenWorkTypeGraph()
OpenWorkGraph()
+75 -75
View File
@@ -1,12 +1,12 @@
<?xml version="1.0"?>
<tryton>
<data>
<record model="ir.ui.view" id="work_type_view_form">
<field name="model">timesheet.work_type</field>
<record model="ir.ui.view" id="work_view_form">
<field name="model">timesheet.work</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Work Type">
<form string="Work">
<label name="name"/>
<field name="name"/>
<label name="active"/>
@@ -19,13 +19,13 @@
]]>
</field>
</record>
<record model="ir.ui.view" id="work_type_view_tree">
<field name="model">timesheet.work_type</field>
<record model="ir.ui.view" id="work_view_tree">
<field name="model">timesheet.work</field>
<field name="type">tree</field>
<field name="priority" eval="8"/>
<field name="arch" type="xml">
<![CDATA[
<tree string="Work Types">
<tree string="Works">
<field name="complete_name"/>
<field name="name" select="1" tree_invisible="1"/>
<field name="active" select="1" tree_invisible="1"/>
@@ -33,93 +33,93 @@
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_work_type_form">
<field name="name">Work Types</field>
<field name="res_model">timesheet.work_type</field>
<record model="ir.action.act_window" id="act_work_form">
<field name="name">Works</field>
<field name="res_model">timesheet.work</field>
<field name="view_type">form</field>
</record>
<record model="ir.action.act_window.view"
id="act_work_type_form_view1">
id="act_work_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="work_type_view_tree"/>
<field name="act_window" ref="act_work_type_form"/>
<field name="view" ref="work_view_tree"/>
<field name="act_window" ref="act_work_form"/>
</record>
<record model="ir.action.act_window.view"
id="act_work_type_form_view2">
id="act_work_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="work_type_view_form"/>
<field name="act_window" ref="act_work_type_form"/>
<field name="view" ref="work_view_form"/>
<field name="act_window" ref="act_work_form"/>
</record>
<menuitem parent="menu_timesheet_configuration" action="act_work_type_form"
id="menu_work_type_form"/>
<record model="ir.ui.view" id="work_type_view_tree2">
<field name="model">timesheet.work_type</field>
<menuitem parent="menu_timesheet_configuration" action="act_work_form"
id="menu_work_form"/>
<record model="ir.ui.view" id="work_view_tree2">
<field name="model">timesheet.work</field>
<field name="type">tree</field>
<field name="priority" eval="16"/>
<field name="field_childs">childs</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Work Types">
<tree string="Works">
<field name="name" select="1"/>
<field name="type" select="1"/>
</tree>
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_work_type_tree">
<field name="name">Work Types</field>
<field name="res_model">timesheet.work_type</field>
<record model="ir.action.act_window" id="act_work_tree">
<field name="name">Works</field>
<field name="res_model">timesheet.work</field>
<field name="view_type">tree</field>
<field name="domain">[('parent', '=', False)]</field>
</record>
<record model="ir.action.act_window.view"
id="act_work_type_tree_view1">
id="act_work_tree_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="work_type_view_tree2"/>
<field name="act_window" ref="act_work_type_tree"/>
<field name="view" ref="work_view_tree2"/>
<field name="act_window" ref="act_work_tree"/>
</record>
<menuitem parent="menu_work_type_form" action="act_work_type_tree"
id="menu_work_type_tree"/>
<menuitem parent="menu_work_form" action="act_work_tree"
id="menu_work_tree"/>
<record model="ir.ui.view" id="work_type_view_tree3">
<field name="model">timesheet.work_type</field>
<record model="ir.ui.view" id="work_view_tree3">
<field name="model">timesheet.work</field>
<field name="type">tree</field>
<field name="priority" eval="16"/>
<field name="field_childs">childs</field>
<field name="arch" type="xml">
<![CDATA[
<tree string="Work Types">
<tree string="Works">
<field name="name" select="1"/>
<field name="hours" widget="float_time"/>
</tree>
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_work_type_tree2">
<field name="name">Work Types</field>
<field name="res_model">timesheet.work_type</field>
<record model="ir.action.act_window" id="act_work_tree2">
<field name="name">Works</field>
<field name="res_model">timesheet.work</field>
<field name="view_type">tree</field>
<field name="domain">[('parent', '=', False)]</field>
</record>
<record model="ir.action.act_window.view"
id="act_work_type_tree_view2">
id="act_work_tree_view2">
<field name="sequence" eval="10"/>
<field name="view" ref="work_type_view_tree3"/>
<field name="act_window" ref="act_work_type_tree2"/>
<field name="view" ref="work_view_tree3"/>
<field name="act_window" ref="act_work_tree2"/>
</record>
<record model="ir.action.wizard" id="act_open_work_type">
<field name="name">Hours per Work Type</field>
<field name="wiz_name">timesheet.work_type.open</field>
<record model="ir.action.wizard" id="act_open_work">
<field name="name">Hours per Work</field>
<field name="wiz_name">timesheet.work.open</field>
</record>
<menuitem parent="menu_reporting" action="act_open_work_type"
id="menu_work_type_tree2" icon="tryton-tree"/>
<menuitem parent="menu_reporting" action="act_open_work"
id="menu_work_tree2" icon="tryton-tree"/>
<record model="ir.ui.view" id="work_type_view_graph">
<field name="model">timesheet.work_type</field>
<record model="ir.ui.view" id="work_view_graph">
<field name="model">timesheet.work</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<![CDATA[
<graph string="Hours per Work Type" type="pie">
<graph string="Hours per Work" type="pie">
<x>
<field name="name"/>
</x>
@@ -130,28 +130,28 @@
]]>
</field>
</record>
<record model="ir.action.act_window" id="act_work_type_form2">
<field name="name">Hours per Work Type</field>
<field name="res_model">timesheet.work_type</field>
<record model="ir.action.act_window" id="act_work_form2">
<field name="name">Hours per Work</field>
<field name="res_model">timesheet.work</field>
<field name="view_type">form</field>
<field name="domain">[('parent', '=', False)]</field>
</record>
<record model="ir.action.act_window.view"
id="act_work_type_form2_view1">
id="act_work_form2_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="work_type_view_graph"/>
<field name="act_window" ref="act_work_type_form2"/>
<field name="view" ref="work_view_graph"/>
<field name="act_window" ref="act_work_form2"/>
</record>
<record model="ir.action.wizard" id="act_open_work_type2">
<field name="name">Hours per Work Type</field>
<field name="wiz_name">timesheet.work_type.open2</field>
<record model="ir.action.wizard" id="act_open_work2">
<field name="name">Hours per Work</field>
<field name="wiz_name">timesheet.work.open2</field>
</record>
<record model="ir.ui.view" id="work_type_open_init_view_form">
<field name="model">timesheet.work_type.open.init</field>
<record model="ir.ui.view" id="work_open_init_view_form">
<field name="model">timesheet.work.open.init</field>
<field name="type">form</field>
<field name="arch" type="xml">
<![CDATA[
<form string="Hours per Work Type">
<form string="Hours per Work">
<label name="from_date"/>
<field name="from_date"/>
<label name="to_date"/>
@@ -160,40 +160,40 @@
]]>
</field>
</record>
<menuitem parent="menu_work_type_tree2" action="act_open_work_type2"
id="menu_work_type_form2" icon="tryton-graph"/>
<menuitem parent="menu_work_tree2" action="act_open_work2"
id="menu_work_form2" icon="tryton-graph"/>
<record model="ir.action.act_window" id="act_work_type_form3">
<field name="name">Hours per Work Type</field>
<field name="res_model">timesheet.work_type</field>
<record model="ir.action.act_window" id="act_work_form3">
<field name="name">Hours per Work</field>
<field name="res_model">timesheet.work</field>
<field name="view_type">form</field>
<field name="domain">[('parent', 'in', active_ids)]</field>
</record>
<record model="ir.action.act_window.view"
id="act_work_type_form3_view1">
id="act_work_form3_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="work_type_view_graph"/>
<field name="act_window" ref="act_work_type_form3"/>
<field name="view" ref="work_view_graph"/>
<field name="act_window" ref="act_work_form3"/>
</record>
<record model="ir.action.wizard" id="act_open_work_type_graph">
<field name="name">Hours per Work Type</field>
<field name="wiz_name">timesheet.work_type.open_graph</field>
<record model="ir.action.wizard" id="act_open_work_graph">
<field name="name">Hours per Work</field>
<field name="wiz_name">timesheet.work.open_graph</field>
</record>
<record model="ir.action.keyword" id="act_work_type_keyword">
<record model="ir.action.keyword" id="act_work_keyword">
<field name="keyword">graph_open</field>
<field name="model">timesheet.work_type,0</field>
<field name="action" ref="act_open_work_type_graph"/>
<field name="model">timesheet.work,0</field>
<field name="action" ref="act_open_work_graph"/>
</record>
<record model="ir.model.access" id="access_work_type">
<field name="model" search="[('model', '=', 'timesheet.work_type')]"/>
<record model="ir.model.access" id="access_work">
<field name="model" search="[('model', '=', 'timesheet.work')]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
<record model="ir.model.access" id="access_work_type_admin">
<field name="model" search="[('model', '=', 'timesheet.work_type')]"/>
<record model="ir.model.access" id="access_work_admin">
<field name="model" search="[('model', '=', 'timesheet.work')]"/>
<field name="group" ref="group_timesheet_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>