diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index 5de205e1690..6d6f7b29991 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -362,7 +362,7 @@ Here you can customize an existing journal view or create a new view. Journal views determine the way you can record entries in your journal. Select the fields you want to appear in a journal and determine the sequence in which they will appear. Then you can create a new journal and link your view to it. - + diff --git a/addons/base_iban/__openerp__.py b/addons/base_iban/__openerp__.py index 4cbef04a204..370ca6c93f2 100644 --- a/addons/base_iban/__openerp__.py +++ b/addons/base_iban/__openerp__.py @@ -31,7 +31,7 @@ The ability to extract the correctly represented local accounts from IBAN accoun """, 'author': 'OpenERP SA', 'website': 'http://www.openerp.com', - 'depends': ['account'], + 'depends': ['base'], 'init_xml': ['base_iban_data.xml'], 'update_xml': ['base_iban_view.xml'], 'installable': True, diff --git a/addons/crm/crm.py b/addons/crm/crm.py index 631410c9d34..16872a7542a 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -44,6 +44,17 @@ AVAILABLE_PRIORITIES = [ ('5', 'Lowest'), ] +class crm_case_channel(osv.osv): + _name = "crm.case.channel" + _description = "Channels" + _order = 'name' + _columns = { + 'name': fields.char('Channel Name', size=64, required=True), + 'active': fields.boolean('Active'), + } + _defaults = { + 'active': lambda *a: 1, + } class crm_case_stage(osv.osv): """ Stage of case """ diff --git a/addons/crm/crm_data.xml b/addons/crm/crm_data.xml index e494db325e5..bab3e4bca5f 100644 --- a/addons/crm/crm_data.xml +++ b/addons/crm/crm_data.xml @@ -1,6 +1,18 @@ + + website + + + phone + + + direct + + + e-mail + Sales Department Sales diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 77d0998f5ee..4f60412df12 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -142,7 +142,7 @@ class crm_lead(crm_case, osv.osv): domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"), 'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \ domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"), - 'channel_id': fields.many2one('res.partner.canal', 'Channel', help="From which channel (mail, direct, phone, ...) did this contact reach you?"), + 'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel (mail, direct, phone, ...)"), 'contact_name': fields.char('Contact Name', size=64), 'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity', select=1), 'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."), diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index a5ac0731ea5..d5d7d6c5614 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -71,11 +71,6 @@ class crm_phonecall(crm_base, osv.osv): type="char", string="Contact", size=128), 'partner_mobile': fields.char('Mobile', size=32), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'), - 'canal_id': fields.many2one('res.partner.canal', 'Channel', \ - help="The channels represent the different communication\ - modes available with the customer." \ - " With each commercial opportunity, you can indicate\ - the channel it came through."), 'date_closed': fields.datetime('Closed', readonly=True), 'date': fields.datetime('Date'), 'opportunity_id': fields.many2one ('crm.lead', 'Lead/Opportunity'), diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index 4161eaa88e2..09dc926e69f 100644 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -7,7 +7,7 @@ - + @@ -21,6 +21,39 @@ parent="base.menu_base_partner" sequence="11" /> + + + crm.case.channel.tree + crm.case.channel + tree + + + + + + + + + crm.case.channel.form + crm.case.channel + form + +
+ + + + +
+ + Channels + crm.case.channel + form + tree,form + Track from where is coming your leads and opportunities by creating specific channels that will be maintained at the creation of a document in the system. Some examples of channels can be: Website, Phone Call, Reseller, etc. + + + + diff --git a/addons/crm/report/crm_lead_report.py b/addons/crm/report/crm_lead_report.py index 12a6ef7a762..18615bdf344 100644 --- a/addons/crm/report/crm_lead_report.py +++ b/addons/crm/report/crm_lead_report.py @@ -57,7 +57,7 @@ class crm_lead_report(osv.osv): 'user_id':fields.many2one('res.users', 'User', readonly=True), 'country_id':fields.many2one('res.country', 'Country', readonly=True), 'section_id':fields.many2one('crm.case.section', 'Sales Team', readonly=True), - 'channel_id':fields.many2one('res.partner.canal', 'Channel', readonly=True), + 'channel_id':fields.many2one('crm.case.channel', 'Channel', readonly=True), 'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True), 'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True), 'creation_month':fields.selection(MONTHS, 'Creation Date', readonly=True), diff --git a/addons/crm/security/ir.model.access.csv b/addons/crm/security/ir.model.access.csv index 0ccbaa257d1..6b0a3ac15a9 100644 --- a/addons/crm/security/ir.model.access.csv +++ b/addons/crm/security/ir.model.access.csv @@ -3,6 +3,8 @@ "access_crm_segmentation_line_user","crm.segmentation.line user","model_crm_segmentation_line","base.group_sale_salesman",1,0,0,0 "access_crm_segmentation","crm.segmentation","model_crm_segmentation","base.group_sale_manager",1,1,1,1 "access_crm_segmentation_line","crm.segmentation.line","model_crm_segmentation_line","base.group_sale_manager",1,1,1,1 +"access_crm_case_channel_user","crm.case.channel user","model_crm_case_channel","base.group_sale_salesman",1,0,0,0 +"access_crm_case_channel_manager","crm.case.channel manager","model_crm_case_channel","base.group_sale_manager",1,1,1,1 "access_crm_case_section","crm.case.section","model_crm_case_section","base.group_sale_salesman",1,1,1,0 "access_crm_case_categ","crm.case.categ","model_crm_case_categ","base.group_sale_salesman",1,1,1,0 "access_crm_meeting_manager","crm.meeting.manager","model_crm_meeting","base.group_sale_manager",1,1,1,1 @@ -41,7 +43,6 @@ "access_crm_lead_report_user","crm.lead.report user","model_crm_lead_report","base.group_sale_salesman",1,1,1,1 "access_res_partner_bank_type_crm_user","res.partner.bank.type.crm.user","base.model_res_partner_bank_type","base.group_sale_salesman",1,0,0,0 "access_res_partner_bank_type_crm_manager","res.partner.bank.type.crm.manager","base.model_res_partner_bank_type","base.group_sale_manager",1,0,0,0 -"access_res_partner_canal_manager","res.partner.canal.manager","base.model_res_partner_canal","base.group_sale_manager",1,1,1,1 "access_crm_lead_partner_manager","crm.lead.partner.manager","model_crm_lead","base.group_partner_manager",1,1,1,1 "access_crm_phonecall_partner_manager","crm.phonecall.partner.manager","model_crm_phonecall","base.group_partner_manager",1,1,1,1 "access_crm_meeting_partner_manager","crm.meeting.partner.manager","model_crm_meeting","base.group_partner_manager",1,1,1,1 diff --git a/addons/crm_fundraising/crm_fundraising.py b/addons/crm_fundraising/crm_fundraising.py index 46b6c87e8e2..11796a23da5 100644 --- a/addons/crm_fundraising/crm_fundraising.py +++ b/addons/crm_fundraising/crm_fundraising.py @@ -70,8 +70,6 @@ class crm_fundraising(crm.crm_case, osv.osv): 'duration': fields.float('Duration'), 'ref': fields.reference('Reference', selection=crm._links_get, size=128), 'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128), - 'canal_id': fields.many2one('res.partner.canal', 'Channel', \ - help="The channels represent the different communication modes available with the customer."), 'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True, help='The state is set to \'Draft\', when a case is created.\ \nIf the case is in progress the state is set to \'Open\'.\ diff --git a/addons/crm_fundraising/crm_fundraising_view.xml b/addons/crm_fundraising/crm_fundraising_view.xml index f9d8cadcb6f..ecc75507cb9 100644 --- a/addons/crm_fundraising/crm_fundraising_view.xml +++ b/addons/crm_fundraising/crm_fundraising_view.xml @@ -186,7 +186,6 @@ - diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index 4a91ddd5a5e..16904a5decd 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -64,8 +64,7 @@ class crm_helpdesk(crm.crm_case, osv.osv): 'date': fields.datetime('Date'), 'ref' : fields.reference('Reference', selection=crm._links_get, size=128), 'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128), - 'canal_id': fields.many2one('res.partner.canal', 'Channel', \ - help="The channels represent the different communication modes available with the customer."), + 'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."), 'planned_revenue': fields.float('Planned Revenue'), 'planned_cost': fields.float('Planned Costs'), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'), diff --git a/addons/crm_helpdesk/crm_helpdesk_demo.xml b/addons/crm_helpdesk/crm_helpdesk_demo.xml index f48af6b5de3..a7f36c931c9 100644 --- a/addons/crm_helpdesk/crm_helpdesk_demo.xml +++ b/addons/crm_helpdesk/crm_helpdesk_demo.xml @@ -2,7 +2,6 @@ - @@ -15,7 +14,6 @@ - @@ -28,7 +26,6 @@ - @@ -41,7 +38,6 @@ - @@ -54,4 +50,4 @@ - \ No newline at end of file +
diff --git a/addons/crm_helpdesk/crm_helpdesk_view.xml b/addons/crm_helpdesk/crm_helpdesk_view.xml index 87ff3214b86..b0193491003 100644 --- a/addons/crm_helpdesk/crm_helpdesk_view.xml +++ b/addons/crm_helpdesk/crm_helpdesk_view.xml @@ -62,7 +62,7 @@ - + diff --git a/addons/crm_helpdesk/report/crm_helpdesk_report.py b/addons/crm_helpdesk/report/crm_helpdesk_report.py index d01f0934e51..80fc07db38d 100644 --- a/addons/crm_helpdesk/report/crm_helpdesk_report.py +++ b/addons/crm_helpdesk/report/crm_helpdesk_report.py @@ -56,7 +56,7 @@ class crm_helpdesk_report(osv.osv): 'date_deadline': fields.date('Deadline', select=True), 'priority': fields.selection([('5', 'Lowest'), ('4', 'Low'), \ ('3', 'Normal'), ('2', 'High'), ('1', 'Highest')], 'Priority'), - 'canal_id': fields.many2one('res.partner.canal', 'Channel'), + 'channel_id': fields.many2one('crm.case.channel', 'Channel'), 'categ_id': fields.many2one('crm.case.categ', 'Category', \ domain="[('section_id','=',section_id),\ ('object_id.model', '=', 'crm.helpdesk')]"), @@ -93,7 +93,7 @@ class crm_helpdesk_report(osv.osv): c.priority, c.date_deadline, c.categ_id, - c.canal_id, + c.channel_id, c.planned_cost, count(*) as nbr, extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close, @@ -104,7 +104,7 @@ class crm_helpdesk_report(osv.osv): group by to_char(c.date, 'YYYY'), to_char(c.date, 'MM'),to_char(c.date, 'YYYY-MM-DD'),\ c.state, c.user_id,c.section_id,c.priority,\ c.partner_id,c.company_id,c.date_deadline,c.create_date,c.date,c.date_closed,\ - c.categ_id,c.canal_id,c.planned_cost,c.id + c.categ_id,c.channel_id,c.planned_cost,c.id )""") crm_helpdesk_report() diff --git a/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml b/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml index d54b719fe2b..e954c790582 100644 --- a/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml +++ b/addons/crm_helpdesk/report/crm_helpdesk_report_view.xml @@ -25,7 +25,7 @@ - + @@ -106,9 +106,7 @@ domain="[]" context="{'group_by':'partner_id'}" /> - + diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index 64580a7dbe1..fb10baedc9e 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -284,7 +284,7 @@ + id="menu_view_employee_category_tree" parent="menu_view_employee_category_configuration_form" sequence="2"/> hr.job.form @@ -377,7 +377,7 @@ - + diff --git a/addons/hr_recruitment/hr_recruitment_demo.xml b/addons/hr_recruitment/hr_recruitment_demo.xml index 20a4fa0e17a..b2d029f74d4 100644 --- a/addons/hr_recruitment/hr_recruitment_demo.xml +++ b/addons/hr_recruitment/hr_recruitment_demo.xml @@ -25,7 +25,6 @@ - @@ -45,7 +44,6 @@ - @@ -115,7 +113,6 @@ - @@ -136,7 +133,6 @@ - diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml index 2e941877b65..9883e311fba 100644 --- a/addons/hr_recruitment/hr_recruitment_menu.xml +++ b/addons/hr_recruitment/hr_recruitment_menu.xml @@ -46,6 +46,9 @@ name="Applicants" parent="base.menu_crm_case_job_req_main" id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="1"/> + + + diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 5d23608769b..cf76031e9c0 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -304,7 +304,7 @@ Routings allow you to create and manage the manufacturing operations that should be followed within your work centers in order to produce a product. They are attached to bills of materials that will define the required raw materials. - +