Subversion Repositories SmartDukaan

Rev

Rev 18623 | Rev 18629 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 18623 Rev 18628
Line 1815... Line 1815...
1815
                lgr.info( "Request ----\n"  + str(jsonReq))
1815
                lgr.info( "Request ----\n"  + str(jsonReq))
1816
                self.jsonReq = jsonReq
1816
                self.jsonReq = jsonReq
1817
                self.callType="default"
1817
                self.callType="default"
1818
                callLaterAccs = self.callLaterAccs
1818
                callLaterAccs = self.callLaterAccs
1819
                accsDisposition = self.accsDisposition
1819
                accsDisposition = self.accsDisposition
-
 
1820
                accsOrderDisposition=self.accsOrderDisposition
1820
                self.userId = int(jsonReq.get('user_id'))
1821
                self.userId = int(jsonReq.get('user_id'))
1821
                try:
1822
                try:
1822
                    self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==3).first()
1823
                    self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==3).first()
1823
                    self.callDisposition = jsonReq.get('calldispositiontype')
1824
                    self.callDisposition = jsonReq.get('calldispositiontype')
1824
                    self.callHistoryCrm = CallHistoryCrm()
1825
                    self.callHistoryCrm = CallHistoryCrm()
Line 1828... Line 1829...
1828
                    self.callHistoryCrm.user_id=self.userId
1829
                    self.callHistoryCrm.user_id=self.userId
1829
                    self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
1830
                    self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
1830
                    self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
1831
                    self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
1831
                    self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
1832
                    self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
1832
                    self.callHistoryCrm.mobile_number = jsonReq.get('number')
1833
                    self.callHistoryCrm.mobile_number = jsonReq.get('number')
1833
                    self.callHistoryCrm.feedback = jsonReq.get('feedbacks')
-
 
1834
                    self.inputs = jsonReq.get("inputs")
1834
                    self.inputs = jsonReq.get("inputs")
1835
                    dispositionMap = {  'call_later':callLaterAccs,
1835
                    dispositionMap = {  'call_later':callLaterAccs,
1836
                                'ringing_no_answer':callLaterAccs,
1836
                                'ringing_no_answer':callLaterAccs,
1837
                                'not_reachable':callLaterAccs,
1837
                                'not_reachable':callLaterAccs,
1838
                                'switch_off':callLaterAccs,
1838
                                'switch_off':callLaterAccs,
1839
                                'technical_issue':accsDisposition,
1839
                                'technical_issue':accsDisposition,
1840
                                'pricing_issue':accsDisposition,
1840
                                'pricing_issue':accsDisposition,
1841
                                'shipping_issue':accsDisposition,
1841
                                'shipping_issue':accsDisposition,
-
 
1842
                                'product_availability':accsOrderDisposition,
1842
                                'internet_issue':accsDisposition,
1843
                                'return_replacement':accsOrderDisposition,
1843
                                'checking_price':accsDisposition,
1844
                                'already_purchased':accsOrderDisposition,
1844
                                'order_process':accsDisposition,
1845
                                'product_quality_issue':accsOrderDisposition,
1845
                                'placed_order':accsDisposition,
1846
                                'delayed_delivery':accsOrderDisposition,
1846
                                'place_order':accsDisposition
1847
                                'other_complaint':accsOrderDisposition
1847
                              }
1848
                              }
1848
                    returned = dispositionMap[jsonReq.get('calldispositiontype')]()
1849
                    returned = dispositionMap[jsonReq.get('calldispositiontype')]()
1849
                finally:
1850
                finally:
1850
                    session.close()
1851
                    session.close()
1851
                
1852
                
1852
                if returned:
1853
                if returned:
1853
                    resp.body = "{\"result\":\"success\"}"
1854
                    resp.body = "{\"result\":\"success\"}"
1854
                else:
1855
                else:
1855
                    resp.body = "{\"result\":\"failed\"}"
1856
                    resp.body = "{\"result\":\"failed\"}"
-
 
1857
                    
-
 
1858
    def accsOrderDisposition(self):
-
 
1859
        self.user.status='done'
-
 
1860
        self.user.user_available = 1
-
 
1861
        self.user.disposition=self.callDisposition
-
 
1862
        self.user.modified = datetime.now()
-
 
1863
        if self.callDisposition == 'product_availability':
-
 
1864
            self.callHistoryCrm.disposition_description='Product Not available'
-
 
1865
        elif self.callDisposition == 'return_replacement':
-
 
1866
            self.callHistoryCrm.disposition_description='Return or replacement pending'
-
 
1867
        elif self.callDisposition == 'already_purchased':
-
 
1868
            self.callHistoryCrm.disposition_description='Already purchased required stock'
-
 
1869
        elif self.callDisposition == 'product_quality_issue':
-
 
1870
            self.callHistoryCrm.disposition_description='Product Quality issue'
-
 
1871
        elif self.callDisposition == 'delayed_delivery':
-
 
1872
            self.callHistoryCrm.disposition_description='Delayed Delivery'    
