lead.storage.factory.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. angular.module('odoo')
  2. /**
  3. *
  4. */
  5. .factory('leadsStorageFactory', function ($localStorage) {
  6. var configuration = $localStorage;
  7. /**
  8. *
  9. */
  10. var save = function (data, success, error) {
  11. var query = null;
  12. if (data.id) {
  13. query = squel.update()
  14. .table('crm_lead')
  15. .set('remote_id', data.remote_id ? data.remote_id : 0)
  16. .set('modified', 1)
  17. .set('name', data.name)
  18. .set('description', data.description ? data.description : null)
  19. .set('contact_name', data.contact_name ? data.contact_name : null)
  20. .set('phone', data.phone ? data.phone : null)
  21. .set('mobile', data.mobile ? data.mobile : null)
  22. .set('fax', data.fax ? data.fax : null)
  23. .set('street', data.street ? data.street : null)
  24. .set('street2', data.street2 ? data.street2 : null)
  25. .set('priority', data.priority ? data.priority : 2)
  26. .set('probability', data.probability ? data.probability : 10)
  27. .set('type', data.type ? data.type : 'lead')
  28. .set('stage_id', angular.isArray(data.stage_id) ? data.stage_id[0] : (data.stage_id ? data.stage_id : 1))
  29. .set('partner_id', data.partner_id ? data.partner_id : 0)
  30. .where('id = ?', data.id)
  31. .toParam();
  32. } else {
  33. query = squel.insert()
  34. .into('crm_lead')
  35. .set('remote_id', data.remote_id ? data.remote_id : 0)
  36. .set('name', data.name)
  37. .set('description', data.description ? data.description : null)
  38. .set('contact_name', data.contact_name ? data.contact_name : null)
  39. .set('phone', data.phone ? data.phone : null)
  40. .set('mobile', data.mobile ? data.mobile : null)
  41. .set('fax', data.fax ? data.fax : null)
  42. .set('street', data.street ? data.street : null)
  43. .set('street2', data.street2 ? data.street2 : null)
  44. .set('meeting_count', data.meeting_count)
  45. .set('message_bounce', data.message_bounce)
  46. .set('planned_cost', data.planned_cost)
  47. .set('planned_revenue', data.planned_revenue)
  48. .set('priority', data.priority ? data.priority : '2')
  49. .set('probability', data.probability ? data.probability : 0)
  50. .set('type', data.type ? data.type : 'lead')
  51. .set('active', data.active ? data.active : 1)
  52. .set('company_currency', angular.isArray(data.company_currency) ? data.company_currency[0] : 0)
  53. .set('company_id', angular.isArray(data.company_id) ? data.company_id[0] : configuration.company_id)
  54. .set('create_uid', angular.isArray(data.create_uid) ? data.create_uid[0] : configuration.id)
  55. .set('stage_id', angular.isArray(data.stage_id) ? data.stage_id[0] : (data.stage_id ? data.stage_id : 1))
  56. .set('user_id', angular.isArray(data.user_id) ? data.user_id[0] : configuration.id)
  57. .set('user_login', data.user_login ? data.user_login : configuration.user)
  58. .set('partner_id', data.partner_id ? data.partner_id : 0)
  59. .set('create_date', squel.str("datetime('now')"))
  60. .toParam();
  61. }
  62. db.executeSql(query.text, query.values, function (result) {
  63. success(query.text.startsWith('INSERT') ? result.insertId : data.id);
  64. }, function (err) {
  65. console.log(err);
  66. error(err);
  67. });
  68. }
  69. /**
  70. *
  71. */
  72. var remove = function (data, success, error) {
  73. var query = null;
  74. if (data.remote_id) {
  75. query = squel.update()
  76. .table('crm_lead')
  77. .set('modified', 2)
  78. .where('id = ?', data.id)
  79. .toParam();
  80. } else {
  81. query = squel.delete()
  82. .from('crm_lead')
  83. .where('id = ?', data.id)
  84. .toParam();
  85. }
  86. console.log(query);
  87. db.executeSql(query.text, query.values, function (result) {
  88. success(result.rowsAffected);
  89. }, function (err) {
  90. error(err);
  91. });
  92. }
  93. /**
  94. *
  95. */
  96. var removeAll = function (success, error) {
  97. var query = squel.delete()
  98. .from('crm_lead')
  99. .where('type = ?', 'lead')
  100. .toParam();
  101. db.executeSql(query.text, query.values, function (result) {
  102. success(result.rowsAffected)
  103. }, function (err) {
  104. error(err);
  105. });
  106. }
  107. return {
  108. save: save,
  109. remove: remove,
  110. removeAll: removeAll
  111. }
  112. });