Divyesh Makwana(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-first_10_clicks_crm-mdi into
lp:openobject-addons.
Requested reviews:
Purnendu Singh (OpenERP) (psi-tinyerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-first_10_clicks_crm-mdi/+merge/112715
Hello Sir,
In Order to improve user experience, i have improved the following things:
1. Improved the menu-tips.
2. Improved some usability related issues.
3. Restricted some fields to appropriate groups.
Thanks,
Divyesh
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-first_10_clicks_crm-mdi/+merge/112715
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-first_10_clicks_crm-mdi.
=== modified file 'base_calendar/base_calendar.py'
--- base_calendar/base_calendar.py 2012-07-14 15:33:50 +0000
+++ base_calendar/base_calendar.py 2012-07-18 05:49:21 +0000
@@ -941,16 +941,19 @@
duration = 1.00
value['duration'] = duration
+ start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
if allday: # For all day event
- value = {'duration': 24.0}
duration = 24.0
- if start_date:
- start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
- start_date = datetime.strftime(datetime(start.year, start.month, start.day, 0,0,0), "%Y-%m-%d %H:%M:%S")
- value['date'] = start_date
-
-
- start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
+ value['duration'] = duration
+ # change start_date's time to 00:00:00 in the user's timezone
+ user = self.pool.get('res.users').browse(cr, uid, uid)
+ tz = pytz.timezone(user.context_tz) if user.context_tz else pytz.utc
+ start = pytz.utc.localize(start).astimezone(tz) # convert start in user's timezone
+ start = start.replace(hour=0, minute=0, second=0) # change start's time to 00:00:00
+ start = start.astimezone(pytz.utc) # convert start back to utc
+ start_date = start.strftime("%Y-%m-%d %H:%M:%S")
+ value['date'] = start_date
+
if end_date and not duration:
end = datetime.strptime(end_date, "%Y-%m-%d %H:%M:%S")
diff = end - start
@@ -1025,8 +1028,8 @@
'id': fields.integer('ID', readonly=True),
'sequence': fields.integer('Sequence'),
'name': fields.char('Description', size=64, required=False, states={'done': [('readonly', True)]}),
- 'date': fields.datetime('Date', states={'done': [('readonly', True)]}),
- 'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}),
+ 'date': fields.datetime('Date', required=True, states={'done': [('readonly', True)]}),
+ 'date_deadline': fields.datetime('Deadline', required=True, states={'done': [('readonly', True)]}),
'create_date': fields.datetime('Created', readonly=True),
'duration': fields.float('Duration', states={'done': [('readonly', True)]}),
'description': fields.text('Description', states={'done': [('readonly', True)]}),
=== modified file 'base_calendar/base_calendar_view.xml'
--- base_calendar/base_calendar_view.xml 2012-07-02 16:37:25 +0000
+++ base_calendar/base_calendar_view.xml 2012-07-18 05:49:21 +0000
@@ -136,7 +136,7 @@
<!-- Calenadar's menu -->
<menuitem id="base.menu_calendar_configuration" name="Calendar"
- parent="base.menu_base_config" sequence="50" groups="base.group_sale_manager" />
+ parent="base.menu_base_config" sequence="50" groups="base.group_no_one"/>
<!-- Invitation menu -->
=== modified file 'crm/crm_lead_menu.xml'
--- crm/crm_lead_menu.xml 2012-06-22 05:52:30 +0000
+++ crm/crm_lead_menu.xml 2012-07-18 05:49:21 +0000
@@ -12,17 +12,11 @@
<field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
<field name="help">
<img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223">
- <h2>Create your first OpenERP Lead </h2>
- <p>
- Leads allow you to manage and keep track of all initial contacts with a prospect or partner showing interest in your products or services.
+ <h2>Click here to create a Lead. </h2>
<p>
A lead is usually the first step in your sales cycle.
<p>
Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities.
- <p>
- You can import a database of prospects, keep track of your business cards or integrate your website's contact form with the OpenERP Leads.
- <p>
- Leads can be connected to the email gateway: new emails may create leads, each of them automatically gets the history of the conversation with the prospect.
</field>
</record>
=== modified file 'crm/crm_lead_view.xml'
--- crm/crm_lead_view.xml 2012-07-16 21:18:52 +0000
+++ crm/crm_lead_view.xml 2012-07-18 05:49:21 +0000
@@ -67,7 +67,7 @@
<field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
</record>
- <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" />
+ <menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" groups="base.group_no_one"/>
<!--
LEADS/OPPORTUNITIES CATEGORIES
@@ -147,7 +147,7 @@
<group>
<group>
<field name="user_id" />
- <field name="section_id" widget="selection" />
+ <field name="section_id"/>
<field name="type" invisible="1"/>
</group>
<group>
@@ -236,6 +236,7 @@
<field name="phone"/>
<field name="stage_id"/>
<field name="categ_id" invisible="1"/>
+ <field name="user_id" invisible="1"/>
<field name="section_id" invisible="context.get('invisible_section', True)" />
<field name="state" groups="base.group_no_one"/>
<field name="type_id" invisible="1"/>
@@ -433,9 +434,9 @@
<form string="Opportunities" version="7.0">
<header>
<button name="stage_previous" string="Previous" type="object"
- states="open" icon="gtk-go-back" context="{'stage_type': 'opportunity'}"/>
+ states="open" context="{'stage_type': 'opportunity'}"/>
<button name="stage_next" string="Next" type="object"
- states="open" icon="gtk-go-forward" context="{'stage_type': 'opportunity'}"/>
+ states="open" context="{'stage_type': 'opportunity'}"/>
<button name="case_mark_won" string="Mark Won" type="object"
states="open" class="oe_highlight"/>
<button name="case_mark_won" string="Mark Won" type="object"
@@ -485,7 +486,7 @@
<group>
<label for="title_action"/>
<div>
- <field name="date_action" nolabel="1"/> -
+ <field name="date_action" nolabel="1"/> <label string="-" attrs="{'invisible': ['|', ('date_action', '=', False), ('title_action', '=', False)]}"/>
<field name="title_action" class="oe_inline" nolabel="1" placeholder="Call for proposal"/>
</div>
<field name="date_deadline"/>
=== modified file 'crm/crm_meeting_demo.xml'
--- crm/crm_meeting_demo.xml 2012-07-14 15:33:50 +0000
+++ crm/crm_meeting_demo.xml 2012-07-18 05:49:21 +0000
@@ -23,10 +23,10 @@
<field eval="7.0" name="duration"/>
<field name="user_id" ref="base.user_root"/>
<field eval=""draft"" name="state"/>
- <field eval="time.strftime('%Y-%m-05 12:01:01')" name="date"/>
+ <field eval="time.strftime('%Y-%m-05 10:01:01')" name="date"/>
<field name="categ_id" ref="crm.categ_meet3"/>
<field eval=""Initial discussion"" name="name"/>
- <field eval="time.strftime('%Y-%m-05 19:01:01')" name="date_deadline"/>
+ <field eval="time.strftime('%Y-%m-05 17:01:01')" name="date_deadline"/>
<field eval=""[email protected]"" name="email_from"/>
</record>
@@ -36,10 +36,10 @@
<field name="user_id" ref="base.user_root"/>
<field eval=""Meeting to discuss project plan and hash out the details of implementation "" name="description"/>
<field eval=""done"" name="state"/>
- <field eval="time.strftime('%Y-%m-12 15:55:05')" name="date"/>
+ <field eval="time.strftime('%Y-%m-12 10:55:05')" name="date"/>
<field name="categ_id" ref="crm.categ_meet1"/>
<field eval=""Discuss pricing"" name="name"/>
- <field eval="time.strftime('%Y-%m-12 18:55:05')" name="date_deadline"/>
+ <field eval="time.strftime('%Y-%m-12 13:55:05')" name="date_deadline"/>
</record>
<record id="crm_case_reviewneeds0" model="crm.meeting">
=== modified file 'crm/crm_phonecall.py'
--- crm/crm_phonecall.py 2012-07-06 12:29:59 +0000
+++ crm/crm_phonecall.py 2012-07-18 05:49:21 +0000
@@ -41,7 +41,7 @@
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='Sales team to which Case belongs to.'),
'user_id': fields.many2one('res.users', 'Responsible'),
- 'partner_id': fields.many2one('res.partner', 'Partner'),
+ 'partner_id': fields.many2one('res.partner', 'Contact'),
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Description'),
'state': fields.selection([ ('draft', 'Draft'),
=== modified file 'crm/crm_phonecall_menu.xml'
--- crm/crm_phonecall_menu.xml 2012-06-15 05:08:45 +0000
+++ crm/crm_phonecall_menu.xml 2012-07-18 05:49:21 +0000
@@ -68,7 +68,13 @@
<field name="domain">[]</field>
<field name="context">{}</field>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
- <field name="help">This tool allows you to log your inbound calls on the fly. Each call you get will appear on the partner form to trace every contact you have with a partner. From the phone call form, you can trigger a request for another call, a meeting or an opportunity.</field>
+ <field name="help">
+ Click on "Create" to log a new call.
+ <p>
+ This tool allows you to log your calls on the fly.
+ <p>
+ From this feature, you can trigger a request for another call, a meeting or an opportunity.
+ </field>
</record>
@@ -106,7 +112,13 @@
<field name="domain">[('state','!=','done')]</field>
<field name="context" eval="'{\'default_state\':\'open\'}'"/>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
- <field name="help">Scheduled calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team.</field>
+ <field name="help">
+ Click here to schedule a new call.
+ <p>
+ Scheduled calls list all the calls to be done by your sales team.
+ <p>
+ This information will be stored in the partner form to trace every contact you have with a customer.
+ </field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_outgoing0">
=== modified file 'crm/crm_phonecall_view.xml'
--- crm/crm_phonecall_view.xml 2012-07-13 09:53:41 +0000
+++ crm/crm_phonecall_view.xml 2012-07-18 05:49:21 +0000
@@ -135,7 +135,7 @@
<field name="user_id" />
<field name="duration" widget="float_time" />
<field name="section_id" colspan="1" widget="selection" />
- <field name="partner_id" on_change="onchange_partner_id(partner_id)" />
+ <field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="categ_id" widget="selection"
domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<field name="partner_mobile" />
@@ -163,8 +163,7 @@
<field name="date"/>
<field name="name"/>
<field name="partner_id"
- on_change="onchange_partner_id(partner_id)"
- string="Partner" />
+ on_change="onchange_partner_id(partner_id)"/>
<field name="partner_phone"
invisible="1"/>
<field name="user_id"/>
=== modified file 'crm/res_partner_view.xml'
--- crm/res_partner_view.xml 2012-07-14 16:04:03 +0000
+++ crm/res_partner_view.xml 2012-07-18 05:49:21 +0000
@@ -11,7 +11,7 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="user_id" position="after">
- <field name="section_id" completion="1" widget="selection"/>
+ <field name="section_id" completion="1"/>
</field>
</field>
</record>
@@ -24,7 +24,7 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="phone" position="after">
- <field name="section_id" completion="1" widget="selection"/>
+ <field name="section_id" completion="1" invisible="context.get('invisible_section', True)"/>
</field>
</field>
</record>
@@ -37,11 +37,16 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="category_id" position="after">
- <field name="section_id" completion="1" widget="selection"/>
+ <field name="section_id" completion="1" widget="selection" context="{'invisible_section': False}"/>
</field>
<xpath expr="//field[@name='user_id']" position="after">
<field name="country_id"/>
</xpath>
+ <xpath expr="//group[@string='Group By...']" position="after">
+ <group string="Display">
+ <filter string="Show Sales Team" icon="terp-personal+" context="{'invisible_section': False}" help="Show Sales Team"/>
+ </group>
+ </xpath>
</field>
</record>
=== modified file 'purchase/partner_view.xml'
--- purchase/partner_view.xml 2012-06-18 16:00:57 +0000
+++ purchase/partner_view.xml 2012-07-18 05:49:21 +0000
@@ -11,6 +11,9 @@
<field name="property_product_pricelist" position="after">
<field name="property_product_pricelist_purchase" />
</field>
+ <field name="supplier" position="replace">
+ <field name="supplier"/>
+ </field>
</field>
</record>
_______________________________________________
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