diff --git a/inventory-app/inventory.py b/inventory-app/inventory.py
index beb6627..17d9864 100644
--- a/inventory-app/inventory.py
+++ b/inventory-app/inventory.py
@@ -1,6 +1,6 @@
import boto3
import pymongo
-from datetime import datetime
+from datetime import datetime, date, timedelta
from botocore.exceptions import ClientError
from bson.objectid import ObjectId
from flask import Blueprint, abort, g, make_response, redirect, render_template, request
@@ -393,13 +393,15 @@ def view_inventory(slug=None):
q = {"type": {"$ne": "token"}}
template = "inventory.html"
public_view = False
- if not read_user():
+ login_user = read_user()
+ if not login_user:
q.update({"inventory.public": True})
template = "inventory_public.html"
public_view = True
else:
fields.append(("inventory.owner.username", "Owner", str))
fields.append(("inventory.user.username", "User", str))
+ can_audit = "k-space:janitors" in login_user["groups"]
if slug and not public_view:
template = "inventory_pick.html"
if request.path.startswith("/m/inventory/clone-with-slug"):
@@ -446,7 +448,29 @@ def view_inventory_audit(item_id):
"inventory.audit.timestamp": datetime.utcnow(),
},
})
- return redirect("/m/inventory/%s/view" % item_id)
+ if request.form and request.form.get("noRedirect", False):
+ return {}
+ else:
+ return redirect("/m/inventory/%s/view" % item_id)
+
+@page_inventory.app_template_filter('audit_text')
+def render_audit_text(item):
+ timestamp = item.get('audit', {}).get('timestamp', False)
+ if timestamp:
+ return timestamp.date()
+ else:
+ return 'Never'
+
+@page_inventory.app_template_filter('audit_color')
+def render_audit_color(item):
+ timestamp = item.get('audit', {}).get('timestamp', False)
+ today = date.today()
+ if not timestamp or timestamp.date() < today - timedelta(days=365):
+ return "red"
+ elif timestamp.date() < today - timedelta(days=7):
+ return "orange"
+ else:
+ return "green unclickable"
@page_inventory.route("/m/inventory/Type
Owner
User
+ {% if can_audit %}
+ Audit
+ {% endif %}
@@ -30,6 +33,17 @@
{{ item.type }}
{{ item | owner_link}}
{{ item | user_link}}
+ {% if can_audit %}
+
+
+
+ {% endif %}
+
{% endfor %}
@@ -38,4 +52,20 @@
Add item