diff --git a/README.md b/README.md
index b795efd..54f2dd0 100644
--- a/README.md
+++ b/README.md
@@ -58,12 +58,12 @@ python3 cli.py user add username password
Add some products with:
```
-python3 cli.py product add "Birra media" 300
-python3 cli.py product add "Birra grande" 400
-python3 cli.py product add "Cocktail" 500
-python3 cli.py product add "Vino" 400
-python3 cli.py product add "Amaro" 200
-python3 cli.py product add "Acqua" 100
+python3 cli.py product add "Birra media" 3
+python3 cli.py product add "Birra grande" 4
+python3 cli.py product add "Cocktail" 5
+python3 cli.py product add "Vino" 4
+python3 cli.py product add "Amaro" 2
+python3 cli.py product add "Acqua" 0.5
```
And finally add and event you can play with:
diff --git a/cli.py b/cli.py
index d7c6106..f7d9fb6 100755
--- a/cli.py
+++ b/cli.py
@@ -289,10 +289,11 @@ def tabulate_products(products):
@product.command('add')
@click.argument('name')
-@click.argument('price')
+@click.argument('price', type=float)
@click.option('-s', '--sort', type=click.INT)
@click.option('-c', '--category', type=click.INT)
def product_add(name, price, sort, category):
+ price = int(price * 100)
product = Product(name=name, price=price)
if sort:
diff --git a/static/js/sell.js b/static/js/sell.js
new file mode 100644
index 0000000..be4cea7
--- /dev/null
+++ b/static/js/sell.js
@@ -0,0 +1,56 @@
+function updateTotal(amount) {
+ total_el = document.getElementById('total')
+ total = parseFloat(total_el.innerText)
+ total += amount
+ total_el.innerText = total.toFixed(2)
+}
+
+function renderBasketItem(uid, name) {
+ return ''
+}
+
+function addProduct(uid) {
+ // This is the hidden input element inside the form. We'll use this DOM
+ // element to keep informations about the product, such as the name,
+ // the price and the value inside the 'data-' tag.
+ form_el = document.getElementById('prod_' + uid)
+ basket = document.getElementById('basket')
+ basket_el = document.getElementById('basketitem_' + uid)
+
+ form_el.value = parseInt(form_el.value) + 1
+
+ // If there is not a button for the given product inside the basket
+ // div we'll create it.
+ if (basket_el === null) {
+ basket.innerHTML += renderBasketItem(uid, form_el.dataset.name)
+ } else {
+ // Otherwise we'll just update it.
+ console.log(form_el.value)
+ new_text = form_el.value + ' x ' + form_el.dataset.name
+ basket_el.innerText = new_text
+ }
+
+ updateTotal(parseFloat(form_el.dataset.price))
+}
+
+function delProduct(uid) {
+ form_el = document.getElementById('prod_' + uid)
+ basket = document.getElementById('basket')
+ basket_el = document.getElementById('basketitem_' + uid)
+
+ form_el.value = parseInt(form_el.value) - 1
+
+ if (form_el.value == 0) {
+ basket.removeChild(basket_el)
+ } else {
+ new_text = form_el.value + ' x ' + form_el.dataset.name
+ basket_el.innerText = new_text
+ }
+
+ updateTotal(parseFloat(-form_el.dataset.price))
+}
+
+
diff --git a/templates/sell.html b/templates/sell.html
index a87cf0f..8b8c66f 100644
--- a/templates/sell.html
+++ b/templates/sell.html
@@ -27,66 +27,10 @@
+
{% endblock %}