viewer: add basic buttons to lock/unlock front door

This commit is contained in:
Adam Goldsmith 2018-08-16 10:59:31 -04:00
parent 1f5acb1a91
commit 48333d1e6d
3 changed files with 18 additions and 0 deletions

View File

@ -50,6 +50,13 @@ def sendCardFormat(targetIP, formatName, templateID, facilityCode):
attrib={"value": str(facilityCode)}) attrib={"value": str(facilityCode)})
return doXMLRequest(targetIP, ET.tostring(el)) return doXMLRequest(targetIP, ET.tostring(el))
def lockOrUnlockDoor(targetIP, lock=True):
el = ET.Element("VertXMessage")
ET.SubElement(el, "hid:Doors",
attrib={"action": "CM",
"command": "lockDoor" if lock else "unlockDoor"})
return doXMLRequest(targetIP, ET.tostring(el))
def forEachDoor(fxn): def forEachDoor(fxn):
for doorName, doorData in config["doors"].items(): for doorName, doorData in config["doors"].items():
print(doorName) print(doorName)

View File

@ -1,11 +1,13 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import re import re
import http
from flask import Flask, render_template, request from flask import Flask, render_template, request
app = Flask(__name__) app = Flask(__name__)
from common import * from common import *
from doorUtil import lockOrUnlockDoor
def parse_list(member, regex): def parse_list(member, regex):
data_list = [] data_list = []
@ -60,5 +62,10 @@ def main():
return render_template("members.html", headers=headers, members=members) return render_template("members.html", headers=headers, members=members)
@app.route('/frontDoor/<lock>', methods=['POST'])
def unlockLockDoor(lock):
lockOrUnlockDoor(config['doors']['Front Door']['ip'], lock != 'unlock')
return ('', http.HTTPStatus.NO_CONTENT)
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=True, host='0.0.0.0') app.run(debug=True, host='0.0.0.0')

View File

@ -24,6 +24,10 @@
</style> </style>
</head> </head>
<body> <body>
<form action="./frontDoor/lock" method="post">
<button>Lock Front Door</button>
<button formaction="./frontDoor/unlock">Unlock Front Door</button>
</form>
<form> <form>
<input type="text" name="term" /> <input type="text" name="term" />
<button>Search</button> <button>Search</button>