Преглед на файлове

[ADD] product pack properties

robert преди 6 години
родител
ревизия
62b068b976
променени са 6 файла, в които са добавени 80 реда и са изтрити 5 реда
  1. 2 2
      __openerp__.py
  2. 2 0
      controllers/main.py
  3. 18 0
      controllers/product_pack.py
  4. 3 2
      src/store/index.js
  5. 1 1
      src/store/modules/cart.js
  6. 54 0
      src/store/modules/pack.js

+ 2 - 2
__openerp__.py

@@ -9,12 +9,12 @@
         'sale',
         'account',
         'currency_utility',
-        'eiru_product_extra_price',
         'eiru_sidebar_toggler',
         'eiru_topbar_toggler',
         'eiru_bank_payments_references',
         'multi_store',
-        'multi_store_stock'
+        'multi_store_stock',
+        'product_pack'
     ],
     'data': [
         'templates.xml',

+ 2 - 0
controllers/main.py

@@ -38,6 +38,7 @@ class PosSales(http.Controller):
         from product_template import get_products
         from product_pricelist import get_pricelists
         from product_category import get_categories
+        from product_pack import get_product_packs
         from account_payment_term import get_payment_terms
         from res_bank import get_banks
         from res_bank_payment_type import get_bank_payment_types
@@ -74,6 +75,7 @@ class PosSales(http.Controller):
                 'journals': get_journals(),
                 'customers': get_customers(image_type),
                 'products': get_products(image_type, map(lambda x: x.get('locationStock').get('id'), warehouses)),
+                'packs': get_product_packs(),
                 'pricelists': get_pricelists('sale'),
                 'categories': get_categories(),
                 'paymentTerms': get_payment_terms(),

+ 18 - 0
controllers/product_pack.py

@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+from openerp.http import request as r
+
+_MODEL = 'product.pack.line'
+
+def get_product_packs():
+    return [
+        {
+            'id': p.id,
+            'name': p.display_name,
+            'parentProduct': p.parent_product_id.id or None,
+            'productId': p.product_id.id or None,
+            'price': p.price,
+            'quantity': p.quantity,
+            'subtotal': p.subtotal,
+            'discount': p.discount
+        } for p in r.env[_MODEL].search([])
+    ]

+ 3 - 2
src/store/index.js

@@ -26,6 +26,7 @@ import stockPickingModule from './modules/stockPicking'
 import warehouseModule from './modules/warehouse'
 import pricelistModule from './modules/pricelist'
 import categoryModule from './modules/category'
+import packModule from './modules/pack'
 
 Vue.use(Vuex)
 
@@ -42,7 +43,6 @@ const store = new Vuex.Store({
         journalModule,
         paymentModule,
         productModule,
-        // userModule,
         usersModule,
         bankModule,
         bankPaymentTypeModule,
@@ -52,7 +52,8 @@ const store = new Vuex.Store({
         stockPickingModule,
         warehouseModule,
         pricelistModule,
-        categoryModule
+        categoryModule,
+        packModule
     },
     // plugins: [
     //     createDB,

+ 1 - 1
src/store/modules/cart.js

@@ -35,7 +35,7 @@ const mutations = {
             }
             return
         }
-
+        console.log(getters)
         state.cartItems = [payload, ...state.cartItems]
     },
     pullFromCart (state, payload) {

+ 54 - 0
src/store/modules/pack.js

@@ -0,0 +1,54 @@
+const state = {
+    loadingPacks: false,
+    packs: [],
+    selectedPack: null
+}
+
+const getters = {
+    loadingPacks(state) {
+        return state.loadingPacks
+    },
+    packs(state) {
+        return state.packs
+    },
+    selectedPack(state) {
+        return state.selectedPack
+    }
+}
+
+const mutations = {
+    setLoadingPacks(state, loading) {
+        state.loadingPacks = !!loading
+    },
+    setPacks(state, packs) {
+        state.packs = packs
+    },
+    setSelectedPack(state, packId) {
+        if (!packId) {
+            state.selectedPack = null
+        }
+
+        state.selectedPack = state.packs.find(p => p.id === packId)
+    }
+}
+
+const actions = {
+    initPacks({ commit }, packs) {
+        commit('setPacks', packs)
+        commit('setLoadingPacks')
+    },
+    selectPack({ commit }, packId) {
+        commit('setSelectedPack', packId)
+    },
+    resetPack({ commit }) {
+        commit('setLoadingPacks')
+        commit('setPacks', [])
+    }
+}
+
+export default {
+    state,
+    getters,
+    actions,
+    mutations
+}