Hal De 4 gadi atpakaļ
vecāks
revīzija
ea95167747
1 mainītis faili ar 6 papildinājumiem un 2 dzēšanām
  1. 6 2
      app/app.py

+ 6 - 2
app/app.py

@@ -887,9 +887,9 @@ class SetPresenceState(Resource):
       return invalidState(state)
     if user not in app.cache['ustates']:
       return noUser(user)
-    app.logger.warning('state={}, getUserStateCombined({})={}'.format(state, user, getUserStateCombined(user)))
+    # app.logger.warning('state={}, getUserStateCombined({})={}'.format(state, user, getUserStateCombined(user)))
     if (state.lower() in ('available','not_set','away','xa','chat')) and (getUserStateCombined(user) == 'dnd'):
-      result = await amiDBDel('DND', '{}'.format(user))
+      result = await amiDBPut('DND', '{}'.format(user), 'NO')
     result = await amiSetVar('PRESENCE_STATE(CustomPresence:{})'.format(user), state)
     if result is not None:
       return errorReply(result)
@@ -943,6 +943,8 @@ class UserDeviceBind(Resource):
       return alreadyBound(user, device)
     ast = await getGlobalVars()
     if currentUser not in NONEs: # If any other user is bound to device, unbind him,
+      result = await amiSetVar('PRESENCE_STATE(CustomPresence:{})'.format(user), 'available')
+      result = await amiDBPut('DND', '{}'.format(user), 'NO')
       await setUserDevice(currentUser, None)
       if ast.QUEDEVSTATE == 'TRUE': # set device states for previous user queues
         await setQueueStates(currentUser, device, 'NOT_INUSE')
@@ -979,6 +981,8 @@ class DeviceUnBind(Resource):
     if currentUser in NONEs:
       return noUserBound(device)
     else:
+      result = await amiSetVar('PRESENCE_STATE(CustomPresence:{})'.format(user), 'available')
+      result = await amiDBPut('DND', '{}'.format(user), 'NO')
       ast = await getGlobalVars()
       await setUserDevice(currentUser, None) # Unbind device from current user
       if ast.QUEDEVSTATE == 'TRUE': # set device states for current user queues