opportunity.storage.factory.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. angular.module('odoo')
  2. /**
  3. *
  4. */
  5. .factory('opportunitiesStorageFactory', function (
  6. leadsStorageFactory
  7. ) {
  8. /**
  9. *
  10. */
  11. var save = function (data, success, error) {
  12. data.type = 'opportunity';
  13. leadsStorageFactory.save(data, function (opportunityId) {
  14. success(opportunityId);
  15. }, function (saveErr) {
  16. error(saveErr);
  17. });
  18. }
  19. /**
  20. *
  21. */
  22. var remove = function (data, success, error) {
  23. var query = null;
  24. if (data.remote_id) {
  25. query = squel.update()
  26. .table('crm_lead')
  27. .set('modified', 2)
  28. .where('id = ?', data.id)
  29. toParam();
  30. } else {
  31. query = squel.delete()
  32. .from('crm_lead')
  33. .where('id = ?', data.id)
  34. .toParam();
  35. }
  36. db.executeSql(query.text, query.values, function (result) {
  37. success(result.rowsAffected);
  38. }, function (err) {
  39. error(err);
  40. });
  41. }
  42. /**
  43. *
  44. */
  45. var removeAll = function (success, error) {
  46. var query = squel.delete()
  47. .from('crm_lead')
  48. .where('type = ?', 'opportunity')
  49. .toParam();
  50. db.executeSql(query.text, query.values, function (result) {
  51. success(result.rowsAffected);
  52. }, function (err) {
  53. error(err);
  54. });
  55. }
  56. return {
  57. save: save,
  58. remove: remove,
  59. removeAll: removeAll
  60. }
  61. });