diff options
| author | Fabien Meghazi <fme@openerp.com> | 2011-11-28 16:48:48 +0100 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2011-11-28 16:48:48 +0100 |
| commit | a7425afa444f23d3116bfca29437a048d546db31 (patch) | |
| tree | e9bec96bc8c1e7e59501f714f838fcb41a3966f1 /addons | |
| parent | 8b2f958cb09be20ce5c7e31edc9b9c9a51509940 (diff) | |
[IMP] Improved crm.lead and project.task kanban views
bzr revid: fme@openerp.com-20111128154848-22wgu39fktg9o0v3
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/crm/crm_lead.py | 1 | ||||
| -rw-r--r-- | addons/crm/crm_lead_view.xml | 42 | ||||
| -rw-r--r-- | addons/pad_project/models/project_task.xml | 4 | ||||
| -rw-r--r-- | addons/project/project_view.xml | 28 |
4 files changed, 50 insertions, 25 deletions
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index e74ce00d728..f7c2769ba46 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -206,6 +206,7 @@ class crm_lead(crm_case, osv.osv): 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"), 'color': fields.integer('Color Index'), 'partner_address_name': fields.related('partner_address_id', 'name', type='char', string='Partner Contact Name', readonly=True), + 'partner_address_email': fields.related('partner_address_id', 'email', type='char', string='Partner Contact Email', readonly=True), 'company_currency': fields.related('company_id', 'currency_id', 'symbol', type='char', string='Company Currency', readonly=True), 'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True), 'user_login': fields.related('user_id', 'login', type='char', string='User Login', readonly=True), diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index bed2e110b3e..9a6aaea66b4 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -304,31 +304,46 @@ <field name="priority"/> <field name="planned_revenue" sum="Expected Revenues"/> <field name="user_email"/> + <field name="user_id"/> + <field name="partner_address_email"/> <templates> + <t t-name="lead_details"> + <ul class="oe_kanban_tooltip"> + <li t-if="record.phone.raw_value"><b>Phone:</b> <field name="phone"/></li> + <li><b>Probability:</b> <field name="probability"/>%%</li> + <li><b>Creation date:</b> <field name="create_date"/></li> + <li t-if="record.date_deadline.raw_value"><b>Date Deadline:</b> <field name="date_deadline"/></li> + </ul> + </t> <t t-name="kanban-box"> - <t t-set="color" t-value="kanban_color(record.color.raw_value)"/> - <div t-att-class="color + (record.priority.raw_value == 1 ? ' oe_kanban_color_alert' : '')"> + <t t-if="record.date_deadline.raw_value and record.date_deadline.raw_value lt (new Date())" t-set="border">oe_kanban_color_red</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 class="oe_kanban_title3" align="left" valign="middle"> + <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);"/> - <field name="partner_id"/> </td> - <td class="oe_kanban_title2" align="right" valign="middle" t-if="record.planned_revenue.raw_value" nowrap="nowrap"> - <t t-esc="Math.round(record.planned_revenue.value)"/> <field name="company_currency"/> + <td align="left" valign="middle" class="oe_kanban_title3" tooltip="lead_details"> + <field name="partner_id"/> + <t t-if="record.planned_revenue.raw_value"> + - <t t-esc="Math.round(record.planned_revenue.value)"/> + <field name="company_currency"/> + </t> </td> - <td valign="top" width="22"><img t-att-src="kanban_gravatar(record.user_email.value, 22)" class="oe_kanban_gravatar"/></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"> - <div class="oe_kanban_right oe_kanban_small"> - <field name="user_login"/> - </div> <div> - <b><field name="partner_address_name"/></b> + <b> + <a t-if="record.partner_address_email.raw_value" t-attf-href="mailto:#{record.partner_address_email.raw_value}"> + <field name="partner_address_name"/> + </a> + <field t-if="!record.partner_address_email.raw_value" name="partner_address_name"/> + </b> </div> <div> <field name="name"/> @@ -344,13 +359,14 @@ <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="Schedule/Log Call" name="%(opportunity2phonecall_act)d" icon="terp-call-start" type="action"/> - <a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/> <a string="Schedule Meeting" name="action_makeMeeting" type="object" icon="stock_calendar"/> + <a string="Add Internal Note" name="%(crm.action_crm_add_note)d" context="{'model': 'crm.lead' }" icon="terp-document-new" type="action"/> </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" /> - <a name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="kanban-stop" /> </div> <br class="oe_kanban_clear"/> </div> diff --git a/addons/pad_project/models/project_task.xml b/addons/pad_project/models/project_task.xml index 5fa113e9b54..3c734cf3b97 100644 --- a/addons/pad_project/models/project_task.xml +++ b/addons/pad_project/models/project_task.xml @@ -6,8 +6,8 @@ <field name="type">kanban</field> <field name="inherit_id" ref="project.view_task_kanban"/> <field name="arch" type="xml"> - <xpath expr="//span[@class='oe_kanban_project_times']/t" position="before"> - <a name="pad_get" string="Pad" type="object" class="oe_kanban_button"><b>PAD</b></a> + <xpath expr="//span[@class='oe_kanban_project_times']" position="before"> + <a name="pad_get" string="Pad" type="object" class="oe_kanban_button" style="margin-left: 5px;"><b>PAD</b></a> </xpath> </field> </record> diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index a9dd99789d3..7c169bfa1cc 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -263,7 +263,7 @@ <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-media-play"/> <button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" /> <button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/> - <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending"/> + <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal"/> <button name="action_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close"/> </group> </page> @@ -329,9 +329,14 @@ <field name="sequence"/> <field name="state"/> <field name="kanban_state"/> - <field name="project_id"/> <field name="remaining_hours" sum="Remaining Time"/> + <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> @@ -344,8 +349,8 @@ <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"> - <b t-att-title="record.project_id.value"><field name="name"/></b> + <td align="left" valign="middle" class="oe_kanban_title3" tooltip="task_details"> + <b><field name="name"/></b> </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"/> @@ -355,8 +360,11 @@ <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)"/> - <span class="oe_kanban_project_times" style="white-space: nowrap"> - <i t-if="record.date_deadline.raw_value"><field name="date_deadline"/> ,</i> + <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;"> <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)] @@ -377,11 +385,11 @@ <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_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close"/> - <a name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending"/> + <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="Block" kanban_states="normal,done" type="object" icon="kanban-stop"/> + <a name="set_kanban_state_blocked" string="Mark as Blocked" kanban_states="normal,done" type="object" icon="kanban-stop"/> <a name="set_kanban_state_normal" string="Normal" kanban_states="blocked,done" type="object" icon="gtk-media-play"/> <a name="set_kanban_state_done" string="Done" kanban_states="blocked,normal" type="object" icon="kanban-apply"/> </div> @@ -425,7 +433,7 @@ <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/> <field name="state" invisible="context.get('set_visible',False)"/> <button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/> - <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/> + <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal" help="For changing to delegate state"/> <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/> </tree> </field> |
