def consume(stock_id): c = g.get_hhapps_client('stock') stock = c.stocks.get(stock_id) # items = c.inventories.list_items(stock) inventories = c.inventories.list(stock) available_items = get_available_items(inventories) print('available_items:', available_items) form = forms.stocks.inventories.InventoryConsumingForm() item_choices = [(aitem['item'].id, '{} ({}) available serving size: {}'.format( aitem['item'].name, aitem['item'].upc, aitem['available_serving_size'])) for k, aitem in available_items.items()] item_choices.insert(0, ('', 'Select item')) form.item.choices = item_choices print(form.item.data, type(form.item.data)) if (not form.validate_on_submit()) or (len(form.item.data) == 0): errors = [{ 'detail': '{}: {}'.format(k, v) } for k, v in form.errors.items()] return render_template('/dashboard/stocks/inventories/consume.html', form=form, errors=errors, stock=stock) print(form.data) c.inventories.consume(stock=stock, item=form.item.data, consuming_size=form.consuming_size.data) return redirect( url_for('dashboard.stocks.inventories.index', stock_id=stock.id))
def index(): hhclient = g.hhclient hh_stock_client = g.get_hhapps_client('stock') buildings = hhclient.buildings.list() stocks = hh_stock_client.stocks.list() return render_template('dashboard/index.html', buildings=buildings, stocks=stocks)
def add(): c = g.get_hhapps_client('stock') items = c.items.list() form = forms.stocks.items.ItemForm() return render_template('/dashboard/stocks/items/add.html', form=form, items=items)
def view_upc(upc): c = g.get_hhapps_client('stock') item = c.items.get_upc(upc) form = forms.stocks.items.ItemUPCForm() return render_template('/dashboard/stocks/items/view_upc.html', item=item, form=form)
def view(stock_id): c = g.get_hhapps_client(app_name) stock = c.stocks.get(stock_id) inventories = c.inventories.list(stock) available_items = inventories_view.get_available_items(inventories) return render_template('/dashboard/stocks/view.html', stock=stock, available_items=available_items, inventories=inventories)
def index(stock_id): c = g.get_hhapps_client('stock') stock = c.stocks.get(stock_id) inventories = c.inventories.list(stock) for inventory in inventories: inventory.item = c.items.get(inventory.item) return render_template( '/dashboard/stocks/inventories/index.html', stock=stock, inventories=inventories, )
def index(stock_id): c = g.get_hhapps_client('stock') hhc = g.hhclient stock = c.stocks.get(stock_id) consumptions = c.consumptions.list(stock) for consumption in consumptions: consumption.item = c.items.get(consumption.item) consumption.consumer = hhc.users.get(consumption.consumer) return render_template( '/dashboard/stocks/consumptions/index.html', stock=stock, consumptions=consumptions, )
def create(): form = forms.stocks.StockForm() if not form.validate_on_submit(): return render_template('dashboard/stocks/create.html', form=form) c = g.get_hhapps_client(app_name) building = get_building(request.args.get('building_id')) stock = c.stocks.create(building=building, **form.data) if stock.is_error: return render_template('dashboard/stocks/create.html', form=form, errors=stock.errors) return redirect(url_for('dashboard.stocks.view', stock_id=stock.id))
def get_available_items(inventories): c = g.get_hhapps_client(app_name) available_items = {} for inventory in inventories: available_item = available_items.get(inventory.item, None) if available_item: available_items[inventory.item]['available_serving_size'] += \ inventory.available_serving_size else: item = c.items.get(inventory.item) available_items[item.id] = dict( item=item, available_serving_size=inventory.available_serving_size) return available_items
def add(stock_id): c = g.get_hhapps_client('stock') stock = c.stocks.get(stock_id) items = c.items.list() item_choices = [(item.id, '{} ({})'.format(item.name, item.upc)) for item in items] item_choices.insert(0, ('', 'Select item or enter UPC')) form = forms.stocks.inventories.InventoryForm() form.item.choices = item_choices form.expired_date.label.text = '{}: default date is {}'.format( form.expired_date.label.text, form.expired_date.default.ctime()) # if not form.expired_date.data: # form.expired_date.data = form.expired_date.default.strftime( # form.expired_date.format) is_item = True if form.item.data else False or len(form.item_upc.data) > 0 if not form.validate_on_submit(): errors = [{ 'detail': '{}: {}'.format(k, v) } for k, v in form.errors.items()] return render_template('/dashboard/stocks/inventories/add.html', form=form, stock=stock, items=items) if not is_item: errors = [{'detail': 'Select item or enter upc'}] return render_template('/dashboard/stocks/inventories/add.html', form=form, errors=errors, stock=stock, items=items) data = form.data if len(data['item']) > 0: data['item'] = {'id': data['item']} inventory = c.inventories.create(stock=stock, **data) if inventory.is_error: # import pprint # pprint.pprint(inventory.data) return render_template('/dashboard/stocks/inventories/add.html', form=form, stock=stock, items=items) return redirect( url_for('dashboard.stocks.inventories.index', stock_id=stock.id))
def index(): c = g.get_hhapps_client(app_name) stocks = c.stocks.list() return render_template('/dashboard/stocks/index.html', stocks=stocks)