[Usability project_isses, renamed the field and changed the core relavend to it, assigned_to to user_id]

bzr revid: tta@openerp.com-20110830084510-0zqh6akkptue5zet
This commit is contained in:
Tejas (OpenERP) 2011-08-30 14:15:10 +05:30
parent 65c43a1946
commit cfffadc509
7 changed files with 25 additions and 43 deletions

View File

@ -123,7 +123,7 @@
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('state','not in',('cancel','done')),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
<field name="domain">[('state','not in',('cancel','done')),'|',('user_id','=',uid)]</field>
<field name="view_id" ref="project_issue_board_tree_view"/>
</record>
<record id="view_my_open_project_issue_graph" model="ir.ui.view">
@ -142,7 +142,7 @@
<field name="res_model">project.issue.report</field>
<field name="view_type">form</field>
<field name="view_mode">graph,tree,form,</field>
<field name="domain">[('state','=','open'),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
<field name="domain">[('state','=','open'),'|',('user_id','=',uid)]</field>
<field name="view_id" ref="view_my_open_project_issue_graph"/>
</record>
<record id="board_my_project_issue_form" model="ir.ui.view">

View File

@ -56,7 +56,7 @@ class project_issue(crm.crm_case, osv.osv):
"""
res = super(project_issue, self).case_open(cr, uid, ids, *args)
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'assigned_to' : uid})
self.write(cr, uid, ids, {'date_open': time.strftime('%Y-%m-%d %H:%M:%S'), 'user_id' : uid})
for (id, name) in self.name_get(cr, uid, ids):
message = _("Issue '%s' has been opened.") % name
self.log(cr, uid, id, message)
@ -174,8 +174,7 @@ class project_issue(crm.crm_case, osv.osv):
'date_deadline': fields.date('Deadline'),
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='Sales team to which Case belongs to.\
Define Responsible user and Email account for mail gateway.'),
'user_id': fields.related('project_id', 'user_id', type='many2one', relation='res.users', store=True, select=1, string='Responsible'),
Define Responsible user and Email account for mail gateway.'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', \
domain="[('partner_id','=',partner_id)]"),
@ -208,7 +207,7 @@ class project_issue(crm.crm_case, osv.osv):
multi='compute_day', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='compute_day', type="float", store=True),
'assigned_to': fields.many2one('res.users', 'Assigned to', required=False, select=1),
'user_id': fields.many2one('res.users', 'Assigned to', required=False, select=1),
'working_hours_open': fields.function(_compute_day, string='Working Hours to Open the Issue', \
multi='compute_day', type="float", store=True),
'working_hours_close': fields.function(_compute_day, string='Working Hours to Close the Issue', \
@ -230,17 +229,6 @@ class project_issue(crm.crm_case, osv.osv):
return user.context_project_id.id
return False
def on_change_project(self, cr, uid, ids, project_id, context=None):
result = {}
if project_id:
project = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
if project.user_id:
result['value'] = {'user_id' : project.user_id.id}
return result
_defaults = {
'active': 1,
#'user_id': crm.crm_case._get_default_user,
@ -282,7 +270,7 @@ class project_issue(crm.crm_case, osv.osv):
'date': bug.date,
'project_id': bug.project_id.id,
'priority': bug.priority,
'user_id': bug.assigned_to.id,
'user_id': bug.user_id.id,
'planned_hours': 0.0,
})
@ -350,7 +338,7 @@ class project_issue(crm.crm_case, osv.osv):
if not task_id:
return {'value':{}}
task = self.pool.get('project.task').browse(cr, uid, task_id, context=context)
return {'value':{'assigned_to': task.user_id.id,}}
return {'value':{'user_id': task.user_id.id,}}
def case_escalate(self, cr, uid, ids, *args):
"""Escalates case to top level

View File

@ -53,10 +53,9 @@
<form string="Issue Tracker Form">
<group colspan="4" col="6">
<field name="name"/>
<field name="project_id" required="True" on_change="on_change_project(project_id)"/>
<field name="project_id" required="True" />
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="user_id" invisible="1" />
<field name="assigned_to"/>
<field name="user_id"/>
<field name="version_id" colspan="2" widget="selection"/>
<group colspan="2" col="4">
<field name="type_id" string="Resolution" />
@ -188,7 +187,7 @@
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id" widget="selection"/>
<field name="assigned_to"/>
<field name="user_id"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
<field name="state"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
@ -217,8 +216,8 @@
<separator orientation="vertical"/>
<field name="name"/>
<field name="partner_id" groups="base.group_extended"/>
<field name="assigned_to">
<filter domain="[('assigned_to','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
<field name="user_id">
<filter domain="[('user_id','=',False)]" help="Unassigned Issues" icon="terp-personal-" separator="1"/>
</field>
<field name="project_id"/>
<field name="version_id" widget="selection"/>
@ -227,7 +226,7 @@
<newline/>
<group expand="0" string="Group By..." groups="base.group_extended">
<filter string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'assigned_to'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical"/>
@ -258,7 +257,7 @@
<field name="type">calendar</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Issues" date_start="date" color="assigned_to" date_delay="duration">
<calendar string="Issues" date_start="date" color="user_id" date_delay="duration">
<field name="name"/>
<field name="partner_id"/>
</calendar>
@ -283,7 +282,7 @@
<button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
<button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
<field name="version_id"/>
<field name="assigned_to"/>
<field name="user_id"/>
<field name="state"/>
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
<button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
@ -306,7 +305,7 @@
<separator orientation="vertical"/>
<group>
<field name="name" select='1' string="Feature description"/>
<field name="assigned_to" select="1"/>
<field name="user_id" select="1"/>
<field name="state" select="1">
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>

View File

@ -36,8 +36,7 @@ class project_issue_report(osv.osv):
_auto = False
_columns = {
'name': fields.char('Year', size=64, required=False, readonly=True),
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
'name': fields.char('Year', size=64, required=False, readonly=True),
'section_id':fields.many2one('crm.case.section', 'Sale Team', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'month':fields.selection([('01', 'January'), ('02', 'February'), \
@ -64,7 +63,7 @@ class project_issue_report(osv.osv):
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'project_id':fields.many2one('project.project', 'Project',readonly=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
'user_id' : fields.many2one('res.users', 'Assigned to',readonly=True),
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
'canal_id': fields.many2one('res.partner.canal', 'Channel',readonly=True),
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" ),
@ -95,7 +94,6 @@ class project_issue_report(osv.osv):
c.project_id as project_id,
c.version_id as version_id,
1 as nbr,
c.assigned_to,
c.partner_id,
c.canal_id,
c.task_id,

View File

@ -20,8 +20,7 @@
<field name="categ_id" invisible="1"/>
<field name="canal_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="assigned_to" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="date_closed" invisible="1"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
@ -89,16 +88,14 @@
</field>
<field name="project_id"/>
<field name="user_id" select="1" widget="selection" filter_domain="['|',('user_id','ilike',self),('assigned_to','ilike',self)]"/>
<field name="user_id" select="1" widget="selection" filter_domain="['|',('user_id','ilike',self)]"/>
<field name="partner_id"/>
<field name="version_id" widget="selection" />
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter name="User" string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="Assigned to" name="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'assigned_to'}" />
domain="[]" context="{'group_by':'user_id'}" />
<filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Sale Team" icon="terp-personal+"

View File

@ -33,8 +33,8 @@ class project_issue(osv.osv):
def on_change_project(self, cr, uid, ids, project_id, context=None):
if not project_id:
return {}
result = super(project_issue, self).on_change_project(cr, uid, ids, project_id, context=context)
result={}
#result = super(project_issue, self).on_change_project(cr, uid, ids, project_id, context=context)
project = self.pool.get('project.project').browse(cr, uid, project_id, context=context)
if 'value' not in result:

View File

@ -18,7 +18,7 @@
</xpath>
<notebook colspan="4">
<page string="Worklogs">
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : assigned_to, 'default_account_id' : analytic_account_id}">
<field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : user_id, 'default_account_id' : analytic_account_id}">
<tree editable="top" string="Timesheet">
<field name="name"/>
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" widget="float_time"/>