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:
@@ -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'])
|
||||||
|
Reference in New Issue
Block a user