diff --git a/inventory-app/inventory.py b/inventory-app/inventory.py index 02bcdee..6268eef 100644 --- a/inventory-app/inventory.py +++ b/inventory-app/inventory.py @@ -99,16 +99,6 @@ def setup_user_select(select_field, name_fields): for name_field in name_fields: name_field.data = value -def setup_default_owner(select_field): - user = read_user() - c = select_field.choices - d = [i for i in c if i[0] == (user and user.get("username") or "k-space")] - if len(d) < 1: - return - dv = d[0] or None - select_field.default = dv[0] - select_field.process([]) - def member_select_coerce(x): x = str(x) if x and x != "None": @@ -148,9 +138,6 @@ class InventoryItemForm(CustomForm): hardware = FormField(HardwareForm) shortener = FormField(ShortenerForm) location = StringField('Location') - def setup_defaults_add(self): - setup_default_owner(self.inventory.form.owner.form.username) - def check_edit_permission(item_id): if not item_id: @@ -181,11 +168,12 @@ def check_edit_permission(item_id): @login_required def view_inventory_edit(item_id=None, slug=None, clone_item_id=None): user = read_user() - has_edit_all = user and "k-space:inventory:edit" in user.get("groups", []) + item = None if item_id: if not check_edit_permission(item_id): return abort(403) + item = db.inventory.find_one({ "_id": ObjectId(item_id) }) form = InventoryItemForm(**item) elif clone_item_id: @@ -198,13 +186,17 @@ def view_inventory_edit(item_id=None, slug=None, clone_item_id=None): form = InventoryItemForm(**item) else: form = InventoryItemForm() - form.setup_defaults_add() + + # prefill if slug: form.shortener.slug.data = slug + all_tags = db.inventory.distinct("tags") item_tags = [] if item and item.get("tags"): item_tags = item["tags"] + has_edit_all = user and "k-space:inventory:edit" in user.get("groups", []) + return render_template("inventory_edit.html", **locals()) @page_inventory.route("/m/inventory//edit", methods=['POST'])