def get(self, request, *args, **kwargs): """ Get cluster domain from Fyle """ try: fyle_credentials = AuthToken.objects.get( user__user_id=request.user) fyle_connector = FyleConnector(fyle_credentials.refresh_token) cluster_domain = fyle_connector.get_cluster_domain( )['cluster_domain'] return Response(data=cluster_domain, status=status.HTTP_200_OK) except FyleCredential.DoesNotExist: return Response(data={'message': 'Invalid / Expired Token'}, status=status.HTTP_400_BAD_REQUEST)
def get_expense_purpose(workspace_id, lineitem, category) -> str: fyle_credentials = FyleCredential.objects.get(workspace_id=workspace_id) fyle_connector = FyleConnector(fyle_credentials.refresh_token, workspace_id) cluster_domain = fyle_connector.get_cluster_domain() org_id = Workspace.objects.get(id=workspace_id).fyle_org_id expense_link = '{0}/app/main/#/enterprise/view_expense/{1}?org_id={2}'.format( cluster_domain['cluster_domain'], lineitem.expense_id, org_id) expense_purpose = ' purpose - {0}'.format( lineitem.purpose) if lineitem.purpose else '' spent_at = ' spent on {0} '.format( lineitem.spent_at.date()) if lineitem.spent_at else '' merchant = ' spent on merchant {0}'.format( lineitem.vendor) if lineitem.vendor else '' return 'Expense by {0}{1} against category {2}{3} with claim number - {4} -{5} - {6}'.format( lineitem.employee_email, merchant, category, spent_at, lineitem.claim_number, expense_purpose, expense_link)