You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.8 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
  1. # -*- encoding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # Asterisk click2dial CRM module for OpenERP
  5. # Copyright (c) 2011 Zikzakmedia S.L. (http://zikzakmedia.com)
  6. # All Rights Reserved.
  7. # Copyright (c) 2012 Akretion (http://www.akretion.com)
  8. # @author: Jesús Martín <jmartin@zikzakmedia.com>
  9. # @author: Alexis de Lattre <alexis.delattre@akretion.com>
  10. #
  11. # This program is free software: you can redistribute it and/or modify
  12. # it under the terms of the GNU Affero General Public License as published
  13. # by the Free Software Foundation, either version 3 of the License, or
  14. # (at your option) any later version.
  15. #
  16. # This program is distributed in the hope that it will be useful,
  17. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. # GNU Affero General Public License for more details.
  20. #
  21. # You should have received a copy of the GNU Affero General Public License
  22. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  23. #
  24. ##############################################################################
  25. from osv import osv, fields
  26. class res_partner_address(osv.osv):
  27. _inherit = "res.partner.address"
  28. def dial(self, cr, uid, ids, phone_field='phone', context=None):
  29. '''
  30. This method open the phone call history when the phone click2dial
  31. button of asterisk_click2dial module is pressed
  32. :return the phone call history view of the partner
  33. '''
  34. if context is None:
  35. context = {}
  36. super(res_partner_address, self).dial(
  37. cr, uid, ids, phone_field=phone_field, context=context
  38. )
  39. user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
  40. context['partner_address_id'] = ids[0]
  41. action_start_wizard = {
  42. 'name': 'Create phone call in CRM',
  43. 'type': 'ir.actions.act_window',
  44. 'res_model': 'wizard.create.crm.phonecall',
  45. 'view_type': 'form',
  46. 'view_mode': 'form',
  47. 'nodestroy': True,
  48. 'target': 'new',
  49. 'context': context,
  50. }
  51. if user.context_propose_creation_crm_call:
  52. return action_start_wizard
  53. else:
  54. return True
  55. res_partner_address()
  56. class res_users(osv.osv):
  57. _inherit = "res.users"
  58. _columns = {
  59. # Field name starts with 'context_' to allow modification by the user
  60. # in his preferences, cf server-61/openerp/addons/base/res/res_users.py
  61. # line 377 in "def write" of "class users"
  62. 'context_propose_creation_crm_call': fields.boolean(
  63. 'Propose to create a call in CRM after a click2dial'
  64. ),
  65. }
  66. _defaults = {
  67. 'context_propose_creation_crm_call': True,
  68. }
  69. res_users()