def test_get_item_by_sku(self): test_item = db.Item(sku=999, part_no='test part', manufacturer='test manufacturer', description='test description') db.session.add(test_item) result_item = db.get_item_by_sku(999) self.assertIs(test_item, result_item) db.session.rollback()
def adjust_stock_for_item_view(item_sku: int): try: item = db.get_item_by_sku(item_sku) reasons = db.get_all_reasons() except: abort(400) return render_template('adjust_stock_for_item.html', item=item, reasons=reasons)
def get_item_by_sku(): try: item_sku = request.args.get('item_sku') except: abort(400) item = db.get_item_by_sku(int(item_sku)) if item == None: return jsonify(item), 404 else: return jsonify(item.__repr__()), 200
def adjustments_view(browse_type, filter_id, page_number = 0): adjustments = [] rows = [] try: if browse_type == 'employee': employee = db.session.query(db.Employee).filter(db.Employee.id == filter_id).one() table_header = "Adjustments by {}".format(employee.name.title()) page_title = employee.name.title() adjustment_count = db.count_adjustments_by_employee_id(filter_id) adjustments = db.get_adjustments_by_employee_id(filter_id, page_number) elif browse_type == 'date': filter_date = date(int(filter_id[0:4]), int(filter_id[5:7]), int(filter_id[8:])) table_header = "Adjustments on {}".format(filter_date.strftime("%a, %b %e %Y")) page_title = filter_date.strftime("%a, %b %e %Y") adjustment_count = db.count_adjustments_by_date(filter_date) adjustments = db.get_adjustments_by_date(filter_date, None, page_number) elif browse_type == 'item': item = db.get_item_by_sku(filter_id) table_header = "Adjustments to {}".format(item.part_no.upper()) page_title = item.part_no.upper() adjustment_count = db.count_adjustments_by_sku(filter_id) adjustments = db.get_adjustments_by_sku(filter_id, page_number) elif browse_type == 'reason': reason = db.session.query(db.AdjustmentReason).filter(db.AdjustmentReason.id == filter_id).one() table_header = "Adjustments for {}".format(reason.name.title()) page_title = reason.name.upper() adjustment_count = db.count_adjustments_by_reason_id(filter_id) adjustments = db.get_adjustments_by_reason_id(filter_id, page_number) else: abort(400) except: db.session.rollback() abort(404) page_count = ceil(adjustment_count / db.page_limit) for adjustment in adjustments: cst_datetime = adjustment.datetime - timedelta(hours=6) rows.append(BasicRow( id = adjustment.id, href = '/adjustment/{}'.format(adjustment.id), primary_text = "{} - {}".format(adjustment.item.part_no.upper(), adjustment.cst_datetime.strftime("%m/%d/%y %I:%M %p")), secondary_text = "Qty Change: {}".format(adjustment.total_qty_change) )) return render_template('basic_table_view.html', table_header = table_header, page_title = page_title, rows = rows, current_page = page_number + 1, total_pages = page_count)
def get_object_id(search_string, object_type): if object_type == "category": try: category = db.session.query(db.Category).filter( db.Category.name == search_string.lower()).one() except: abort(404) result_id = category.id elif object_type == "location": try: location = db.session.query(db.Location).filter( db.Location.name == search_string.upper()).one() except: abort(404) result_id = location.id elif object_type == 'manufacturer': item_count = db.count_items_by_manufacturer(search_string.lower()) if item_count == 0: abort(404) result_id = search_string.lower() elif object_type == 'item': item = db.get_item_by_sku(search_string) if item == None: abort(404) result_id = item.sku elif object_type == 'employee': try: employee = db.session.query(db.Employee).get(search_string) except: abort(404) result_id = employee.id elif object_type == "reason": try: reason = db.session.query(db.AdjustmentReason).filter( db.AdjustmentReason.name == search_string.lower()).one() except: abort(404) result_id = reason.id else: abort(400) return result_id
def item_detail_view(sku: int): item = db.get_item_by_sku(sku) if item == None: abort(404) return render_template('item_detail_view.html', item=item)