Pārlūkot izejas kodu

Merge branch 'master' of https://gogs.halsbox.ru/RRT/pbx

Hal De 3 gadi atpakaļ
vecāks
revīzija
a0d44509da
1 mainītis faili ar 14 papildinājumiem un 7 dzēšanām
  1. 14 7
      app/cel.py

+ 14 - 7
app/cel.py

@@ -135,11 +135,18 @@ class CdrUserEvents(CdrEvents):
     self._user = user
     self._events = []
     self.start = 0
+    self.answered = 0
     self.end = 0
+    self.recordingfile = ''
   def add(self, event):
     if not isinstance(event, CdrEvent):
       event = CdrEvent(event)
     if self._user in (event.src, event.dst, event.cnum):
+      if (self.answer ==0) and (event.disposition == 'ANSWERED'):
+        self.answer = event.calldate + event.duration - event.billsec
+        self.recordingfile = event.recordingfile
+      if (self.recordingfile == ''):
+        self.recordingfile = event.recordingfile
       if len(self._events) == 0:
         self.start = event.calldate
         self.end = event.calldate + td(seconds=event.duration)
@@ -256,7 +263,7 @@ class CdrUserCall(CdrCall):
       self.linkedid = None
   @property
   def file(self):
-    return self.events.first.recordingfile
+    return self.events.recordingfile
   @property
   def src(self):
     return self.events.first.cnum
@@ -277,20 +284,20 @@ class CdrUserCall(CdrCall):
       return None
   @property
   def duration(self):
-    if not self.isAnswered:
+    if not self.events.answer == 0
       return 0
     else:
-     return self.events.first.billsec
+     return self.events.end - self.events.answer
   @property
   def waiting(self):
-    if not self.isAnswered:
-      return self.events.first.duration
+    if not self.event.answer == 0:
+      return self.events.end - self.events.start
     else:
       # TODO: exclude time on ivr
-      return self.events.first.duration - self.duration
+      return self.events.answer - self.events.start
   @property
   def isAnswered(self):
-    return self.disposition == 'ANSWERED';
+    return self.events.answer != 0;
   @property
   def simple(self):
     return {'start': self.start,