| Line 1722... |
Line 1722... |
| 1722 |
|
1722 |
|
| 1723 |
def on_post(self, req, resp):
|
1723 |
def on_post(self, req, resp):
|
| 1724 |
returned = False
|
1724 |
returned = False
|
| 1725 |
self.agentId = req.get_param("agent_id")
|
1725 |
self.agentId = req.get_param("agent_id")
|
| 1726 |
project_name = req.get_param("project_name")
|
1726 |
project_name = req.get_param("project_name")
|
| - |
|
1727 |
|
| 1727 |
if project_name == 'accs_cart':
|
1728 |
if project_name == 'accs_cart':
|
| 1728 |
jsonReq = json.loads(req.stream.read(), encoding='utf-8')
|
- |
|
| 1729 |
lgr.info( "Request ----\n" + str(jsonReq))
|
- |
|
| 1730 |
self.jsonReq = jsonReq
|
- |
|
| 1731 |
self.callType="default"
|
- |
|
| 1732 |
callLaterAccs = self.callLaterAccs
|
- |
|
| 1733 |
accsDisposition = self.accsDisposition
|
- |
|
| 1734 |
self.userId = int(jsonReq.get('user_id'))
|
- |
|
| 1735 |
try:
|
1729 |
project_id=1
|
| 1736 |
self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==1).first()
|
- |
|
| 1737 |
self.callDisposition = jsonReq.get('calldispositiontype')
|
- |
|
| 1738 |
self.callHistoryCrm = CallHistoryCrm()
|
1730 |
elif project_name == 'accs_active':
|
| 1739 |
self.callHistoryCrm.agent_id=self.agentId
|
- |
|
| 1740 |
self.callHistoryCrm.project_id = 1
|
1731 |
project_id=2
|
| 1741 |
self.callHistoryCrm.call_disposition = self.callDisposition
|
- |
|
| 1742 |
self.callHistoryCrm.user_id=self.userId
|
- |
|
| 1743 |
self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
|
- |
|
| 1744 |
self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
|
- |
|
| 1745 |
self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
|
- |
|
| 1746 |
self.callHistoryCrm.mobile_number = jsonReq.get('number')
|
- |
|
| 1747 |
self.inputs = jsonReq.get("inputs")
|
- |
|
| 1748 |
dispositionMap = { 'call_later':callLaterAccs,
|
- |
|
| 1749 |
'ringing_no_answer':callLaterAccs,
|
- |
|
| 1750 |
'not_reachable':callLaterAccs,
|
- |
|
| 1751 |
'switch_off':callLaterAccs,
|
- |
|
| 1752 |
'technical_issue':accsDisposition,
|
- |
|
| 1753 |
'pricing_issue':accsDisposition,
|
- |
|
| 1754 |
'shipping_issue':accsDisposition,
|
- |
|
| 1755 |
'internet_issue':accsDisposition,
|
- |
|
| 1756 |
'checking_price':accsDisposition,
|
- |
|
| 1757 |
'order_process':accsDisposition,
|
- |
|
| 1758 |
'placed_order':accsDisposition,
|
- |
|
| 1759 |
'place_order':accsDisposition
|
1732 |
elif project_name == 'accs_order':
|
| 1760 |
}
|
1733 |
project_id=3
|
| 1761 |
returned = dispositionMap[jsonReq.get('calldispositiontype')]()
|
- |
|
| 1762 |
finally:
|
- |
|
| 1763 |
session.close()
|
- |
|
| 1764 |
|
1734 |
|
| 1765 |
if returned:
|
- |
|
| 1766 |
resp.body = "{\"result\":\"success\"}"
|
- |
|
| 1767 |
else:
|
- |
|
| 1768 |
resp.body = "{\"result\":\"failed\"}"
|
- |
|
| 1769 |
|
- |
|
| 1770 |
if project_name == 'accs_active':
|
- |
|
| 1771 |
jsonReq = json.loads(req.stream.read(), encoding='utf-8')
|
1735 |
jsonReq = json.loads(req.stream.read(), encoding='utf-8')
|
| 1772 |
lgr.info( "Request ----\n" + str(jsonReq))
|
1736 |
lgr.info( "Request ----\n" + str(jsonReq))
|
| 1773 |
self.jsonReq = jsonReq
|
1737 |
self.jsonReq = jsonReq
|
| 1774 |
self.callType="default"
|
1738 |
self.callType="default"
|
| 1775 |
callLaterAccs = self.callLaterAccs
|
1739 |
callLaterAccs = self.callLaterAccs
|
| 1776 |
accsDisposition = self.accsDisposition
|
1740 |
accsDisposition = self.accsDisposition
|
| - |
|
1741 |
accsOrderDisposition=self.accsOrderDisposition
|
| 1777 |
self.userId = int(jsonReq.get('user_id'))
|
1742 |
self.userId = int(jsonReq.get('user_id'))
|
| 1778 |
try:
|
1743 |
try:
|
| 1779 |
self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==2).first()
|
1744 |
self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==project_id).first()
|
| 1780 |
self.callDisposition = jsonReq.get('calldispositiontype')
|
1745 |
self.callDisposition = jsonReq.get('calldispositiontype')
|
| 1781 |
self.callHistoryCrm = CallHistoryCrm()
|
1746 |
self.callHistoryCrm = CallHistoryCrm()
|
| 1782 |
self.callHistoryCrm.agent_id=self.agentId
|
1747 |
self.callHistoryCrm.agent_id=self.agentId
|
| 1783 |
self.callHistoryCrm.project_id = 2
|
1748 |
self.callHistoryCrm.project_id = project_id
|
| 1784 |
self.callHistoryCrm.call_disposition = self.callDisposition
|
1749 |
self.callHistoryCrm.call_disposition = self.callDisposition
|
| 1785 |
self.callHistoryCrm.user_id=self.userId
|
1750 |
self.callHistoryCrm.user_id=self.userId
|
| 1786 |
self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
|
1751 |
self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
|
| 1787 |
self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
|
1752 |
self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
|
| 1788 |
self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
|
1753 |
self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
|
| 1789 |
self.callHistoryCrm.mobile_number = jsonReq.get('number')
|
1754 |
self.callHistoryCrm.mobile_number = jsonReq.get('number')
|
| 1790 |
self.inputs = jsonReq.get("inputs")
|
1755 |
self.inputs = jsonReq.get("inputs")
|
| 1791 |
dispositionMap = { 'call_later':callLaterAccs,
|
1756 |
dispositionMap = { 'call_later':callLaterAccs,
|
| 1792 |
'ringing_no_answer':callLaterAccs,
|
1757 |
'ringing_no_answer':callLaterAccs,
|
| 1793 |
'not_reachable':callLaterAccs,
|
1758 |
'not_reachable':callLaterAccs,
|
| 1794 |
'switch_off':callLaterAccs,
|
1759 |
'switch_off':callLaterAccs,
|
| 1795 |
'technical_issue':accsDisposition,
|
1760 |
'technical_issue':accsDisposition,
|
| 1796 |
'pricing_issue':accsDisposition,
|
1761 |
'pricing_issue':accsDisposition,
|
| 1797 |
'shipping_issue':accsDisposition,
|
1762 |
'shipping_issue':accsDisposition,
|
| 1798 |
'internet_issue':accsDisposition,
|
1763 |
'internet_issue':accsDisposition,
|
| 1799 |
'checking_price':accsDisposition,
|
1764 |
'checking_price':accsDisposition,
|
| 1800 |
'order_process':accsDisposition,
|
1765 |
'order_process':accsDisposition,
|
| 1801 |
'placed_order':accsDisposition,
|
1766 |
'placed_order':accsDisposition,
|
| 1802 |
'place_order':accsDisposition
|
1767 |
'place_order':accsDisposition,
|
| 1803 |
}
|
- |
|
| 1804 |
returned = dispositionMap[jsonReq.get('calldispositiontype')]()
|
- |
|
| 1805 |
finally:
|
- |
|
| 1806 |
session.close()
|
- |
|
| 1807 |
|
- |
|
| 1808 |
if returned:
|
- |
|
| 1809 |
resp.body = "{\"result\":\"success\"}"
|
- |
|
| 1810 |
else:
|
- |
|
| 1811 |
resp.body = "{\"result\":\"failed\"}"
|
- |
|
| 1812 |
|
- |
|
| 1813 |
if project_name == 'accs_order':
|
- |
|
| 1814 |
jsonReq = json.loads(req.stream.read(), encoding='utf-8')
|
- |
|
| 1815 |
lgr.info( "Request ----\n" + str(jsonReq))
|
- |
|
| 1816 |
self.jsonReq = jsonReq
|
- |
|
| 1817 |
self.callType="default"
|
- |
|
| 1818 |
callLaterAccs = self.callLaterAccs
|
- |
|
| 1819 |
accsDisposition = self.accsDisposition
|
- |
|
| 1820 |
accsOrderDisposition=self.accsOrderDisposition
|
- |
|
| 1821 |
self.userId = int(jsonReq.get('user_id'))
|
- |
|
| 1822 |
try:
|
- |
|
| 1823 |
self.user = session.query(UserCrmCallingData).filter_by(user_id=self.userId).filter(UserCrmCallingData.project_id==3).first()
|
- |
|
| 1824 |
self.callDisposition = jsonReq.get('calldispositiontype')
|
- |
|
| 1825 |
self.callHistoryCrm = CallHistoryCrm()
|
- |
|
| 1826 |
self.callHistoryCrm.agent_id=self.agentId
|
- |
|
| 1827 |
self.callHistoryCrm.project_id = 3
|
- |
|
| 1828 |
self.callHistoryCrm.call_disposition = self.callDisposition
|
- |
|
| 1829 |
self.callHistoryCrm.user_id=self.userId
|
- |
|
| 1830 |
self.callHistoryCrm.duration_sec = int(jsonReq.get("callduration"))
|
- |
|
| 1831 |
self.callHistoryCrm.disposition_comments = jsonReq.get('calldispositioncomments')
|
- |
|
| 1832 |
self.callHistoryCrm.call_time = datetime.strptime(jsonReq.get("calltime"), '%d/%m/%Y %H:%M:%S')
|
- |
|
| 1833 |
self.callHistoryCrm.mobile_number = jsonReq.get('number')
|
- |
|
| 1834 |
self.inputs = jsonReq.get("inputs")
|
- |
|
| 1835 |
dispositionMap = { 'call_later':callLaterAccs,
|
- |
|
| 1836 |
'ringing_no_answer':callLaterAccs,
|
- |
|
| 1837 |
'not_reachable':callLaterAccs,
|
- |
|
| 1838 |
'switch_off':callLaterAccs,
|
- |
|
| 1839 |
'technical_issue':accsDisposition,
|
- |
|
| 1840 |
'pricing_issue':accsDisposition,
|
- |
|
| 1841 |
'shipping_issue':accsDisposition,
|
- |
|
| 1842 |
'product_availability':accsOrderDisposition,
|
1768 |
'product_availability':accsOrderDisposition,
|
| 1843 |
'return_replacement':accsOrderDisposition,
|
1769 |
'return_replacement':accsOrderDisposition,
|
| 1844 |
'already_purchased':accsOrderDisposition,
|
1770 |
'already_purchased':accsOrderDisposition,
|
| 1845 |
'product_quality_issue':accsOrderDisposition,
|
1771 |
'product_quality_issue':accsOrderDisposition,
|
| 1846 |
'delayed_delivery':accsOrderDisposition,
|
1772 |
'delayed_delivery':accsOrderDisposition,
|
| 1847 |
'other_complaint':accsOrderDisposition
|
1773 |
'other_complaint':accsOrderDisposition
|
| 1848 |
}
|
1774 |
}
|
| 1849 |
returned = dispositionMap[jsonReq.get('calldispositiontype')]()
|
1775 |
returned = dispositionMap[jsonReq.get('calldispositiontype')]()
|
| 1850 |
finally:
|
1776 |
finally:
|
| 1851 |
session.close()
|
1777 |
session.close()
|
| 1852 |
|
1778 |
|
| 1853 |
if returned:
|
1779 |
if returned:
|
| 1854 |
resp.body = "{\"result\":\"success\"}"
|
1780 |
resp.body = "{\"result\":\"success\"}"
|
| 1855 |
else:
|
1781 |
else:
|
| 1856 |
resp.body = "{\"result\":\"failed\"}"
|
1782 |
resp.body = "{\"result\":\"failed\"}"
|
| 1857 |
|
1783 |
|
| 1858 |
def accsOrderDisposition(self):
|
1784 |
def accsOrderDisposition(self):
|
| 1859 |
self.user.status='done'
|
1785 |
self.user.status='done'
|
| 1860 |
self.user.user_available = 1
|
1786 |
self.user.user_available = 1
|
| 1861 |
self.user.disposition=self.callDisposition
|
1787 |
self.user.disposition=self.callDisposition
|
| 1862 |
self.user.modified = datetime.now()
|
1788 |
self.user.modified = datetime.now()
|
| 1863 |
utils._sendAlertForNewApp(self.callDisposition,self.callHistoryCrm.disposition_comments)
|
- |
|
| 1864 |
if self.callDisposition == 'product_availability':
|
1789 |
if self.callDisposition == 'product_availability':
|
| 1865 |
self.callHistoryCrm.disposition_description='Product Not available'
|
1790 |
self.callHistoryCrm.disposition_description='Product Not available'
|
| 1866 |
elif self.callDisposition == 'return_replacement':
|
1791 |
elif self.callDisposition == 'return_replacement':
|
| 1867 |
self.callHistoryCrm.disposition_description='Return or replacement pending'
|
1792 |
self.callHistoryCrm.disposition_description='Return or replacement pending'
|
| - |
|
1793 |
utils.sendCrmProjectMail(self.userId,self.callHistoryCrm.disposition_description,self.callHistoryCrm.disposition_comments)
|
| 1868 |
elif self.callDisposition == 'already_purchased':
|
1794 |
elif self.callDisposition == 'already_purchased':
|
| 1869 |
self.callHistoryCrm.disposition_description='Already purchased required stock'
|
1795 |
self.callHistoryCrm.disposition_description='Already purchased required stock'
|
| 1870 |
elif self.callDisposition == 'product_quality_issue':
|
1796 |
elif self.callDisposition == 'product_quality_issue':
|
| 1871 |
self.callHistoryCrm.disposition_description='Product Quality issue'
|
1797 |
self.callHistoryCrm.disposition_description='Product Quality issue'
|
| - |
|
1798 |
utils.sendCrmProjectMail(self.userId,self.callHistoryCrm.disposition_description,self.callHistoryCrm.disposition_comments)
|
| 1872 |
elif self.callDisposition == 'delayed_delivery':
|
1799 |
elif self.callDisposition == 'delayed_delivery':
|
| 1873 |
self.callHistoryCrm.disposition_description='Delayed Delivery'
|
1800 |
self.callHistoryCrm.disposition_description='Delayed Delivery'
|
| - |
|
1801 |
utils.sendCrmProjectMail(self.userId,self.callHistoryCrm.disposition_description,self.callHistoryCrm.disposition_comments)
|
| 1874 |
elif self.callDisposition == 'other_complaint':
|
1802 |
elif self.callDisposition == 'other_complaint':
|
| 1875 |
self.callHistoryCrm.disposition_description='Other complaint with profitmandi'
|
1803 |
self.callHistoryCrm.disposition_description='Other complaint with profitmandi'
|
| - |
|
1804 |
utils.sendCrmProjectMail(self.userId,self.callHistoryCrm.disposition_description,self.callHistoryCrm.disposition_comments)
|
| 1876 |
session.commit()
|
1805 |
session.commit()
|
| 1877 |
jdata = self.inputs
|
1806 |
jdata = self.inputs
|
| 1878 |
jdata = json.loads(jdata)
|
1807 |
jdata = json.loads(jdata)
|
| 1879 |
if jdata:
|
1808 |
if jdata:
|
| 1880 |
for d in jdata:
|
1809 |
for d in jdata:
|
| Line 1896... |
Line 1825... |
| 1896 |
self.user.user_available = 1
|
1825 |
self.user.user_available = 1
|
| 1897 |
self.user.disposition=self.callDisposition
|
1826 |
self.user.disposition=self.callDisposition
|
| 1898 |
self.user.modified = datetime.now()
|
1827 |
self.user.modified = datetime.now()
|
| 1899 |
if self.callDisposition == 'technical_issue':
|
1828 |
if self.callDisposition == 'technical_issue':
|
| 1900 |
self.callHistoryCrm.disposition_description='Technical issue at Profitmandi'
|
1829 |
self.callHistoryCrm.disposition_description='Technical issue at Profitmandi'
|
| - |
|
1830 |
#utils.sendCrmProjectMail(self.userId,self.callHistoryCrm.disposition_description,self.callHistoryCrm.disposition_comments)
|
| 1901 |
elif self.callDisposition == 'pricing_issue':
|
1831 |
elif self.callDisposition == 'pricing_issue':
|
| 1902 |
self.callHistoryCrm.disposition_description='Pricing Issue(High)'
|
1832 |
self.callHistoryCrm.disposition_description='Pricing Issue(High)'
|
| 1903 |
elif self.callDisposition == 'shipping_issue':
|
1833 |
elif self.callDisposition == 'shipping_issue':
|
| 1904 |
self.callHistoryCrm.disposition_description='Shipping charges related issue'
|
1834 |
self.callHistoryCrm.disposition_description='Shipping charges related issue'
|
| 1905 |
elif self.callDisposition == 'internet_issue':
|
1835 |
elif self.callDisposition == 'internet_issue':
|