-
 
1873
        elif self.callDisposition == 'other_complaint':
-
 
1874
            self.callHistoryCrm.disposition_description='Other complaint with profitmandi'    
-
 
1875
        session.commit()
-
 
1876
        jdata = self.inputs
-
 
1877
        jdata = json.loads(jdata)
-
 
1878
        if jdata:
-
 
1879
            for d in jdata:
-
 
1880
                for key, value in d.iteritems():
-
 
1881
                    productpricingInputs = ProductPricingInputs()
-
 
1882
                    productpricingInputs.user_id = self.callHistoryCrm.user_id
-
 
1883
                    productpricingInputs.agent_id = self.callHistoryCrm.agent_id
-
 
1884
                    productpricingInputs.disposition_id = self.callHistoryCrm.id
-
 
1885
                    productpricingInputs.user_id = self.callHistoryCrm.user_id
-
 
1886
                    productpricingInputs.call_disposition = self.callHistoryCrm.call_disposition
-
 
1887
                    productpricingInputs.project_id = self.callHistoryCrm.project_id
-
 
1888
                    productpricingInputs.product_input = key
-
 
1889
                    productpricingInputs.pricing_input = value
-
 
1890
            session.commit()        
-
 
1891
        return True
1856
 
1892
    
1857
    def accsDisposition(self):
1893
    def accsDisposition(self):
1858
        self.user.status='done'
1894
        self.user.status='done'
1859
        self.user.user_available = 1
1895
        self.user.user_available = 1
1860
        self.user.disposition=self.callDisposition
1896
        self.user.disposition=self.callDisposition
1861
        self.user.modified = datetime.now()
1897
        self.user.modified = datetime.now()
Line 1978... Line 2014...
1978
    
2014
    
1979
    counter=0
2015
    counter=0
1980
    for i in userFinalList:
2016
    for i in userFinalList:
1981
        try:
2017
        try:
1982
            userId=i
2018
            userId=i
1983
            if counter==2:
2019
            if counter==20:
1984
                break
2020
                break
1985
            userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
2021
            userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
1986
            if userPresent is not None:
2022
            if userPresent is not None:
1987
                if userPresent.user_available==1:
2023
                if userPresent.user_available==1:
1988
                    if userPresent.project_id==project_id:
2024
                    if userPresent.project_id==project_id:
1989
                        if userPresent.modified.date()>=(datetime.now().date()-timedelta(days=30)):
2025
                        if userPresent.modified.date()>=(datetime.now().date()-timedelta(days=30)):
1990
                            continue
2026
                            continue
1991
                        else:
2027
                        else:
1992
                            pass    
2028
                            pass    
1993
                    elif userPresent.modified>=(datetime.now().date()-timedelta(days=3)):
2029
                    elif userPresent.modified.date()>=(datetime.now().date()-timedelta(days=3)):
1994
                        continue
2030
                        continue
1995
                else:
2031
                else:
1996
                    continue     
2032
                    continue     
1997
            counter=counter+1
2033
            counter=counter+1
1998
            lgr.info("Counter while adding",str(counter))
-
 
1999
            userMasterData = UserCrmCallingData()
2034
            userMasterData = UserCrmCallingData()
2000
            userMasterData.user_id = userId 
2035
            userMasterData.user_id = userId 
2001
            userMasterData.name =getUsername(userId) 
2036
            userMasterData.name =getUsername(userId) 
2002
            userMasterData.project_id = project_id
2037
            userMasterData.project_id = project_id
2003
            userMasterData.user_available=0
2038
            userMasterData.user_available=0
Line 2068... Line 2103...
2068
            userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
2103
            userPresent = session.query(UserCrmCallingData).filter_by(user_id=userId).order_by(desc(UserCrmCallingData.modified)).first()
2069
            if userPresent is not None:
2104
            if userPresent is not None:
2070
                if userPresent.user_available==1:
2105
                if userPresent.user_available==1:
2071
                    if userPresent.project_id==projectId:
2106
                    if userPresent.project_id==projectId:
2072
                        continue
2107
                        continue
2073
                    elif userPresent.modified>=(datetime.now().date()-timedelta(days=3)):
2108
                    elif userPresent.modified.date()>=(datetime.now().date()-timedelta(days=3)):
2074
                        continue
2109
                        continue
2075
                else:
2110
                else:
2076
                    continue     
2111
                    continue     
2077
            counter=counter+1
2112
            counter=counter+1
2078
            lgr.info("Counter while adding",str(counter))
-
 
2079
            userMasterData = UserCrmCallingData()
2113
            userMasterData = UserCrmCallingData()
2080
            userMasterData.user_id = userId 
2114
            userMasterData.user_id = userId 
2081
            userMasterData.name =getUsername(userId) 
2115
            userMasterData.name =getUsername(userId) 
2082
            userMasterData.project_id = projectId
2116
            userMasterData.project_id = projectId
2083
            userMasterData.user_available=0
2117
            userMasterData.user_available=0