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('lead')
  27. .set('modified', 2)
  28. .where('id', data.id);
  29. } else {
  30. query = squel.delete()
  31. .from('lead')
  32. .where('id', data.id);
  33. }
  34. query = query.toParam();
  35. db.executeSql(query.text, query.values, function (result) {
  36. success(result.rowsAffected);
  37. }, function (err) {
  38. error(err);
  39. });
  40. }
  41. /**
  42. *
  43. */
  44. var removeAll = function (success, error) {
  45. var query = squel.delete()
  46. .from('lead')
  47. .where('type', 'opportunity')
  48. .toParam();
  49. db.executeSql(query.text, query.values, function (result) {
  50. success(result.rowsAffected);
  51. }, function (err) {
  52. error(err);
  53. });
  54. }
  55. return {
  56. save: save,
  57. remove: remove,
  58. removeAll: removeAll
  59. }
  60. });