[MERGE] [IMP] crm, hr_recruitment, project, project_issue: use the newly-introduced widgets for the kanban state and the priority management.
This branch comes with a web branch holding those new widgets for form and kanban views. bzr revid: tde@openerp.com-20140508160126-ddr1p19k9cbjd09h
This commit is contained in:
commit
df2e290da5
|
@ -28,11 +28,11 @@ from openerp.osv import fields
|
||||||
from openerp.osv import osv
|
from openerp.osv import osv
|
||||||
|
|
||||||
AVAILABLE_PRIORITIES = [
|
AVAILABLE_PRIORITIES = [
|
||||||
('1', 'Highest'),
|
('0', 'Very Low'),
|
||||||
('2', 'High'),
|
('1', 'Low'),
|
||||||
('3', 'Normal'),
|
('2', 'Normal'),
|
||||||
('4', 'Low'),
|
('3', 'High'),
|
||||||
('5', 'Lowest'),
|
('4', 'Very High'),
|
||||||
]
|
]
|
||||||
|
|
||||||
class crm_case_channel(osv.osv):
|
class crm_case_channel(osv.osv):
|
||||||
|
|
|
@ -455,21 +455,6 @@ class crm_lead(format_address, osv.osv):
|
||||||
self.write(cr, uid, [case.id], data, context=context)
|
self.write(cr, uid, [case.id], data, context=context)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def set_priority(self, cr, uid, ids, priority, context=None):
|
|
||||||
""" Set lead priority
|
|
||||||
"""
|
|
||||||
return self.write(cr, uid, ids, {'priority': priority}, context=context)
|
|
||||||
|
|
||||||
def set_high_priority(self, cr, uid, ids, context=None):
|
|
||||||
""" Set lead priority to high
|
|
||||||
"""
|
|
||||||
return self.set_priority(cr, uid, ids, '1', context=context)
|
|
||||||
|
|
||||||
def set_normal_priority(self, cr, uid, ids, context=None):
|
|
||||||
""" Set lead priority to normal
|
|
||||||
"""
|
|
||||||
return self.set_priority(cr, uid, ids, '3', context=context)
|
|
||||||
|
|
||||||
def _merge_get_result_type(self, cr, uid, opps, context=None):
|
def _merge_get_result_type(self, cr, uid, opps, context=None):
|
||||||
"""
|
"""
|
||||||
Define the type of the result of the merge. If at least one of the
|
Define the type of the result of the merge. If at least one of the
|
||||||
|
|
|
@ -54,7 +54,7 @@ Could you please send me the details ?</field>
|
||||||
<field name="type_id" ref="type_lead7"/>
|
<field name="type_id" ref="type_lead7"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">1</field>
|
||||||
<field name="section_id" ref="section_sales_department"/>
|
<field name="section_id" ref="section_sales_department"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="stage_id" ref="stage_lead1"/>
|
<field name="stage_id" ref="stage_lead1"/>
|
||||||
|
@ -104,7 +104,7 @@ Could you please send me the details ?</field>
|
||||||
<field name="type_id" ref="type_lead8"/>
|
<field name="type_id" ref="type_lead8"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor5])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor5])]"/>
|
||||||
<field name="channel_id" ref=""/>
|
<field name="channel_id" ref=""/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field name="section_id" ref="crm_case_section_2"/>
|
<field name="section_id" ref="crm_case_section_2"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="stage_id" ref="stage_lead6"/>
|
<field name="stage_id" ref="stage_lead6"/>
|
||||||
|
@ -129,7 +129,7 @@ Could you please send me the details ?</field>
|
||||||
<field name="type_id" ref="type_lead3"/>
|
<field name="type_id" ref="type_lead3"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor1])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field name="section_id" ref="crm_case_section_1"/>
|
<field name="section_id" ref="crm_case_section_1"/>
|
||||||
<field name="user_id" ref=""/>
|
<field name="user_id" ref=""/>
|
||||||
<field name="stage_id" ref="stage_lead1"/>
|
<field name="stage_id" ref="stage_lead1"/>
|
||||||
|
@ -156,7 +156,7 @@ Contact: +1 813 494 5005</field>
|
||||||
<field name="type_id" ref="type_lead3"/>
|
<field name="type_id" ref="type_lead3"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor3,categ_oppor4])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor3,categ_oppor4])]"/>
|
||||||
<field name="channel_id" ref=""/>
|
<field name="channel_id" ref=""/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field name="section_id" ref="crm_case_section_2"/>
|
<field name="section_id" ref="crm_case_section_2"/>
|
||||||
<field name="user_id" ref=""/>
|
<field name="user_id" ref=""/>
|
||||||
<field name="stage_id" ref="stage_lead1"/>
|
<field name="stage_id" ref="stage_lead1"/>
|
||||||
|
@ -174,7 +174,7 @@ Contact: +1 813 494 5005</field>
|
||||||
<field name="type_id" ref="type_lead8"/>
|
<field name="type_id" ref="type_lead8"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor4])]"/>
|
||||||
<field name="channel_id" ref=""/>
|
<field name="channel_id" ref=""/>
|
||||||
<field name="priority">5</field>
|
<field name="priority">0</field>
|
||||||
<field name="section_id" ref="crm_case_section_2"/>
|
<field name="section_id" ref="crm_case_section_2"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="stage_id" ref="stage_lead1"/>
|
<field name="stage_id" ref="stage_lead1"/>
|
||||||
|
@ -193,7 +193,7 @@ Contact: +1 813 494 5005</field>
|
||||||
<field name="type_id" ref="type_lead5"/>
|
<field name="type_id" ref="type_lead5"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor6,categ_oppor8])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor6,categ_oppor8])]"/>
|
||||||
<field name="channel_id" ref=""/>
|
<field name="channel_id" ref=""/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">1</field>
|
||||||
<field name="section_id" ref="section_sales_department"/>
|
<field name="section_id" ref="section_sales_department"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="stage_id" ref="stage_lead1"/>
|
<field name="stage_id" ref="stage_lead1"/>
|
||||||
|
@ -253,7 +253,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead3"/>
|
<field name="type_id" ref="type_lead3"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_direct"/>
|
<field name="channel_id" ref="crm_case_channel_direct"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field name="section_id" ref="crm_case_section_1"/>
|
<field name="section_id" ref="crm_case_section_1"/>
|
||||||
<field name="user_id" ref=""/>
|
<field name="user_id" ref=""/>
|
||||||
<field name="stage_id" ref="stage_lead1"/>
|
<field name="stage_id" ref="stage_lead1"/>
|
||||||
|
@ -331,7 +331,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead3"/>
|
<field name="type_id" ref="type_lead3"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field eval="time.strftime('%Y-%m-23')" name="date_deadline"/>
|
<field eval="time.strftime('%Y-%m-23')" name="date_deadline"/>
|
||||||
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
||||||
<field name="title_action">Send Catalogue by Email</field>
|
<field name="title_action">Send Catalogue by Email</field>
|
||||||
|
@ -404,7 +404,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead3"/>
|
<field name="type_id" ref="type_lead3"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor3,categ_oppor4])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor3,categ_oppor4])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">1</field>
|
||||||
<field eval="time.strftime('%Y-%m-8')" name="date_deadline"/>
|
<field eval="time.strftime('%Y-%m-8')" name="date_deadline"/>
|
||||||
<field eval="time.strftime('%Y-%m-3')" name="date_action"/>
|
<field eval="time.strftime('%Y-%m-3')" name="date_action"/>
|
||||||
<field name="title_action">Send price list regarding our interventions</field>
|
<field name="title_action">Send price list regarding our interventions</field>
|
||||||
|
@ -431,7 +431,7 @@ Andrew</field>
|
||||||
<field name="partner_id" ref="base.res_partner_4"/>
|
<field name="partner_id" ref="base.res_partner_4"/>
|
||||||
<field name="type_id" ref="type_lead8"/>
|
<field name="type_id" ref="type_lead8"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor4,categ_oppor6])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor4,categ_oppor6])]"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">1</field>
|
||||||
<field eval="time.strftime('%Y-%m-13')" name="date_deadline"/>
|
<field eval="time.strftime('%Y-%m-13')" name="date_deadline"/>
|
||||||
<field eval="time.strftime('%Y-%m-4')" name="date_action"/>
|
<field eval="time.strftime('%Y-%m-4')" name="date_action"/>
|
||||||
<field name="title_action">Call to define real needs about training</field>
|
<field name="title_action">Call to define real needs about training</field>
|
||||||
|
@ -492,7 +492,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead2"/>
|
<field name="type_id" ref="type_lead2"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_phone"/>
|
<field name="channel_id" ref="crm_case_channel_phone"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field name="section_id" ref="crm_case_section_2"/>
|
<field name="section_id" ref="crm_case_section_2"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||||
|
@ -510,7 +510,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead7"/>
|
<field name="type_id" ref="type_lead7"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_email"/>
|
<field name="channel_id" ref="crm_case_channel_email"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="section_id" ref="crm_case_section_2"/>
|
<field name="section_id" ref="crm_case_section_2"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead5"/>
|
<field name="stage_id" ref="crm.stage_lead5"/>
|
||||||
|
@ -525,7 +525,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead5"/>
|
<field name="type_id" ref="type_lead5"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor3])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_direct"/>
|
<field name="channel_id" ref="crm_case_channel_direct"/>
|
||||||
<field name="priority">5</field>
|
<field name="priority">0</field>
|
||||||
<field name="section_id" ref="section_sales_department"/>
|
<field name="section_id" ref="section_sales_department"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead5"/>
|
<field name="stage_id" ref="crm.stage_lead5"/>
|
||||||
|
@ -543,7 +543,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead8"/>
|
<field name="type_id" ref="type_lead8"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor7])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||||
<field name="priority">5</field>
|
<field name="priority">0</field>
|
||||||
<field eval="time.strftime('%Y-%m-6')" name="date_deadline"/>
|
<field eval="time.strftime('%Y-%m-6')" name="date_deadline"/>
|
||||||
<field name="section_id" ref="section_sales_department"/>
|
<field name="section_id" ref="section_sales_department"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
|
@ -588,7 +588,7 @@ Andrew</field>
|
||||||
<field name="type_id" ref="type_lead3"/>
|
<field name="type_id" ref="type_lead3"/>
|
||||||
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
<field name="categ_ids" eval="[(6, 0, [categ_oppor2])]"/>
|
||||||
<field name="channel_id" ref="crm_case_channel_website"/>
|
<field name="channel_id" ref="crm_case_channel_website"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">2</field>
|
||||||
<field eval="time.strftime('%Y-%m-23')" name="date_deadline"/>
|
<field eval="time.strftime('%Y-%m-23')" name="date_deadline"/>
|
||||||
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
<field eval="time.strftime('%Y-%m-10')" name="date_action"/>
|
||||||
<field name="title_action">Send Catalogue by Email</field>
|
<field name="title_action">Send Catalogue by Email</field>
|
||||||
|
|
|
@ -158,7 +158,7 @@
|
||||||
<field name="type" invisible="1"/>
|
<field name="type" invisible="1"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="priority"/>
|
<field name="priority" widget="priority"/>
|
||||||
<field name="categ_ids"
|
<field name="categ_ids"
|
||||||
widget="many2many_tags"
|
widget="many2many_tags"
|
||||||
domain="[('object_id.model','=','crm.lead')]"
|
domain="[('object_id.model','=','crm.lead')]"
|
||||||
|
@ -303,9 +303,10 @@
|
||||||
<field name="title_action"/>
|
<field name="title_action"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_kanban_bottom_right">
|
<div class="oe_kanban_bottom_right">
|
||||||
<a t-if="record.priority.raw_value == 1" type="object" name="set_normal_priority" class="oe_e oe_star_on">7</a>
|
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
|
||||||
<a t-if="record.priority.raw_value != 1" type="object" name="set_high_priority" class="oe_e oe_star_off">7</a>
|
<div class="pull-left" groups="base.group_user">
|
||||||
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar" t-if="record.user_id.value"/>
|
<field name="priority" widget="priority"/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_kanban_footer_left">
|
<div class="oe_kanban_footer_left">
|
||||||
<t t-raw="record.message_summary.raw_value"/>
|
<t t-raw="record.message_summary.raw_value"/>
|
||||||
|
@ -430,7 +431,7 @@
|
||||||
<field name="title_action" class="oe_inline" nolabel="1" placeholder="e.g. Call for proposal"/>
|
<field name="title_action" class="oe_inline" nolabel="1" placeholder="e.g. Call for proposal"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="date_deadline"/>
|
<field name="date_deadline"/>
|
||||||
<field name="priority"/>
|
<field name="priority" widget="priority"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group>
|
<group>
|
||||||
|
|
|
@ -62,7 +62,7 @@ class crm_phonecall(osv.osv):
|
||||||
('object_id.model', '=', 'crm.phonecall')]"),
|
('object_id.model', '=', 'crm.phonecall')]"),
|
||||||
'partner_phone': fields.char('Phone', size=32),
|
'partner_phone': fields.char('Phone', size=32),
|
||||||
'partner_mobile': fields.char('Mobile', size=32),
|
'partner_mobile': fields.char('Mobile', size=32),
|
||||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority'),
|
||||||
'date_closed': fields.datetime('Closed', readonly=True),
|
'date_closed': fields.datetime('Closed', readonly=True),
|
||||||
'date': fields.datetime('Date'),
|
'date': fields.datetime('Date'),
|
||||||
'opportunity_id': fields.many2one ('crm.lead', 'Lead/Opportunity'),
|
'opportunity_id': fields.many2one ('crm.lead', 'Lead/Opportunity'),
|
||||||
|
@ -75,7 +75,7 @@ class crm_phonecall(osv.osv):
|
||||||
|
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'date': fields.datetime.now,
|
'date': fields.datetime.now,
|
||||||
'priority': crm.AVAILABLE_PRIORITIES[2][0],
|
'priority': '1',
|
||||||
'state': _get_default_state,
|
'state': _get_default_state,
|
||||||
'user_id': lambda self, cr, uid, ctx: uid,
|
'user_id': lambda self, cr, uid, ctx: uid,
|
||||||
'active': 1
|
'active': 1
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<record id="crm_phonecall_1" model="crm.phonecall">
|
<record id="crm_phonecall_1" model="crm.phonecall">
|
||||||
<field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/>
|
<field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_11"/>
|
<field name="partner_id" ref="base.res_partner_11"/>
|
||||||
<field eval="'3'" name="priority"/>
|
<field eval="'1'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="name">Left the message</field>
|
<field name="name">Left the message</field>
|
||||||
<field name="state">done</field>
|
<field name="state">done</field>
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<record id="crm_phonecall_2" model="crm.phonecall">
|
<record id="crm_phonecall_2" model="crm.phonecall">
|
||||||
<field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/>
|
<field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_7"/>
|
<field name="partner_id" ref="base.res_partner_7"/>
|
||||||
<field eval="'4'" name="priority"/>
|
<field eval="'0'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="name">Need more information on the proposed deal</field>
|
<field name="name">Need more information on the proposed deal</field>
|
||||||
<field name="state">done</field>
|
<field name="state">done</field>
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
</record>
|
</record>
|
||||||
<record id="crm_phonecall_4" model="crm.phonecall">
|
<record id="crm_phonecall_4" model="crm.phonecall">
|
||||||
<field eval="time.strftime('%Y-%m-21 14:10:23')" name="date"/>
|
<field eval="time.strftime('%Y-%m-21 14:10:23')" name="date"/>
|
||||||
<field eval="'3'" name="priority"/>
|
<field eval="'1'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="name">Wanted information about pricing of laptops</field>
|
<field name="name">Wanted information about pricing of laptops</field>
|
||||||
<field name="state">done</field>
|
<field name="state">done</field>
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<record id="crm_phonecall_5" model="crm.phonecall">
|
<record id="crm_phonecall_5" model="crm.phonecall">
|
||||||
<field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/>
|
<field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_5"/>
|
<field name="partner_id" ref="base.res_partner_5"/>
|
||||||
<field eval="'3'" name="priority"/>
|
<field eval="'1'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="name">More information on the proposed deal</field>
|
<field name="name">More information on the proposed deal</field>
|
||||||
<field name="state">pending</field>
|
<field name="state">pending</field>
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
<field eval="2.08" name="duration"/>
|
<field eval="2.08" name="duration"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="crm_phonecall_6" model="crm.phonecall">
|
<record id="crm_phonecall_6" model="crm.phonecall">
|
||||||
<field eval="'3'" name="priority"/>
|
<field eval="'1'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="name">Proposal for discount offer</field>
|
<field name="name">Proposal for discount offer</field>
|
||||||
<field name="state">open</field>
|
<field name="state">open</field>
|
||||||
|
|
|
@ -103,7 +103,7 @@
|
||||||
<field name="categ_id" widget="selection"
|
<field name="categ_id" widget="selection"
|
||||||
domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||||
<field name="partner_mobile"/>
|
<field name="partner_mobile"/>
|
||||||
<field name="priority"/>
|
<field name="priority" widget="priority"/>
|
||||||
<field name="opportunity_id" on_change="on_change_opportunity(opportunity_id)"/>
|
<field name="opportunity_id" on_change="on_change_opportunity(opportunity_id)"/>
|
||||||
</group>
|
</group>
|
||||||
<field name="description" placeholder="Description..."/>
|
<field name="description" placeholder="Description..."/>
|
||||||
|
|
|
@ -42,7 +42,7 @@ class crm_phonecall_report(osv.osv):
|
||||||
_columns = {
|
_columns = {
|
||||||
'user_id':fields.many2one('res.users', 'User', readonly=True),
|
'user_id':fields.many2one('res.users', 'User', readonly=True),
|
||||||
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
|
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
|
||||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority'),
|
||||||
'nbr': fields.integer('# of Cases', readonly=True),
|
'nbr': fields.integer('# of Cases', readonly=True),
|
||||||
'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
|
'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
|
||||||
'create_date': fields.datetime('Create Date', readonly=True, select=True),
|
'create_date': fields.datetime('Create Date', readonly=True, select=True),
|
||||||
|
|
|
@ -88,7 +88,7 @@ class crm_claim(osv.osv):
|
||||||
'categ_id': fields.many2one('crm.case.categ', 'Category', \
|
'categ_id': fields.many2one('crm.case.categ', 'Category', \
|
||||||
domain="[('section_id','=',section_id),\
|
domain="[('section_id','=',section_id),\
|
||||||
('object_id.model', '=', 'crm.claim')]"),
|
('object_id.model', '=', 'crm.claim')]"),
|
||||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority'),
|
||||||
'type_action': fields.selection([('correction','Corrective Action'),('prevention','Preventive Action')], 'Action Type'),
|
'type_action': fields.selection([('correction','Corrective Action'),('prevention','Preventive Action')], 'Action Type'),
|
||||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||||
'user_fault': fields.char('Trouble Responsible', size=64),
|
'user_fault': fields.char('Trouble Responsible', size=64),
|
||||||
|
@ -111,7 +111,7 @@ class crm_claim(osv.osv):
|
||||||
'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
|
'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c),
|
||||||
'date': fields.datetime.now,
|
'date': fields.datetime.now,
|
||||||
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
|
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.case', context=c),
|
||||||
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
|
'priority': '1',
|
||||||
'active': lambda *a: 1,
|
'active': lambda *a: 1,
|
||||||
'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c)
|
'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<record id="crm_claim_1" model="crm.claim">
|
<record id="crm_claim_1" model="crm.claim">
|
||||||
<field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/>
|
<field eval="time.strftime('%Y-%m-04 10:45:36')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_11"/>
|
<field name="partner_id" ref="base.res_partner_11"/>
|
||||||
<field eval=""3"" name="priority"/>
|
<field eval=""1"" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval=""Problem with the delivery of goods"" name="name"/>
|
<field eval=""Problem with the delivery of goods"" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
<record id="crm_claim_2" model="crm.claim">
|
<record id="crm_claim_2" model="crm.claim">
|
||||||
<field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/>
|
<field eval="time.strftime('%Y-%m-11 11:19:25')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_6"/>
|
<field name="partner_id" ref="base.res_partner_6"/>
|
||||||
<field eval=""4"" name="priority"/>
|
<field eval=""0"" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval=""Damaged Products"" name="name"/>
|
<field eval=""Damaged Products"" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
<record id="crm_claim_4" model="crm.claim">
|
<record id="crm_claim_4" model="crm.claim">
|
||||||
<field eval="time.strftime('%Y-%m-21 14:10:23')" name="date"/>
|
<field eval="time.strftime('%Y-%m-21 14:10:23')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_18"/>
|
<field name="partner_id" ref="base.res_partner_18"/>
|
||||||
<field eval=""3"" name="priority"/>
|
<field eval=""1"" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval=""Product quality not maintained"" name="name"/>
|
<field eval=""Product quality not maintained"" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<record id="crm_claim_5" model="crm.claim">
|
<record id="crm_claim_5" model="crm.claim">
|
||||||
<field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/>
|
<field eval="time.strftime('%Y-%m-28 16:20:43')" name="date"/>
|
||||||
<field name="partner_id" ref="base.res_partner_5"/>
|
<field name="partner_id" ref="base.res_partner_5"/>
|
||||||
<field eval=""3"" name="priority"/>
|
<field eval=""1"" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval=""Some products missing"" name="name"/>
|
<field eval=""Some products missing"" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
|
|
||||||
<record id="crm_claim_6" model="crm.claim">
|
<record id="crm_claim_6" model="crm.claim">
|
||||||
<field name="partner_id" ref="base.res_partner_9"/>
|
<field name="partner_id" ref="base.res_partner_9"/>
|
||||||
<field eval=""3"" name="priority"/>
|
<field eval=""1"" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval=""Problem with the delivery of assignments"" name="name"/>
|
<field eval=""Problem with the delivery of assignments"" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
|
|
||||||
<record id="crm_claim_7" model="crm.claim">
|
<record id="crm_claim_7" model="crm.claim">
|
||||||
<field name="partner_id" ref="base.res_partner_19"/>
|
<field name="partner_id" ref="base.res_partner_19"/>
|
||||||
<field eval=""3"" name="priority"/>
|
<field eval=""1"" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval=""Documents unclear"" name="name"/>
|
<field eval=""Documents unclear"" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
|
|
@ -107,7 +107,7 @@
|
||||||
</group>
|
</group>
|
||||||
<group colspan="4" col="4" groups="base.group_user">
|
<group colspan="4" col="4" groups="base.group_user">
|
||||||
<field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_sale_salesman_all_leads']}"/>
|
<field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_sale_salesman_all_leads']}"/>
|
||||||
<field name="priority"/>
|
<field name="priority" widget="priority"/>
|
||||||
<field name="section_id" groups="base.group_multi_salesteams"/>
|
<field name="section_id" groups="base.group_multi_salesteams"/>
|
||||||
<field name="date_deadline"/>
|
<field name="date_deadline"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
|
@ -23,11 +23,9 @@ from openerp.osv import fields,osv
|
||||||
from openerp import tools
|
from openerp import tools
|
||||||
|
|
||||||
AVAILABLE_PRIORITIES = [
|
AVAILABLE_PRIORITIES = [
|
||||||
('5', 'Lowest'),
|
('0', 'Low'),
|
||||||
('4', 'Low'),
|
('1', 'Normal'),
|
||||||
('3', 'Normal'),
|
('2', 'High')
|
||||||
('2', 'High'),
|
|
||||||
('1', 'Highest')
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ class crm_helpdesk(osv.osv):
|
||||||
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
|
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
|
||||||
'planned_revenue': fields.float('Planned Revenue'),
|
'planned_revenue': fields.float('Planned Revenue'),
|
||||||
'planned_cost': fields.float('Planned Costs'),
|
'planned_cost': fields.float('Planned Costs'),
|
||||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority'),
|
||||||
'probability': fields.float('Probability (%)'),
|
'probability': fields.float('Probability (%)'),
|
||||||
'categ_id': fields.many2one('crm.case.categ', 'Category', \
|
'categ_id': fields.many2one('crm.case.categ', 'Category', \
|
||||||
domain="['|',('section_id','=',False),('section_id','=',section_id),\
|
domain="['|',('section_id','=',False),('section_id','=',section_id),\
|
||||||
|
@ -83,7 +83,7 @@ class crm_helpdesk(osv.osv):
|
||||||
'state': lambda *a: 'draft',
|
'state': lambda *a: 'draft',
|
||||||
'date': fields.datetime.now,
|
'date': fields.datetime.now,
|
||||||
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
|
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
|
||||||
'priority': lambda *a: crm.AVAILABLE_PRIORITIES[2][0],
|
'priority': '1',
|
||||||
}
|
}
|
||||||
|
|
||||||
def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
|
def on_change_partner_id(self, cr, uid, ids, partner_id, context=None):
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<field eval="1" name="active"/>
|
<field eval="1" name="active"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="state">draft</field>
|
<field name="state">draft</field>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="date" eval="time.strftime('%Y-%m-04 11:10:36')"/>
|
<field name="date" eval="time.strftime('%Y-%m-04 11:10:36')"/>
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
<field eval="1" name="active"/>
|
<field eval="1" name="active"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="state">draft</field>
|
<field name="state">draft</field>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="date" eval="time.strftime('%Y-%m-12 11:12:09')"/>
|
<field name="date" eval="time.strftime('%Y-%m-12 11:12:09')"/>
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
<field name="partner_id" ref="base.res_partner_2"/>
|
<field name="partner_id" ref="base.res_partner_2"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="company_id" ref="base.main_company"/>
|
<field name="company_id" ref="base.main_company"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="state">draft</field>
|
<field name="state">draft</field>
|
||||||
<field name="date" eval="time.strftime('%Y-%m-12 11:15:17')"/>
|
<field name="date" eval="time.strftime('%Y-%m-12 11:15:17')"/>
|
||||||
<field name="name">How to create a new module</field>
|
<field name="name">How to create a new module</field>
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
<field name="email_from"/>
|
<field name="email_from"/>
|
||||||
</group>
|
</group>
|
||||||
<group string="Categorization">
|
<group string="Categorization">
|
||||||
<field name="priority"/>
|
<field name="priority" widget="priority"/>
|
||||||
<field name="categ_id" domain="[('object_id.model', '=', 'crm.helpdesk')]" context="{'object_name': 'crm.helpdesk'}"/>
|
<field name="categ_id" domain="[('object_id.model', '=', 'crm.helpdesk')]" context="{'object_name': 'crm.helpdesk'}"/>
|
||||||
<field name="channel_id"/>
|
<field name="channel_id"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
|
@ -25,12 +25,11 @@ from openerp.tools.translate import _
|
||||||
|
|
||||||
|
|
||||||
AVAILABLE_PRIORITIES = [
|
AVAILABLE_PRIORITIES = [
|
||||||
('', ''),
|
('0', 'Bad'),
|
||||||
('5', 'Not Good'),
|
('1', 'Below Average'),
|
||||||
('4', 'On Average'),
|
('2', 'Average'),
|
||||||
('3', 'Good'),
|
('3', 'Good'),
|
||||||
('2', 'Very Good'),
|
('4', 'Excellent')
|
||||||
('1', 'Excellent')
|
|
||||||
]
|
]
|
||||||
|
|
||||||
class hr_recruitment_source(osv.osv):
|
class hr_recruitment_source(osv.osv):
|
||||||
|
@ -489,21 +488,6 @@ class hr_applicant(osv.Model):
|
||||||
dict_act_window['view_mode'] = 'form,tree'
|
dict_act_window['view_mode'] = 'form,tree'
|
||||||
return dict_act_window
|
return dict_act_window
|
||||||
|
|
||||||
def set_priority(self, cr, uid, ids, priority, *args):
|
|
||||||
"""Set applicant priority
|
|
||||||
"""
|
|
||||||
return self.write(cr, uid, ids, {'priority': priority})
|
|
||||||
|
|
||||||
def set_high_priority(self, cr, uid, ids, *args):
|
|
||||||
"""Set applicant priority to high
|
|
||||||
"""
|
|
||||||
return self.set_priority(cr, uid, ids, '1')
|
|
||||||
|
|
||||||
def set_normal_priority(self, cr, uid, ids, *args):
|
|
||||||
"""Set applicant priority to normal
|
|
||||||
"""
|
|
||||||
return self.set_priority(cr, uid, ids, '3')
|
|
||||||
|
|
||||||
def get_empty_list_help(self, cr, uid, help, context=None):
|
def get_empty_list_help(self, cr, uid, help, context=None):
|
||||||
context['empty_list_help_model'] = 'hr.job'
|
context['empty_list_help_model'] = 'hr.job'
|
||||||
context['empty_list_help_id'] = context.get('default_job_id', None)
|
context['empty_list_help_id'] = context.get('default_job_id', None)
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
<field name="type_id" ref="degree_licenced"/>
|
<field name="type_id" ref="degree_licenced"/>
|
||||||
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_reserve')])]"/>
|
<field name="categ_ids" eval="[(6,0,[ref('tag_applicant_reserve')])]"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">2</field>
|
||||||
<field name="partner_name">David Armstrong</field>
|
<field name="partner_name">David Armstrong</field>
|
||||||
<field name="stage_id" ref="stage_job2"/>
|
<field name="stage_id" ref="stage_job2"/>
|
||||||
<field name="partner_phone">33968745</field>
|
<field name="partner_phone">33968745</field>
|
||||||
|
|
|
@ -130,7 +130,7 @@
|
||||||
<field name="date_action"/>
|
<field name="date_action"/>
|
||||||
<field name="title_action" class="oe_inline" placeholder="e.g. Call for interview"/>
|
<field name="title_action" class="oe_inline" placeholder="e.g. Call for interview"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="priority"/>
|
<field name="priority" widget="priority"/>
|
||||||
<field name="source_id"/>
|
<field name="source_id"/>
|
||||||
<field name="reference"/>
|
<field name="reference"/>
|
||||||
</group>
|
</group>
|
||||||
|
@ -293,22 +293,11 @@
|
||||||
<field name="title_action"/>
|
<field name="title_action"/>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:240px"><field name="categ_ids"/></div>
|
<div style="width:240px"><field name="categ_ids"/></div>
|
||||||
<div class="oe_kanban_right">
|
<div class="oe_kanban_bottom_right">
|
||||||
<t t-set="priority" t-value="record.priority.raw_value || 5"/>
|
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
|
||||||
<a type="object" name="set_priority" args="['3']" t-if="priority gt 3">
|
<div class="pull-left" groups="base.group_user">
|
||||||
<img src="/web/static/src/img/icons/star-off.png" width="16" height="16" title="Good"/>
|
<field name="priority" widget="priority"/>
|
||||||
</a>
|
</div>
|
||||||
<a type="object" name="set_priority" args="['5']" t-if="priority lte 3">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16" title="Good"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['2']">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16" title="Very Good"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['1']">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16" title="Excellent"/>
|
|
||||||
</a>
|
|
||||||
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_kanban_footer_left" style="margin-top:5px;">
|
<div class="oe_kanban_footer_left" style="margin-top:5px;">
|
||||||
<t t-raw="record.message_summary.raw_value"/>
|
<t t-raw="record.message_summary.raw_value"/>
|
||||||
|
|
|
@ -38,21 +38,7 @@
|
||||||
<field name="categ_ids"/>
|
<field name="categ_ids"/>
|
||||||
<div class="oe_right">
|
<div class="oe_right">
|
||||||
Creation: <field name="create_date"/>
|
Creation: <field name="create_date"/>
|
||||||
<span class="oe_kanban_highlight">
|
<field name="priority" widget="priority"/>
|
||||||
<t t-set="priority" t-value="record.priority.raw_value || 5"/>
|
|
||||||
<a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority">
|
|
||||||
<img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['2']" title="High Priority">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['1']" title="Highest Priority">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
<t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())">
|
<t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())">
|
||||||
<span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span>
|
<span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span>
|
||||||
</t>
|
</t>
|
||||||
|
|
|
@ -565,6 +565,7 @@ class task(osv.osv):
|
||||||
},
|
},
|
||||||
'kanban_state': {
|
'kanban_state': {
|
||||||
'project.mt_task_blocked': lambda self, cr, uid, obj, ctx=None: obj.kanban_state == 'blocked',
|
'project.mt_task_blocked': lambda self, cr, uid, obj, ctx=None: obj.kanban_state == 'blocked',
|
||||||
|
'project.mt_task_ready': lambda self, cr, uid, obj, ctx=None: obj.kanban_state == 'done',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -740,18 +741,18 @@ class task(osv.osv):
|
||||||
'active': fields.function(_is_template, store=True, string='Not a Template Task', type='boolean', help="This field is computed automatically and have the same behavior than the boolean 'active' field: if the task is linked to a template or unactivated project, it will be hidden unless specifically asked."),
|
'active': fields.function(_is_template, store=True, string='Not a Template Task', type='boolean', help="This field is computed automatically and have the same behavior than the boolean 'active' field: if the task is linked to a template or unactivated project, it will be hidden unless specifically asked."),
|
||||||
'name': fields.char('Task Summary', track_visibility='onchange', size=128, required=True, select=True),
|
'name': fields.char('Task Summary', track_visibility='onchange', size=128, required=True, select=True),
|
||||||
'description': fields.text('Description'),
|
'description': fields.text('Description'),
|
||||||
'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority', select=True),
|
||||||
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
|
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
|
||||||
'stage_id': fields.many2one('project.task.type', 'Stage', track_visibility='onchange', select=True,
|
'stage_id': fields.many2one('project.task.type', 'Stage', track_visibility='onchange', select=True,
|
||||||
domain="[('project_ids', '=', project_id)]"),
|
domain="[('project_ids', '=', project_id)]"),
|
||||||
'categ_ids': fields.many2many('project.category', string='Tags'),
|
'categ_ids': fields.many2many('project.category', string='Tags'),
|
||||||
'kanban_state': fields.selection([('normal', 'Normal'),('blocked', 'Blocked'),('done', 'Ready for next stage')], 'Kanban State',
|
'kanban_state': fields.selection([('normal', 'In Progress'),('blocked', 'Blocked'),('done', 'Ready for next stage')], 'Kanban State',
|
||||||
track_visibility='onchange',
|
track_visibility='onchange',
|
||||||
help="A task's kanban state indicates special situations affecting it:\n"
|
help="A task's kanban state indicates special situations affecting it:\n"
|
||||||
" * Normal is the default situation\n"
|
" * Normal is the default situation\n"
|
||||||
" * Blocked indicates something is preventing the progress of this task\n"
|
" * Blocked indicates something is preventing the progress of this task\n"
|
||||||
" * Ready for next stage indicates the task is ready to be pulled to the next stage",
|
" * Ready for next stage indicates the task is ready to be pulled to the next stage",
|
||||||
readonly=True, required=False),
|
required=False),
|
||||||
'create_date': fields.datetime('Create Date', readonly=True, select=True),
|
'create_date': fields.datetime('Create Date', readonly=True, select=True),
|
||||||
'write_date': fields.datetime('Last Modification Date', readonly=True, select=True), #not displayed in the view but it might be useful with base_action_rule module (and it needs to be defined first for that)
|
'write_date': fields.datetime('Last Modification Date', readonly=True, select=True), #not displayed in the view but it might be useful with base_action_rule module (and it needs to be defined first for that)
|
||||||
'date_start': fields.datetime('Starting Date',select=True),
|
'date_start': fields.datetime('Starting Date',select=True),
|
||||||
|
@ -799,7 +800,7 @@ class task(osv.osv):
|
||||||
'project_id': _get_default_project_id,
|
'project_id': _get_default_project_id,
|
||||||
'date_last_stage_update': fields.datetime.now,
|
'date_last_stage_update': fields.datetime.now,
|
||||||
'kanban_state': 'normal',
|
'kanban_state': 'normal',
|
||||||
'priority': '2',
|
'priority': '1',
|
||||||
'progress': 0,
|
'progress': 0,
|
||||||
'sequence': 10,
|
'sequence': 10,
|
||||||
'active': True,
|
'active': True,
|
||||||
|
@ -808,17 +809,7 @@ class task(osv.osv):
|
||||||
'partner_id': lambda self, cr, uid, ctx=None: self._get_default_partner(cr, uid, context=ctx),
|
'partner_id': lambda self, cr, uid, ctx=None: self._get_default_partner(cr, uid, context=ctx),
|
||||||
}
|
}
|
||||||
_order = "priority, sequence, date_start, name, id"
|
_order = "priority, sequence, date_start, name, id"
|
||||||
|
|
||||||
def set_high_priority(self, cr, uid, ids, *args):
|
|
||||||
"""Set task priority to high
|
|
||||||
"""
|
|
||||||
return self.write(cr, uid, ids, {'priority' : '0'})
|
|
||||||
|
|
||||||
def set_normal_priority(self, cr, uid, ids, *args):
|
|
||||||
"""Set task priority to normal
|
|
||||||
"""
|
|
||||||
return self.write(cr, uid, ids, {'priority' : '2'})
|
|
||||||
|
|
||||||
def _check_recursion(self, cr, uid, ids, context=None):
|
def _check_recursion(self, cr, uid, ids, context=None):
|
||||||
for id in ids:
|
for id in ids:
|
||||||
visited_branch = set()
|
visited_branch = set()
|
||||||
|
@ -1003,16 +994,6 @@ class task(osv.osv):
|
||||||
def set_remaining_time_10(self, cr, uid, ids, context=None):
|
def set_remaining_time_10(self, cr, uid, ids, context=None):
|
||||||
return self.set_remaining_time(cr, uid, ids, 10.0, context)
|
return self.set_remaining_time(cr, uid, ids, 10.0, context)
|
||||||
|
|
||||||
def set_kanban_state_blocked(self, cr, uid, ids, context=None):
|
|
||||||
return self.write(cr, uid, ids, {'kanban_state': 'blocked'}, context=context)
|
|
||||||
|
|
||||||
def set_kanban_state_normal(self, cr, uid, ids, context=None):
|
|
||||||
return self.write(cr, uid, ids, {'kanban_state': 'normal'}, context=context)
|
|
||||||
|
|
||||||
def set_kanban_state_done(self, cr, uid, ids, context=None):
|
|
||||||
self.write(cr, uid, ids, {'kanban_state': 'done'}, context=context)
|
|
||||||
return False
|
|
||||||
|
|
||||||
def _store_history(self, cr, uid, ids, context=None):
|
def _store_history(self, cr, uid, ids, context=None):
|
||||||
for task in self.browse(cr, uid, ids, context=context):
|
for task in self.browse(cr, uid, ids, context=context):
|
||||||
self.pool.get('project.task.history').create(cr, uid, {
|
self.pool.get('project.task.history').create(cr, uid, {
|
||||||
|
|
|
@ -93,6 +93,12 @@
|
||||||
<field name="default" eval="False"/>
|
<field name="default" eval="False"/>
|
||||||
<field name="description">Task blocked</field>
|
<field name="description">Task blocked</field>
|
||||||
</record>
|
</record>
|
||||||
|
<record id="mt_task_ready" model="mail.message.subtype">
|
||||||
|
<field name="name">Task Ready for Next Stage</field>
|
||||||
|
<field name="res_model">project.task</field>
|
||||||
|
<field name="default" eval="False"/>
|
||||||
|
<field name="description">Task Ready for Next Stage</field>
|
||||||
|
</record>
|
||||||
<record id="mt_task_stage" model="mail.message.subtype">
|
<record id="mt_task_stage" model="mail.message.subtype">
|
||||||
<field name="name">Stage Changed</field>
|
<field name="name">Stage Changed</field>
|
||||||
<field name="res_model">project.task</field>
|
<field name="res_model">project.task</field>
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
<field name="planned_hours" eval="40.0"/>
|
<field name="planned_hours" eval="40.0"/>
|
||||||
<field name="remaining_hours" eval="40.0"/>
|
<field name="remaining_hours" eval="40.0"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="project_id" ref="project.project_project_1"/>
|
<field name="project_id" ref="project.project_project_1"/>
|
||||||
<field name="name">Prepare Requirements Document</field>
|
<field name="name">Prepare Requirements Document</field>
|
||||||
<field name="stage_id" ref="project_tt_analysis"/>
|
<field name="stage_id" ref="project_tt_analysis"/>
|
||||||
|
@ -120,7 +120,7 @@
|
||||||
<field name="planned_hours" eval="32.0"/>
|
<field name="planned_hours" eval="32.0"/>
|
||||||
<field name="remaining_hours" eval="32.0"/>
|
<field name="remaining_hours" eval="32.0"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="project_id" ref="project.project_project_1"/>
|
<field name="project_id" ref="project.project_project_1"/>
|
||||||
<field name="name">Make SRS</field>
|
<field name="name">Make SRS</field>
|
||||||
<field name="stage_id" ref="project_tt_specification"/>
|
<field name="stage_id" ref="project_tt_specification"/>
|
||||||
|
@ -129,7 +129,7 @@
|
||||||
<field name="planned_hours" eval="10.0"/>
|
<field name="planned_hours" eval="10.0"/>
|
||||||
<field name="remaining_hours" eval="10.0"/>
|
<field name="remaining_hours" eval="10.0"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="project_id" ref="project.project_project_1"/>
|
<field name="project_id" ref="project.project_project_1"/>
|
||||||
<field name="name">Budget Planning</field>
|
<field name="name">Budget Planning</field>
|
||||||
<field name="date_deadline" eval="time.strftime('%Y-%m-24')"/>
|
<field name="date_deadline" eval="time.strftime('%Y-%m-24')"/>
|
||||||
|
@ -140,7 +140,7 @@
|
||||||
<field name="planned_hours" eval="60.0"/>
|
<field name="planned_hours" eval="60.0"/>
|
||||||
<field name="remaining_hours" eval="60.0"/>
|
<field name="remaining_hours" eval="60.0"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="project_id" ref="project.project_project_1"/>
|
<field name="project_id" ref="project.project_project_1"/>
|
||||||
<field name="name">Develop module for Sale Management</field>
|
<field name="name">Develop module for Sale Management</field>
|
||||||
<field name="description">Use the account_budget module</field>
|
<field name="description">Use the account_budget module</field>
|
||||||
|
|
|
@ -377,12 +377,11 @@
|
||||||
options="{'fold_field': 'fold'}"/>
|
options="{'fold_field': 'fold'}"/>
|
||||||
</header>
|
</header>
|
||||||
<sheet string="Task">
|
<sheet string="Task">
|
||||||
|
<div class="oe_right">
|
||||||
|
<field name="kanban_state" class="oe_inline" widget="kanban_state_selection"/>
|
||||||
|
</div>
|
||||||
<h1>
|
<h1>
|
||||||
<field name="name" placeholder="Task summary..." class="oe_inline"/>
|
<field name="name" placeholder="Task summary..." class="oe_inline"/>
|
||||||
<field name="kanban_state" invisible='1'/>
|
|
||||||
<button name="set_kanban_state_done" help="In Progress" attrs="{'invisible': [('kanban_state', 'in', ['done','blocked'])]}" type="object" icon="gtk-normal" class="oe_link oe_right"/>
|
|
||||||
<button name="set_kanban_state_blocked" help="Ready for Next Stage" attrs="{'invisible': [('kanban_state', 'in', ['normal','blocked'])]}" type="object" icon="gtk-yes" class="oe_link oe_right"/>
|
|
||||||
<button name="set_kanban_state_normal" help="Blocked" attrs="{'invisible': [('kanban_state', 'in', ['done','normal'])]}" type="object" icon="gtk-no" class="oe_link oe_right"/>
|
|
||||||
</h1>
|
</h1>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
|
@ -444,7 +443,7 @@
|
||||||
</page>
|
</page>
|
||||||
<page string="Extra Info">
|
<page string="Extra Info">
|
||||||
<group col="4">
|
<group col="4">
|
||||||
<field name="priority" groups="base.group_user"/>
|
<field name="priority" groups="base.group_user" widget="priority"/>
|
||||||
<field name="sequence"/>
|
<field name="sequence"/>
|
||||||
<field name="partner_id"/>
|
<field name="partner_id"/>
|
||||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||||
|
@ -515,16 +514,6 @@
|
||||||
<t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
|
<t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
|
||||||
<span t-attf-class="#{red || ''}"><i><field name="date_deadline"/></i></span>
|
<span t-attf-class="#{red || ''}"><i><field name="date_deadline"/></i></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_kanban_bottom_right">
|
|
||||||
<t groups="base.group_user">
|
|
||||||
<a t-if="record.kanban_state.raw_value === 'normal'" type="object" string="In Progress" name="set_kanban_state_done" class="oe_kanban_status"> </a>
|
|
||||||
<a t-if="record.kanban_state.raw_value === 'done'" type="object" string="Ready for next stage" name="set_kanban_state_blocked" class="oe_kanban_status oe_kanban_status_green"> </a>
|
|
||||||
<a t-if="record.kanban_state.raw_value === 'blocked'" type="object" string="Blocked" name="set_kanban_state_normal" class="oe_kanban_status oe_kanban_status_red"> </a>
|
|
||||||
<a t-if="record.priority.raw_value > 0" type="object" string="Normal" name="set_high_priority" class="oe_e oe_star_off">7</a>
|
|
||||||
<a t-if="record.priority.raw_value == 0" type="object" string="Very Important" name="set_normal_priority" class="oe_e oe_star_on">7</a>
|
|
||||||
</t>
|
|
||||||
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
|
|
||||||
</div>
|
|
||||||
<div class="oe_kanban_footer_left">
|
<div class="oe_kanban_footer_left">
|
||||||
<span groups="project.group_time_work_estimation_tasks" title="Remaining hours">
|
<span groups="project.group_time_work_estimation_tasks" title="Remaining hours">
|
||||||
<span class="oe_e">N</span>
|
<span class="oe_e">N</span>
|
||||||
|
@ -535,6 +524,13 @@
|
||||||
<t t-raw="record.message_summary.raw_value"/>
|
<t t-raw="record.message_summary.raw_value"/>
|
||||||
<field name="categ_ids"/>
|
<field name="categ_ids"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="oe_kanban_bottom_right">
|
||||||
|
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
|
||||||
|
<div class="pull-left" groups="base.group_user">
|
||||||
|
<field name="kanban_state" widget="kanban_state_selection"/>
|
||||||
|
<field name="priority" widget="priority"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_clear"></div>
|
<div class="oe_clear"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -48,7 +48,7 @@ class report_project_task_user(osv.osv):
|
||||||
help="Number of Days to Open the task"),
|
help="Number of Days to Open the task"),
|
||||||
'delay_endings_days': fields.float('Overpassed Deadline', digits=(16,2), readonly=True),
|
'delay_endings_days': fields.float('Overpassed Deadline', digits=(16,2), readonly=True),
|
||||||
'nbr': fields.integer('# of tasks', readonly=True),
|
'nbr': fields.integer('# of tasks', readonly=True),
|
||||||
'priority': fields.selection([('4', 'Very Low'), ('3', 'Low'), ('2', 'Medium'), ('1', 'Urgent'), ('0', 'Very urgent')],
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')],
|
||||||
string='Priority', readonly=True),
|
string='Priority', readonly=True),
|
||||||
'state': fields.selection([('draft', 'Draft'), ('open', 'In Progress'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')],'Status', readonly=True),
|
'state': fields.selection([('draft', 'Draft'), ('open', 'In Progress'), ('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')],'Status', readonly=True),
|
||||||
'company_id': fields.many2one('res.company', 'Company', readonly=True),
|
'company_id': fields.many2one('res.company', 'Company', readonly=True),
|
||||||
|
|
|
@ -57,6 +57,7 @@ class project_issue(osv.Model):
|
||||||
},
|
},
|
||||||
'kanban_state': {
|
'kanban_state': {
|
||||||
'project_issue.mt_issue_blocked': lambda self, cr, uid, obj, ctx=None: obj.kanban_state == 'blocked',
|
'project_issue.mt_issue_blocked': lambda self, cr, uid, obj, ctx=None: obj.kanban_state == 'blocked',
|
||||||
|
'project_issue.mt_issue_ready': lambda self, cr, uid, obj, ctx=None: obj.kanban_state == 'done',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +251,7 @@ class project_issue(osv.Model):
|
||||||
" * Normal is the default situation\n"
|
" * Normal is the default situation\n"
|
||||||
" * Blocked indicates something is preventing the progress of this issue\n"
|
" * Blocked indicates something is preventing the progress of this issue\n"
|
||||||
" * Ready for next stage indicates the issue is ready to be pulled to the next stage",
|
" * Ready for next stage indicates the issue is ready to be pulled to the next stage",
|
||||||
readonly=True, required=False),
|
required=False),
|
||||||
'email_from': fields.char('Email', size=128, help="These people will receive email.", select=1),
|
'email_from': fields.char('Email', size=128, help="These people will receive email.", select=1),
|
||||||
'email_cc': fields.char('Watchers Emails', size=256, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
'email_cc': fields.char('Watchers Emails', size=256, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
||||||
'date_open': fields.datetime('Opened', readonly=True,select=True),
|
'date_open': fields.datetime('Opened', readonly=True,select=True),
|
||||||
|
@ -260,7 +261,7 @@ class project_issue(osv.Model):
|
||||||
'date_last_stage_update': fields.datetime('Last Stage Update', select=True),
|
'date_last_stage_update': fields.datetime('Last Stage Update', select=True),
|
||||||
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
|
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
|
||||||
'categ_ids': fields.many2many('project.category', string='Tags'),
|
'categ_ids': fields.many2many('project.category', string='Tags'),
|
||||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority', select=True),
|
||||||
'version_id': fields.many2one('project.issue.version', 'Version'),
|
'version_id': fields.many2one('project.issue.version', 'Version'),
|
||||||
'stage_id': fields.many2one ('project.task.type', 'Stage',
|
'stage_id': fields.many2one ('project.task.type', 'Stage',
|
||||||
track_visibility='onchange', select=True,
|
track_visibility='onchange', select=True,
|
||||||
|
@ -295,7 +296,7 @@ class project_issue(osv.Model):
|
||||||
'active': 1,
|
'active': 1,
|
||||||
'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c),
|
'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c),
|
||||||
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
|
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.helpdesk', context=c),
|
||||||
'priority': crm.AVAILABLE_PRIORITIES[2][0],
|
'priority': '1',
|
||||||
'kanban_state': 'normal',
|
'kanban_state': 'normal',
|
||||||
'date_last_stage_update': fields.datetime.now,
|
'date_last_stage_update': fields.datetime.now,
|
||||||
'user_id': lambda obj, cr, uid, context: uid,
|
'user_id': lambda obj, cr, uid, context: uid,
|
||||||
|
@ -305,19 +306,6 @@ class project_issue(osv.Model):
|
||||||
'stage_id': _read_group_stage_ids
|
'stage_id': _read_group_stage_ids
|
||||||
}
|
}
|
||||||
|
|
||||||
def set_priority(self, cr, uid, ids, priority, *args):
|
|
||||||
return self.write(cr, uid, ids, {'priority' : priority})
|
|
||||||
|
|
||||||
def set_high_priority(self, cr, uid, ids, *args):
|
|
||||||
"""Set lead priority to high
|
|
||||||
"""
|
|
||||||
return self.set_priority(cr, uid, ids, '1')
|
|
||||||
|
|
||||||
def set_normal_priority(self, cr, uid, ids, *args):
|
|
||||||
"""Set lead priority to normal
|
|
||||||
"""
|
|
||||||
return self.set_priority(cr, uid, ids, '3')
|
|
||||||
|
|
||||||
def copy(self, cr, uid, id, default=None, context=None):
|
def copy(self, cr, uid, id, default=None, context=None):
|
||||||
issue = self.read(cr, uid, id, ['name'], context=context)
|
issue = self.read(cr, uid, id, ['name'], context=context)
|
||||||
if not default:
|
if not default:
|
||||||
|
@ -375,15 +363,6 @@ class project_issue(osv.Model):
|
||||||
# Stage management
|
# Stage management
|
||||||
# -------------------------------------------------------
|
# -------------------------------------------------------
|
||||||
|
|
||||||
def set_kanban_state_blocked(self, cr, uid, ids, context=None):
|
|
||||||
return self.write(cr, uid, ids, {'kanban_state': 'blocked'}, context=context)
|
|
||||||
|
|
||||||
def set_kanban_state_normal(self, cr, uid, ids, context=None):
|
|
||||||
return self.write(cr, uid, ids, {'kanban_state': 'normal'}, context=context)
|
|
||||||
|
|
||||||
def set_kanban_state_done(self, cr, uid, ids, context=None):
|
|
||||||
return self.write(cr, uid, ids, {'kanban_state': 'done'}, context=context)
|
|
||||||
|
|
||||||
def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
|
def stage_find(self, cr, uid, cases, section_id, domain=[], order='sequence', context=None):
|
||||||
""" Override of the base.stage method
|
""" Override of the base.stage method
|
||||||
Parameter of the stage search taken from the issue:
|
Parameter of the stage search taken from the issue:
|
||||||
|
|
|
@ -48,6 +48,12 @@ Access all issues from the top Project menu, and access the issues of a specific
|
||||||
<field name="default" eval="False"/>
|
<field name="default" eval="False"/>
|
||||||
<field name="description">Issue blocked</field>
|
<field name="description">Issue blocked</field>
|
||||||
</record>
|
</record>
|
||||||
|
<record id="mt_issue_ready" model="mail.message.subtype">
|
||||||
|
<field name="name">Issue Ready for Next Stage</field>
|
||||||
|
<field name="res_model">project.issue</field>
|
||||||
|
<field name="default" eval="False"/>
|
||||||
|
<field name="description">Issue Ready for Next Stage</field>
|
||||||
|
</record>
|
||||||
<record id="mt_issue_stage" model="mail.message.subtype">
|
<record id="mt_issue_stage" model="mail.message.subtype">
|
||||||
<field name="name">Stage Changed</field>
|
<field name="name">Stage Changed</field>
|
||||||
<field name="res_model">project.issue</field>
|
<field name="res_model">project.issue</field>
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
<!-- Issues -->
|
<!-- Issues -->
|
||||||
<record id="crm_case_buginaccountsmodule0" model="project.issue">
|
<record id="crm_case_buginaccountsmodule0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
|
<field eval="time.strftime('%Y-%m-08 10:15:00')" name="date"/>
|
||||||
<field name="priority">5</field>
|
<field name="priority">0</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_2"/>
|
<field name="partner_id" ref="base.res_partner_2"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
|
|
||||||
<record id="crm_case_programnotgivingproperoutput0" model="project.issue">
|
<record id="crm_case_programnotgivingproperoutput0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
|
<field eval="time.strftime('%Y-%m-15 12:50:00')" name="date"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_1"/>
|
<field name="partner_id" ref="base.res_partner_1"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
|
|
||||||
<record id="crm_case_outputincorrect0" model="project.issue">
|
<record id="crm_case_outputincorrect0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
|
<field eval="time.strftime('%Y-%m-18 14:30:00')" name="date"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field eval="1" name="active"/>
|
<field eval="1" name="active"/>
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
|
|
||||||
<record id="crm_case_problemloadingpage0" model="project.issue">
|
<record id="crm_case_problemloadingpage0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/>
|
<field eval="time.strftime('%Y-%m-20 15:25:05')" name="date"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_14"/>
|
<field name="partner_id" ref="base.res_partner_14"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
|
|
||||||
<record id="crm_case_pagenotfound0" model="project.issue">
|
<record id="crm_case_pagenotfound0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/>
|
<field eval="time.strftime('%Y-%m-22 18:15:00')" name="date"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_13"/>
|
<field name="partner_id" ref="base.res_partner_13"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
|
|
||||||
<record id="crm_case_programmingerror0" model="project.issue">
|
<record id="crm_case_programmingerror0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/>
|
<field eval="time.strftime('%Y-%m-24 09:45:00')" name="date"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_5"/>
|
<field name="partner_id" ref="base.res_partner_5"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -172,7 +172,7 @@
|
||||||
|
|
||||||
<record id="crm_case_newfeaturestobeadded0" model="project.issue">
|
<record id="crm_case_newfeaturestobeadded0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/>
|
<field eval="time.strftime('%Y-%m-01 12:15:10')" name="date"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_8"/>
|
<field name="partner_id" ref="base.res_partner_8"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
|
|
||||||
<record id="crm_case_includeattendancesheetinproject0" model="project.issue">
|
<record id="crm_case_includeattendancesheetinproject0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/>
|
<field eval="time.strftime('%Y-%m-10 17:05:30')" name="date"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_10"/>
|
<field name="partner_id" ref="base.res_partner_10"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
|
|
||||||
<record id="crm_case_createnewobject0" model="project.issue">
|
<record id="crm_case_createnewobject0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
|
<field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
|
||||||
<field name="priority">3</field>
|
<field name="priority">1</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_6"/>
|
<field name="partner_id" ref="base.res_partner_6"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
@ -226,7 +226,7 @@
|
||||||
|
|
||||||
<record id="crm_case_improvereportsinhrms0" model="project.issue">
|
<record id="crm_case_improvereportsinhrms0" model="project.issue">
|
||||||
<field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/>
|
<field eval="time.strftime('%Y-%m-19 12:15:00')" name="date"/>
|
||||||
<field name="priority">4</field>
|
<field name="priority">0</field>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="partner_id" ref="base.res_partner_11"/>
|
<field name="partner_id" ref="base.res_partner_11"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
|
|
|
@ -52,13 +52,12 @@
|
||||||
options="{'fold_field': 'fold'}"/>
|
options="{'fold_field': 'fold'}"/>
|
||||||
</header>
|
</header>
|
||||||
<sheet string="Issue">
|
<sheet string="Issue">
|
||||||
|
<div class="oe_right">
|
||||||
|
<field name="kanban_state" class="oe_inline" widget="kanban_state_selection"/>
|
||||||
|
</div>
|
||||||
<label for="name" class="oe_edit_only"/>
|
<label for="name" class="oe_edit_only"/>
|
||||||
<h1>
|
<h1>
|
||||||
<field name="name" class="oe_inline"/>
|
<field name="name" class="oe_inline"/>
|
||||||
<field name="kanban_state" invisible='1'/>
|
|
||||||
<button name="set_kanban_state_done" help="In Progress" attrs="{'invisible': [('kanban_state', 'in', ['done','blocked'])]}" type="object" icon="gtk-normal" class="oe_link oe_right"/>
|
|
||||||
<button name="set_kanban_state_blocked" help="Ready for Next Stage" attrs="{'invisible': [('kanban_state', 'in', ['normal','blocked'])]}" type="object" icon="gtk-yes" class="oe_link oe_right"/>
|
|
||||||
<button name="set_kanban_state_normal" help="Blocked" attrs="{'invisible': [('kanban_state', 'in', ['done','normal'])]}" type="object" icon="gtk-no" class="oe_link oe_right"/>
|
|
||||||
</h1>
|
</h1>
|
||||||
<label for="categ_ids" class="oe_edit_only"/>
|
<label for="categ_ids" class="oe_edit_only"/>
|
||||||
<field name="categ_ids" widget="many2many_tags"/>
|
<field name="categ_ids" widget="many2many_tags"/>
|
||||||
|
@ -78,7 +77,7 @@
|
||||||
<group>
|
<group>
|
||||||
<field name="id"/>
|
<field name="id"/>
|
||||||
<field name="version_id" groups="base.group_user"/>
|
<field name="version_id" groups="base.group_user"/>
|
||||||
<field name="priority" groups="base.group_user"/>
|
<field name="priority" groups="base.group_user" widget="priority"/>
|
||||||
<label for="task_id" groups="base.group_user"/>
|
<label for="task_id" groups="base.group_user"/>
|
||||||
<div groups="base.group_user">
|
<div groups="base.group_user">
|
||||||
<field name="task_id" on_change="onchange_task_id(task_id)" class="oe_inline" context="{'default_project_id':project_id}"/>
|
<field name="task_id" on_change="onchange_task_id(task_id)" class="oe_inline" context="{'default_project_id':project_id}"/>
|
||||||
|
@ -217,34 +216,15 @@
|
||||||
<field name="partner_id"/> <br/>
|
<field name="partner_id"/> <br/>
|
||||||
<field name="version_id"/>
|
<field name="version_id"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_kanban_footer_left">
|
<div class="oe_kanban_bottom_right">
|
||||||
<field name="categ_ids"/>
|
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
|
||||||
<div class="oe_right">
|
<div class="pull-left" groups="base.group_user">
|
||||||
<span class="oe_kanban_highlight" groups="base.group_user">
|
<field name="kanban_state" widget="kanban_state_selection"/>
|
||||||
<a t-if="record.kanban_state.raw_value === 'normal'" type="object" string="In Progress" name="set_kanban_state_done" class="oe_kanban_status"> </a>
|
<field name="priority" widget="priority"/>
|
||||||
<a t-if="record.kanban_state.raw_value === 'done'" type="object" string="Ready for next stage" name="set_kanban_state_blocked" class="oe_kanban_status oe_kanban_status_green"> </a>
|
|
||||||
<a t-if="record.kanban_state.raw_value === 'blocked'" type="object" string="Blocked" name="set_kanban_state_normal" class="oe_kanban_status oe_kanban_status_red"> </a>
|
|
||||||
<t t-set="priority" t-value="record.priority.raw_value || 5"/>
|
|
||||||
<a type="object" name="set_priority" args="['3']" t-if="priority gt 3" title="Normal Priority">
|
|
||||||
<img src="/web/static/src/img/icons/star-off.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['5']" t-if="priority lte 3" title="Normal Priority">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 3 ? 'on' : 'off'}.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['2']" title="High Priority">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority lte 2 ? 'on' : 'off'}.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
<a type="object" name="set_priority" args="['1']" title="Highest Priority">
|
|
||||||
<img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
<t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())">
|
|
||||||
<span t-attf-class="oe_kanban_status oe_kaban_status_red"> </span>
|
|
||||||
</t>
|
|
||||||
<img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oe_kanban_footer_left">
|
<div class="oe_kanban_footer_left">
|
||||||
|
<field name="categ_ids"/>
|
||||||
<t t-raw="record.message_summary.raw_value"/>
|
<t t-raw="record.message_summary.raw_value"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -47,7 +47,7 @@ class project_issue_report(osv.osv):
|
||||||
'delay_close': fields.float('Avg. Delay to Close', digits=(16,2), readonly=True, group_operator="avg",
|
'delay_close': fields.float('Avg. Delay to Close', digits=(16,2), readonly=True, group_operator="avg",
|
||||||
help="Number of Days to close the project issue"),
|
help="Number of Days to close the project issue"),
|
||||||
'company_id' : fields.many2one('res.company', 'Company'),
|
'company_id' : fields.many2one('res.company', 'Company'),
|
||||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
'priority': fields.selection([('0','Low'), ('1','Normal'), ('2','High')], 'Priority'),
|
||||||
'project_id':fields.many2one('project.project', 'Project',readonly=True),
|
'project_id':fields.many2one('project.project', 'Project',readonly=True),
|
||||||
'version_id': fields.many2one('project.issue.version', 'Version'),
|
'version_id': fields.many2one('project.issue.version', 'Version'),
|
||||||
'user_id' : fields.many2one('res.users', 'Assigned to',readonly=True),
|
'user_id' : fields.many2one('res.users', 'Assigned to',readonly=True),
|
||||||
|
|
Loading…
Reference in New Issue