|
@@ -1,6 +1,7 @@
|
|
|
const actions = {
|
|
|
notify({ commit }, payload) {
|
|
|
openerp.web.notification.do_warn('Atención', payload)
|
|
|
+ return false
|
|
|
},
|
|
|
initSale({ commit, dispatch }, payload) {
|
|
|
commit('setPosInstance', payload)
|
|
@@ -20,36 +21,50 @@ const actions = {
|
|
|
console.error(error)
|
|
|
})
|
|
|
},
|
|
|
- completeSale({ getters }) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- let AccountVoucher = new openerp.web.Model('account.voucher')
|
|
|
+ checkCart({ getters, dispatch }) {
|
|
|
+ return getters.cartIsEmpty || dispatch('notify', 'Necesitas agregar productos al carrito para continuar')
|
|
|
+ },
|
|
|
+ checkCustomer({ getters, dispatch }) {
|
|
|
+ return getters.hasSelectedCustomer || dispatch('notify', 'Necesitas seleccionar un cliente para continuar')
|
|
|
+ },
|
|
|
+ checkAmountPaid({ getters, dispatch }) {
|
|
|
+ return (getters.payment === 'cash' && getters.amountPaid >= getters.total) || dispatch('notify', 'Necesitar entregar un monto igual o mayor al total')
|
|
|
+ },
|
|
|
+ completeSale({ getters, dispatch }) {
|
|
|
+ // return new Promise((resolve, reject) => {
|
|
|
+ // let AccountVoucher = new openerp.web.Model('account.voucher')
|
|
|
|
|
|
- AccountVoucher.call('create_from_pos', [
|
|
|
- {
|
|
|
- customer_id: getters.selectedCustomer.id,
|
|
|
- payment_term_id: getters.selectedPaymentTerm.id,
|
|
|
- journal_id: getters.selectedJournal.id,
|
|
|
- account_id: getters.selectedJournal.default_credit_account.id,
|
|
|
- cart_items: getters.cartItems.map(item => {
|
|
|
- return {
|
|
|
- id: item.id,
|
|
|
- qty: item.qty,
|
|
|
- price: item.list_price
|
|
|
- }
|
|
|
- }),
|
|
|
- cart_total: getters.total,
|
|
|
- amount_paid: getters.amountPaid > getters.total ? getters.total : getters.amountPaid
|
|
|
- }
|
|
|
- ], {
|
|
|
- context: new openerp.web.CompoundContext()
|
|
|
- }).then(response => {
|
|
|
- console.log(response)
|
|
|
+ // AccountVoucher.call('create_from_pos', [
|
|
|
+ // {
|
|
|
+ // customer_id: getters.selectedCustomer.id,
|
|
|
+ // payment_term_id: getters.selectedPaymentTerm.id,
|
|
|
+ // journal_id: getters.selectedJournal.id,
|
|
|
+ // account_id: getters.selectedJournal.default_credit_account.id,
|
|
|
+ // cart_items: getters.cartItems.map(item => {
|
|
|
+ // return {
|
|
|
+ // id: item.id,
|
|
|
+ // qty: item.qty,
|
|
|
+ // price: item.list_price
|
|
|
+ // }
|
|
|
+ // }),
|
|
|
+ // cart_total: getters.total,
|
|
|
+ // amount_paid: getters.amountPaid > getters.total ? getters.total : getters.amountPaid
|
|
|
+ // }
|
|
|
+ // ], {
|
|
|
+ // context: new openerp.web.CompoundContext()
|
|
|
+ // }).then(response => {
|
|
|
+ // console.log(response)
|
|
|
|
|
|
- resolve(response)
|
|
|
- }).fail(error => {
|
|
|
- reject(error)
|
|
|
- })
|
|
|
- })
|
|
|
+ // resolve(response)
|
|
|
+ // }).fail(error => {
|
|
|
+ // reject(error)
|
|
|
+ // })
|
|
|
+ // })
|
|
|
+
|
|
|
+ dispatch('reset')
|
|
|
+ },
|
|
|
+ reset({ state }) {
|
|
|
+ console.log(state)
|
|
|
}
|
|
|
}
|
|
|
|