Antony Lesuisse (OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-kanban-tta into lp:openobject-addons.
Requested reviews:
OpenERP Core Team (openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-kanban-tta/+merge/112524
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-kanban-tta/+merge/112524
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-kanban-tta.
=== modified file 'hr_recruitment/hr_recruitment_view.xml'
--- hr_recruitment/hr_recruitment_view.xml 2012-06-22 05:52:30 +0000
+++ hr_recruitment/hr_recruitment_view.xml 2012-06-28 09:34:33 +0000
@@ -266,64 +266,70 @@
<field name="type_id"/>
<field name="job_id"/>
<field name="title_action"/>
- <templates>
+ <templates>
+ <t t-name="kanban-tooltip">
+ <ul class="oe_kanban_tooltip">
+ <li t-if="record.partner_id.raw_value"><b>Contact:</b> <field name="partner_id"/></li>
+ <li t-if="record.email_from.raw_value"><b>Email :</b> <field name="email_from"/></li>
+ <li t-if="record.partner_phone.raw_value"><b>Phone:</b> <field name="partner_phone"/></li>
+ <li t-if="record.partner_mobile.raw_value"><b>Mobile:</b> <field name="partner_mobile"/></li>
+ </ul>
+ </t>
<t t-name="kanban-box">
- <t t-if="record.priority.raw_value == '1'" t-set="border">oe_kanban_color_green</t>
- <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_auto_height">
+ <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
<div class="oe_dropdown_toggle oe_dropdown_kanban">
<span class="oe_e">i</span>
<ul class="oe_dropdown_menu">
<li><a type="edit">Edit...</a></li>
<li><a type="delete">Delete</a></li>
+ <li><a name="%(mail.action_email_compose_message_wizard)d" type="action">Send Email</a></li>
+ <li><a name="action_makeMeeting" type="object">Schedule Interview</a></li>
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
</ul>
</div>
- <div class="oe_kanban_content" >
- <h3 class="oe_kanban_ellipsis"><field name="name"/>
- </h3>
- <div style="margin-bottom:2;padding-top:5px;white-space: nowrap;" >
+ <div class="oe_kanban_content" tooltip="kanban-tooltip">
+ <div>
+ <b><field name="name"/></b><br/>
<field name="partner_name"/>
- <div class="oe_kanban_right">
- <span class="oe_kanban_highlight">
- <t t-set="priority" t-value="record.priority.raw_value || 5"/>
- <a type="object" name="set_priority" args="['3']" t-if="priority gt 3">
- <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">
- <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']">
- <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']">
- <img t-attf-src="/web/static/src/img/icons/star-#{priority == 1 ? 'on' : 'off'}.png" width="16" height="16"/>
- </a>
- </span>
- </div>
- </div>
- <div style="white-space: nowrap;" >
- <div t-if="record.type_id.raw_value">
- (<field name="type_id"/>)
- </div>
- </div>
- <div style="padding-top:5px;white-space: nowrap;" >
- <t t-if="record.job_id.raw_value">Applied for <field name="job_id" /></t>
- </div>
- <div style="padding-top:5px;white-space: nowrap;" >
- <t t-if="record.title_action.raw_value">
- <field name="title_action" /> on
- <field name="date_action" />
- </t>
- </div>
- <div align="left" width="22" style="padding-top:5px;white-space: nowrap;" >
- <div align="right">
- <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
- </div>
- </div>
+ <div style="white-space: nowrap;" >
+ <div t-if="record.type_id.raw_value">
+ (<field name="type_id"/>)
+ </div>
+ </div>
+ <div style="padding-top:5px;white-space: nowrap;" >
+ <t t-if="record.job_id.raw_value">Applied for <field name="job_id" /></t>
+ </div>
+ <div style="padding-top:5px;white-space: nowrap;" >
+ <t t-if="record.title_action.raw_value">
+ <ul>
+ <li> <field name="title_action" /> </li>
+ <li><ul><li><field name="date_action" /></li></ul></li>
+ </ul>
+ </t>
+ </div>
+ </div>
+ <div class="oe_kanban_right">
+ <t t-set="priority" t-value="record.priority.raw_value || 5"/>
+ <a type="object" name="set_priority" args="['3']" t-if="priority gt 3">
+ <img src="/web/static/src/img/icons/star-off.png" width="16" height="16" title="Good"/>
+ </a>
+ <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', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
+ </div>
+ <div class="oe_kanban_footer_left"></div>
</div>
+ <div class="oe_clear"></div>
</div>
</t>
- </templates>
+ </templates>
</kanban>
</field>
</record>
=== modified file 'project/project.py'
--- project/project.py 2012-06-25 06:32:33 +0000
+++ project/project.py 2012-06-28 09:34:33 +0000
@@ -768,7 +768,7 @@
_order = "priority, sequence, date_start, name, id"
- def set_priority(self, cr, uid, ids, priority):
+ def set_priority(self, cr, uid, ids, priority, *args):
"""Set task priority
"""
return self.write(cr, uid, ids, {'priority' : priority})
=== modified file 'project/project_view.xml'
--- project/project_view.xml 2012-06-26 15:26:34 +0000
+++ project/project_view.xml 2012-06-28 09:34:33 +0000
@@ -435,41 +435,35 @@
<field name="kanban_state"/>
<field name="remaining_hours" sum="Remaining Time" groups="project.group_time_work_estimation_tasks"/>
<field name="date_deadline"/>
- <templates>
- <t t-name="task_details">
- <ul class="oe_kanban_tooltip" t-if="record.project_id.raw_value">
- <li><b>Project:</b> <field name="project_id"/></li>
- </ul>
- </t>
- <t t-name="kanban-box">
- <t t-set="pad_url">http://pad.openerp.com/<t t-raw="_.str.underscored(_.str.trim(record.name.raw_value))"/></t>
- <t t-if="record.kanban_state.raw_value === 'blocked'" t-set="border">oe_kanban_color_red</t>
- <t t-if="record.kanban_state.raw_value === 'done'" t-set="border">oe_kanban_color_green</t>
- <div t-attf-class="#{kanban_color(record.color.raw_value)} #{border || ''}">
- <div class="oe_kanban_box oe_kanban_color_border">
- <table class="oe_kanban_table oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
- <tr>
- <td align="left" valign="middle" width="16">
- <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
+ <templates>
+ <t t-name="kanban-box">
+ <t t-set="pad_url">http://pad.openerp.com/<t t-raw="_.str.underscored(_.str.trim(record.name.raw_value))"/></t>
+ <t t-if="record.kanban_state.raw_value === 'blocked'" t-set="border">oe_kanban_color_red</t>
+ <t t-if="record.kanban_state.raw_value === 'done'" t-set="border">oe_kanban_color_green</t>
+ <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
+ <div class="oe_dropdown_toggle oe_dropdown_kanban">
+ <span class="oe_e">i</span>
+ <ul class="oe_dropdown_menu">
+ <li><a type="edit" >Edit...</a></li>
+ <li><a type="delete">Delete</a></li>
+ <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
+ </ul>
+ </div>
+ <div class="oe_kanban_content">
+ <div>
+
+ <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
<a t-if="record.priority.raw_value != 1" icon="star-off" type="object" name="set_high_priority" style="opacity:0.6; filter:alpha(opacity=60);"/>
- </td>
- <td align="left" valign="middle" class="oe_kanban_title" tooltip="task_details">
- <field name="name"/>
- </td>
- <td valign="top" width="22">
- <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value"
- width="22" height="22" class="oe_kanban_gravatar"/>
- </td>
- </tr>
- </table>
- <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger">
- <div class="oe_kanban_description">
- <t t-esc="kanban_text_ellipsis(record.description.value, 160)"/>
- <i t-if="record.date_deadline.raw_value">
- <t t-if="record.description.raw_value">, </t>
- <field name="date_deadline"/>
- </i>
- <span class="oe_kanban_project_times" style="white-space: nowrap; padding-left: 5px;">
+ <b><field name="name"/></b>
+ </div>
+ <div>
+ <field name="partner_id"/>
+ </div>
+ <div>
+ <field name="project_id"/>
+ <t t-esc="kanban_text_ellipsis(record.description.value, 160)"/><br/>
+ <i><field name="date_deadline"/></i>
+ <span class="oe_kanban_project_times" style="white-space: nowrap; padding-left: 5px;">
<t t-set="hours" t-value="record.remaining_hours.raw_value"/>
<t t-set="times" t-value="[
[1, (hours gte 1 and hours lt 2)]
@@ -483,28 +477,31 @@
><b t-if="time[1]" class="oe_kanban_button oe_kanban_button_active"><t t-esc="Math.round(hours)"/></b
></t>
<a name="do_open" states="draft" string="Validate planned time and open task" type="object" class="oe_kanban_button oe_kanban_button_active">!</a>
- </span>
- </div>
- <div class="oe_kanban_clear"/>
+ </span>
+ </div>
+ <div class="oe_kanban_footer_left" style="margin-top:5px;">
+ <div class="oe_left">
+ <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
</div>
- <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
- <div class="oe_kanban_left">
- <a string="Edit" icon="gtk-edit" type="edit"/>
- <a string="Change Color" icon="color-picker" type="color" name="color"/>
- <a name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal"/>
- <a name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close"/>
- </div>
- <div class="oe_kanban_right">
- <a name="set_kanban_state_blocked" string="Mark as Blocked" attrs="{'invisible' : [('kanban_state', 'not in', ('normal', 'done'))]}" type="object" icon="kanban-stop"/>
- <a name="set_kanban_state_normal" string="Normal" attrs="{'invisible' : [('kanban_state', 'not in', ('blocked', 'done'))]}" type="object" icon="gtk-media-play"/>
- <a name="set_kanban_state_done" string="Done" attrs="{'invisible' : [('kanban_state', 'not in', ('blocked', 'normal'))]}" type="object" icon="kanban-apply"/>
- </div>
- <div class="oe_kanban_clear"/>
+ <div class="oe_right">
+ <a name="set_kanban_state_blocked" string="Mark as Blocked" attrs="{'invisible' : [('kanban_state', 'not in', ('normal', 'done'))]}" type="object" icon="kanban-stop"/>
+ <a name="set_kanban_state_normal" string="Normal" attrs="{'invisible' : [('kanban_state', 'not in', ('blocked', 'done'))]}" type="object" icon="gtk-media-play"/>
+ <a name="set_kanban_state_done" string="Done" attrs="{'invisible' : [('kanban_state', 'not in', ('blocked', 'normal'))]}" type="object" icon="kanban-apply"/>
</div>
</div>
</div>
- </t>
- </templates>
+ <div class="oe_clear"></div>
+ </div>
+ <!--
+ <div class="oe_kanban_right">
+ <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="kanban-stop" />
+ <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" />
+ <a name="case_open" string="Open" states="pending" type="object" icon="gtk-media-play" />
+ <a name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="kanban-apply" />
+ </div>
+ -->
+ </t>
+ </templates>
</kanban>
</field>
</record>
=== modified file 'project_issue/project_issue.py'
--- project_issue/project_issue.py 2012-06-14 10:09:22 +0000
+++ project_issue/project_issue.py 2012-06-28 09:34:33 +0000
@@ -222,6 +222,11 @@
select=True, help='Sales team to which Case belongs to.\
Define Responsible user and Email account for mail gateway.'),
'partner_id': fields.many2one('res.partner', 'Partner', select=1),
+ 'partner_street': fields.related('partner_id', 'street', type='char', string='Street', readonly=True),
+ 'partner_city': fields.related('partner_id', 'city', type='char', string='City', readonly=True),
+ 'partner_state_id': fields.related('partner_id', 'state_id', type='char', string='State', readonly=True),
+ 'partner_country_id': fields.related('partner_id', 'country_id', type='char', string='Country', readonly=True),
+ 'partner_phone': fields.related('partner_id', 'phone', type='char', string='Phone', readonly=True),
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Description'),
'state': fields.related('stage_id', 'state', type="selection", store=True,
@@ -288,7 +293,7 @@
'stage_id': _read_group_stage_ids
}
- def set_priority(self, cr, uid, ids, priority):
+ def set_priority(self, cr, uid, ids, priority, *args):
"""Set lead priority
"""
return self.write(cr, uid, ids, {'priority' : priority})
=== modified file 'project_issue/project_issue_view.xml'
--- project_issue/project_issue_view.xml 2012-06-25 05:04:07 +0000
+++ project_issue/project_issue_view.xml 2012-06-28 09:34:33 +0000
@@ -220,52 +220,80 @@
<field name="priority"/>
<field name="user_email"/>
<field name="user_id"/>
- <templates>
+ <templates>
+ <t t-name="kanban-tooltip">
+ <ul class="oe_kanban_tooltip">
+ <li><b>Customer:</b> <field name="partner_id"/></li>
+ <li><b>Customer Address:</b>
+ <t t-if="record.partner_street.raw_value != false"><field name="partner_street"/></t>
+ <t t-if="record.partner_city.raw_value != false">,<field name="partner_city"/></t>
+ <t t-if="record.partner_state_id.raw_value != false">,<field name="partner_state_id"/></t>
+ <t t-if="record.partner_country_id.raw_value != false">,<field name="partner_country_id"/></t>
+ </li>
+ <li><b>Customer Phone:</b> <field name="partner_phone"/></li>
+ <li><b>Project:</b> <field name="project_id"/></li>
+ </ul>
+ </t>
<t t-name="kanban-box">
- <t t-set="color" t-value="kanban_color(record.color.raw_value || record.state.raw_value)"/>
- <div t-att-class="color + (record.priority.raw_value == 1 ? ' oe_kanban_color_alert' : '')">
- <div class="oe_kanban_box oe_kanban_color_border">
- <table class="oe_kanban_table oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
- <tr>
- <td align="left" valign="middle" width="16">
- <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
- <a t-if="record.priority.raw_value != 1" icon="star-off" type="object" name="set_high_priority" style="opacity:0.6; filter:alpha(opacity=60);"/>
- </td>
- <td align="left" valign="middle" class="oe_kanban_title">
- <field name="name"/>
- </td>
- <td valign="top" width="22">
- <img t-att-src="kanban_gravatar(record.user_email.value, 22)" class="oe_kanban_gravatar" t-att-title="record.user_id.value"/>
- </td>
- </tr>
- </table>
- <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger oe_kanban_color_border">
- <div t-if="record.partner_id.raw_value">
- <field name="partner_id"/>
- </div>
- <div t-if="record.project_id.raw_value">
- <field name="project_id"/>
- </div>
- <div t-if="record.version_id.raw_value">
- <i><field name="version_id"/></i>
- </div>
- </div>
- <div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
- <div class="oe_kanban_left">
- <a string="Edit" icon="gtk-edit" type="edit"/>
- <a string="Change Color" icon="color-picker" type="color" name="color"/>
- <a string="Send New Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action"/>
- <a string="Escalate" name="case_escalate" icon="gtk-go-up" type="object"/>
- <a string="Convert To Task" name="convert_issue_task" icon="gtk-index" type="object"/>
- </div>
- <div class="oe_kanban_right">
- <a name="case_open" string="Open" states="draft,pending" type="object" icon="kanban-apply"/>
- <a name="case_close" string="Close" states="open,draft,pending" type="object" icon="kanban-stop"/>
- </div>
- <div class="oe_kanban_clear"/>
- </div>
- </div>
+ <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
+ <div class="oe_dropdown_toggle oe_dropdown_kanban">
+ <span class="oe_e">i</span>
+ <ul class="oe_dropdown_menu">
+ <li><a type="edit" >Edit...</a></li>
+ <li><a type="delete">Delete</a></li>
+ <li><a name="case_open" string="Open" states="draft,pending" type="object">Open</a></li>
+ <li><a name="case_close" string="Close" states="open,draft,pending" type="object">Close</a></li>
+ <li><a name="%(mail.action_email_compose_message_wizard)d" type="action">Send Email</a></li>
+ <li><a string="Escalate" name="case_escalate" type="object">Escalate</a></li>
+ <li><a string="Convert To Task" name="convert_issue_task" type="object">Convert To Task</a></li>
+ <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
+ </ul>
+ </div>
+ <div class="oe_kanban_content" tooltip="kanban-tooltip">
+ <div>
+ <b><field name="name"/></b>
+ </div>
+ <div>
+ <field name="categ_id"/>
+ </div>
+ <div>
+ <field name="version_id"/>
+ </div>
+ <div class="oe_kanban_footer_left">
+ <div class="oe_right">
+ <span class="oe_kanban_highlight">
+ <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-set="red">oe_kaban_status_red</t>
+ <span t-attf-class="oe_kanban_status #{red}"> </span>
+ -->
+ <img t-att-src="kanban_image('res.users', 'avatar', record.user_id.raw_value[0])" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/>
+ </div>
+ </div>
+ </div>
+ <div class="oe_clear"></div>
</div>
+ <!--
+ <div class="oe_kanban_right">
+ <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="kanban-stop" />
+ <a name="case_pending" string="Pending" states="draft,open" type="object" icon="kanban-pause" />
+ <a name="case_open" string="Open" states="pending" type="object" icon="gtk-media-play" />
+ <a name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="kanban-apply" />
+ </div>
+ -->
</t>
</templates>
</kanban>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp