Exemple #1
0
    def put(self, branch_name, name):
        is_admin = Item.is_admin()
        if not is_admin:
            return {'message': 'You are not privileged to continue!'}, 400

        branch = BranchModel.find_by_name(branch_name)
        if not branch:
            return {'message': "Branch '{}' does not exist.".format(branch_name)}, 400

        data = Item.parser.parse_args()
        error_validation = validators.item_validator(**data)
        if error_validation['error validation']:
            return error_validation

        item = ItemModel.find_by_name_in_branch(branch.id, name)
        log = LogModel("update item '{}'".format(name), g.user.username, Item.admin)

        if item is None:
            item = ItemModel(name, **data)
        else:
            item.price = data['price']
            item.year = data['year']
            item.item_type = data['item_type']
            item.vendor = data['vendor']
            item.model = data['model']

            item.branch_id = data['branch_id']

        item.save_to_db()
        log.save_to_db()

        return item.json()