diff --git a/lnbits/extensions/shop/crud.py b/lnbits/extensions/shop/crud.py index 682c17086..2411fd386 100644 --- a/lnbits/extensions/shop/crud.py +++ b/lnbits/extensions/shop/crud.py @@ -399,8 +399,18 @@ async def create_shop_market_stalls(market_id: str, data: List[CreateMarketStall return market_stalls -async def update_shop_market(market_id): - pass +async def update_shop_market(market_id: str, name: str): + await db.execute( + "UPDATE shop.markets SET name = ? WHERE id = ?", + (name, market_id), + ) + await db.execute( + "DELETE FROM shop.market_stalls WHERE marketid = ?", + (market_id,), + ) + + market = await get_shop_market(market_id) + return market ### CHAT / MESSAGES diff --git a/lnbits/extensions/shop/templates/shop/_dialogs.html b/lnbits/extensions/shop/templates/shop/_dialogs.html index 3718f38ca..d2c22350a 100644 --- a/lnbits/extensions/shop/templates/shop/_dialogs.html +++ b/lnbits/extensions/shop/templates/shop/_dialogs.html @@ -195,12 +195,12 @@ > Link to pass to stall relay - {{ col.value }} + {{ col.name == 'stalls' ? stallName(col.value) : col.value }} @@ -369,7 +369,7 @@ flat dense size="xs" - @click="deleteStall(props.row.id)" + @click="deleteMarket(props.row.id)" icon="cancel" color="pink" > diff --git a/lnbits/extensions/shop/templates/shop/index.html b/lnbits/extensions/shop/templates/shop/index.html index 5c02677d1..4d995fceb 100644 --- a/lnbits/extensions/shop/templates/shop/index.html +++ b/lnbits/extensions/shop/templates/shop/index.html @@ -213,12 +213,12 @@ const mapMarkets = obj => { obj._data = _.clone(obj) - obj.stores = [] + obj.stalls = [] LNbits.api .request('GET', `/shop/api/v1/markets/${obj.id}/stalls`, null) .then(response => { if (response.data) { - obj.stores = response.data.map(s => s.name).toString() + obj.stalls = response.data.map(s => s.id) //.toString() } }) .catch(error => { @@ -460,10 +460,10 @@ field: 'name' }, { - name: 'stores', + name: 'stalls', align: 'left', label: 'Stalls', - field: 'stores' + field: 'stalls' } ], pagination: { @@ -637,6 +637,9 @@ //////////////////////////////////////// ////////////////STALLS////////////////// //////////////////////////////////////// + stallName(id) { + return id.map(c => this.stalls.find(s => s.id == c).name).toString() + }, getStalls: function () { var self = this LNbits.api @@ -1035,44 +1038,38 @@ }) }, - openShopUpdateDialog: function (linkId) { - var self = this - var link = _.findWhere(self.markets, {id: linkId}) - - this.marketDialog.data = _.clone(link._data) + openMarketUpdateDialog(linkId) { + var link = _.findWhere(this.markets, {id: linkId}) + this.marketDialog.data = link this.marketDialog.show = true }, - sendMarketplaceFormData: function () { + sendMarketplaceFormData() { let data = {...this.marketDialog.data} if (!data.usr) { data.usr = this.g.user.id } - if (data.id) { - this.updateZone(data) + this.updateMarketplace(data) } else { this.createMarketplace(data) } }, - updateShop: function (data) { - var self = this + updateMarketplace(data) { LNbits.api .request( 'PUT', - '/shop/api/v1/shops' + data.id, - _.findWhere(self.g.user.wallets, { - id: self.marketDialog.data.wallet - }).inkey, - _.pick(data, 'countries', 'cost') + '/shop/api/v1/markets/' + data.id, + this.g.user.wallets[0].inkey, + data ) - .then(function (response) { - self.markets = _.reject(self.markets, function (obj) { + .then(response => { + this.markets = _.reject(this.markets, obj => { return obj.id == data.id }) - self.markets.push(mapShops(response.data)) - self.marketDialog.show = false - self.marketDialog.data = {} + this.markets.push(mapMarkets(response.data)) + this.marketDialog.show = false + this.marketDialog.data = {} data = {} }) .catch(function (error) { @@ -1097,21 +1094,20 @@ LNbits.utils.notifyApiError(error) }) }, - deleteShop: function (shopId) { - var self = this - var shop = _.findWhere(self.markets, {id: shopId}) + deleteMarket(shopId) { + let market = _.findWhere(this.markets, {id: shopId}) LNbits.utils - .confirmDialog('Are you sure you want to delete this Shop link?') - .onOk(function () { + .confirmDialog('Are you sure you want to delete this Marketplace?') + .onOk(() => { LNbits.api .request( 'DELETE', - '/shop/api/v1/shops/' + shopId, - _.findWhere(self.g.user.wallets, {id: shop.wallet}).inkey + '/shop/api/v1/markets/' + shopId, + this.g.user.wallets[0].inkey ) - .then(function (response) { - self.markets = _.reject(self.markets, function (obj) { + .then(response => { + this.markets = _.reject(this.markets, obj => { return obj.id == shopId }) }) @@ -1144,32 +1140,6 @@ LNbits.utils.notifyApiError(error) }) }, - /*createOrder: function () { - var data = { - address: this.orderDialog.data.address, - email: this.orderDialog.data.email, - quantity: this.orderDialog.data.quantity, - shippingzone: this.orderDialog.data.shippingzone - } - var self = this - - LNbits.api - .request( - 'POST', - '/shop/api/v1/orders', - _.findWhere(self.g.user.wallets, {id: self.orderDialog.data.wallet}) - .inkey, - data - ) - .then(function (response) { - self.orders.push(mapOrders(response.data)) - self.orderDialog.show = false - self.orderDialog.data = {} - }) - .catch(function (error) { - LNbits.utils.notifyApiError(error) - }) - },*/ deleteOrder: function (orderId) { var self = this var order = _.findWhere(self.orders, {id: orderId}) @@ -1195,7 +1165,6 @@ }, shipOrder(order_id) { let shipped = this.orders.find(o => o.id == order_id).shipped - console.log(this.orders, order_id, shipped) LNbits.api .request( 'GET', @@ -1383,7 +1352,6 @@ this.diagonAlley = this.$q.localStorage.getItem('lnbits.DAmode') || false this.currencies.unit = '{{ currency }}' - console.log(this.currencies.unit, '{{currency}}') await this.getCurrencies() this.getStalls() this.getProducts() diff --git a/lnbits/extensions/shop/templates/shop/market.html b/lnbits/extensions/shop/templates/shop/market.html index 29631f081..4aadfa26b 100644 --- a/lnbits/extensions/shop/templates/shop/market.html +++ b/lnbits/extensions/shop/templates/shop/market.html @@ -21,49 +21,6 @@ - - {% raw %} - - {{ cart.size }} - - {% endraw %} - - - {% raw %} - - - {{p.quantity}} x - - - - - - - - - {{ p.name }} - - - - {{p.price}} sats - - - {% endraw %} - - - - - - - @@ -85,22 +42,6 @@ > - Add to cart - {{ item.product }} @@ -112,13 +53,23 @@ - - {{ item.price }} satsBTC {{ (item.price / 1e8).toFixed(8) }} + + {{ item.stallName }} + + + {{ item.price }} satsBTC {{ (item.price / 1e8).toFixed(8) }} + + + {{ getAmountFormated(item.price, item.currency) }} + ({{ getValueInSats(item.price, item.currency) }} sats) + {{item.quantity}} left - {{ stall.find(s => s.id == item.stall).name }} + {{ item.stallName }} - - - - - - - - - Select the shipping zone: - - - - - {% raw %} Total: {{ finalCost }} {% endraw %} - - - Checkout - Cancel - - - - - - - - - - - - - - - - - - Copy invoice - Close - - - {% endblock %} {% block scripts %} - {% endblock %} diff --git a/lnbits/extensions/shop/templates/shop/stall.html b/lnbits/extensions/shop/templates/shop/stall.html index 08e598886..dc6c20497 100644 --- a/lnbits/extensions/shop/templates/shop/stall.html +++ b/lnbits/extensions/shop/templates/shop/stall.html @@ -300,7 +300,7 @@ {% endblock %} {% block scripts %}
Select the shipping zone: