forked from Hay1tsme/artemis
card: add memos
This commit is contained in:
@ -476,10 +476,10 @@ class FE_User(FE_Base):
|
||||
card_data.append({
|
||||
'access_code': ac,
|
||||
'status': status,
|
||||
'chip_id': "", #None if c['chip_id'] is None else f"{c['chip_id']:X}",
|
||||
'idm': "",
|
||||
'chip_id': c['chip_id'],
|
||||
'idm': c['idm'],
|
||||
'type': c_type,
|
||||
"memo": ""
|
||||
"memo": c['memo']
|
||||
})
|
||||
|
||||
if "e" in request.query_params:
|
||||
@ -516,7 +516,42 @@ class FE_User(FE_Base):
|
||||
return resp
|
||||
|
||||
async def edit_card(self, request: Request) -> RedirectResponse:
|
||||
return RedirectResponse("/user/", 303)
|
||||
frm = await request.form()
|
||||
usr_sesh = self.validate_session(request)
|
||||
if not usr_sesh or not self.test_perm(usr_sesh.permissions, PermissionOffset.USERMOD):
|
||||
return RedirectResponse("/gate/", 303)
|
||||
|
||||
frm = await request.form()
|
||||
ac = frm.get("add_access_code", None)
|
||||
if not ac:
|
||||
return RedirectResponse("/user/?e=999", 303)
|
||||
|
||||
card = await self.data.card.get_card_by_access_code(ac)
|
||||
if not card:
|
||||
return RedirectResponse("/user/?e=2", 303)
|
||||
|
||||
if card['user'] != usr_sesh.user_id and not self.test_perm_minimum(usr_sesh.permissions, PermissionOffset.USERMOD):
|
||||
return RedirectResponse("/user/?e=11", 303)
|
||||
|
||||
if frm.get("add_memo", None):
|
||||
memo = frm.get("add_memo")
|
||||
if len(memo) > 16 or len(memo) == 0:
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
await self.data.card.set_memo_by_access_code(ac, memo)
|
||||
|
||||
if frm.get("add_felica_idm", None):
|
||||
idm = frm.get('add_felica_idm')
|
||||
if not all(c in string.hexdigits for c in idm):
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
await self.data.card.set_idm_by_access_code(ac, idm)
|
||||
|
||||
if frm.get("add_mifare_chip_id", None):
|
||||
chip_id: str = frm.get('add_mifare_chip_id')
|
||||
if not all(c in string.hexdigits for c in idm):
|
||||
return RedirectResponse("/user/?e=4", 303)
|
||||
await self.data.card.set_chip_id_by_access_code(ac, int(chip_id, 16))
|
||||
|
||||
return RedirectResponse("/user/?s=4", 303)
|
||||
|
||||
async def add_card(self, request: Request) -> RedirectResponse:
|
||||
return RedirectResponse("/user/", 303)
|
||||
|
Reference in New Issue
Block a user