abolish default owner

Default owner has lead to mistakingly taking ownership of items while inventorying,
abrading the field's value.

Closes #29
This commit is contained in:
2025-05-31 13:31:24 +03:00
parent d6efdb607a
commit 86672b5033

View File

@@ -99,16 +99,6 @@ def setup_user_select(select_field, name_fields):
for name_field in name_fields: for name_field in name_fields:
name_field.data = value 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): def member_select_coerce(x):
x = str(x) x = str(x)
if x and x != "None": if x and x != "None":
@@ -148,9 +138,6 @@ class InventoryItemForm(CustomForm):
hardware = FormField(HardwareForm) hardware = FormField(HardwareForm)
shortener = FormField(ShortenerForm) shortener = FormField(ShortenerForm)
location = StringField('Location') location = StringField('Location')
def setup_defaults_add(self):
setup_default_owner(self.inventory.form.owner.form.username)
def check_edit_permission(item_id): def check_edit_permission(item_id):
if not item_id: if not item_id:
@@ -181,11 +168,12 @@ def check_edit_permission(item_id):
@login_required @login_required
def view_inventory_edit(item_id=None, slug=None, clone_item_id=None): def view_inventory_edit(item_id=None, slug=None, clone_item_id=None):
user = read_user() user = read_user()
has_edit_all = user and "k-space:inventory:edit" in user.get("groups", [])
item = None item = None
if item_id: if item_id:
if not check_edit_permission(item_id): if not check_edit_permission(item_id):
return abort(403) return abort(403)
item = db.inventory.find_one({ "_id": ObjectId(item_id) }) item = db.inventory.find_one({ "_id": ObjectId(item_id) })
form = InventoryItemForm(**item) form = InventoryItemForm(**item)
elif clone_item_id: elif clone_item_id:
@@ -198,13 +186,17 @@ def view_inventory_edit(item_id=None, slug=None, clone_item_id=None):
form = InventoryItemForm(**item) form = InventoryItemForm(**item)
else: else:
form = InventoryItemForm() form = InventoryItemForm()
form.setup_defaults_add()
# prefill
if slug: if slug:
form.shortener.slug.data = slug form.shortener.slug.data = slug
all_tags = db.inventory.distinct("tags") all_tags = db.inventory.distinct("tags")
item_tags = [] item_tags = []
if item and item.get("tags"): if item and item.get("tags"):
item_tags = item["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()) return render_template("inventory_edit.html", **locals())
@page_inventory.route("/m/inventory/<item_id>/edit", methods=['POST']) @page_inventory.route("/m/inventory/<item_id>/edit", methods=['POST'])