actions.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. const actions = {
  2. notify({ commit }, payload) {
  3. openerp.web.notification.do_warn('Atención', payload)
  4. return false
  5. },
  6. initSale({ commit, dispatch }, payload) {
  7. commit('setPosInstance', payload)
  8. let promises = [
  9. dispatch('fetchCompany'),
  10. dispatch('fetchCurrencies'),
  11. dispatch('fetchProducts'),
  12. dispatch('fetchCustomers'),
  13. dispatch('fetchJournals'),
  14. dispatch('fetchPaymentTerms')
  15. ]
  16. Promise.all(promises).then(() => {
  17. console.info('loaded')
  18. }).catch(error => {
  19. console.error(error)
  20. })
  21. },
  22. checkCart({ getters, dispatch }) {
  23. return getters.cartIsEmpty || dispatch('notify', 'Necesitas agregar productos al carrito para continuar')
  24. },
  25. checkCustomer({ getters, dispatch }) {
  26. return getters.hasSelectedCustomer || dispatch('notify', 'Necesitas seleccionar un cliente para continuar')
  27. },
  28. checkAmountPaid({ getters, dispatch }) {
  29. return (getters.payment === 'cash' && getters.amountPaid >= getters.total) || dispatch('notify', 'Necesitar entregar un monto igual o mayor al total')
  30. },
  31. completeSale({ getters, dispatch }) {
  32. // return new Promise((resolve, reject) => {
  33. // let AccountVoucher = new openerp.web.Model('account.voucher')
  34. // AccountVoucher.call('create_from_pos', [
  35. // {
  36. // customer_id: getters.selectedCustomer.id,
  37. // payment_term_id: getters.selectedPaymentTerm.id,
  38. // journal_id: getters.selectedJournal.id,
  39. // account_id: getters.selectedJournal.default_credit_account.id,
  40. // cart_items: getters.cartItems.map(item => {
  41. // return {
  42. // id: item.id,
  43. // qty: item.qty,
  44. // price: item.list_price
  45. // }
  46. // }),
  47. // cart_total: getters.total,
  48. // amount_paid: getters.amountPaid > getters.total ? getters.total : getters.amountPaid
  49. // }
  50. // ], {
  51. // context: new openerp.web.CompoundContext()
  52. // }).then(response => {
  53. // console.log(response)
  54. // resolve(response)
  55. // }).fail(error => {
  56. // reject(error)
  57. // })
  58. // })
  59. dispatch('reset')
  60. },
  61. reset({ state }) {
  62. console.log(state)
  63. }
  64. }
  65. export default actions