def api_client_view(request: HttpRequest, params: str): client_project_id = request.GET['pid'] client_user_id = request.GET['uid'] status = request.GET['status'] client_user_id_arr = client_user_id.split('_') vendor_id = client_user_id_arr[0] user_id = client_user_id_arr[1] factory = Factory() project_vendor_user_assignee_service = factory.get_service( 'project-vendor-user-assignee') project_vendor_user_assignee = project_vendor_user_assignee_service.get_project_vendor_user_assignee_by_project_vendor_user_id( client_project_id, vendor_id, user_id) if project_vendor_user_assignee: project_vendor_user_assignee.status = status project_vendor_user_assignee_service.add_update_project_vendor_user_assignee( project_vendor_user_assignee) project_vendor_assignee_service = factory.get_service( 'project-assignee') project_id = project_vendor_user_assignee.project_id try: project_vendor_assignee = project_vendor_assignee_service.get_project_vendor_assignee_by_vendor_project_id( vendor_id, project_id) except Exception: return JsonResponse('Something went wrong', safe=False) vendor_links = eval(project_vendor_assignee.links) vendor_link = vendor_links.get(status, '') if vendor_link: return redirect(vendor_link) else: return JsonResponse('Error found', safe=False) return JsonResponse('You are not assign for this Project', safe=False)
def edit_project(request: HttpRequest, project_id: int): factory = Factory() project_service = factory.get_service('project') project = project_service.get_project(project_id) client_service = factory.get_service('client') clients = client_service.get_clients() return TemplateResponse(request, 'templates/project/add_project.html', { 'project': project, 'clients': clients, 'update_project': True })
def index(self, request: HttpRequest): factory = Factory() vendor_service = factory.get_service('vendor') vendors = vendor_service.get_vendors() # return render(request, 'templates/vendor/vendor.html', {'vendors_list': vendor}) return TemplateResponse(request, 'templates/vendor/vendor.html', {'vendors_list': vendors})
def edit_client(request: HttpRequest, client_id: int): factory = Factory() client_service = factory.get_service('client') client = client_service.get_client(client_id) return TemplateResponse(request, 'templates/client/add_client.html', { 'client': client, 'country_list': countries, 'update_client': True })
def api_vendor_view(request: HttpRequest, params: str): vendor_project_id = request.GET['pid'] user_id = request.GET['uid'] vendor_project_id_arr = vendor_project_id.split('_') vendor_id = vendor_project_id_arr[0] project_id = vendor_project_id_arr[1] factory = Factory() project_assignee_service = factory.get_service('project-assignee') project_vendor_user_assignee_service = factory.get_service( 'project-vendor-user-assignee') project_vendor_assignee = project_assignee_service.get_project_vendor_assignee_by_vendor_project_id( vendor_id, project_id) if project_vendor_assignee: x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: user_ip_address = x_forwarded_for.split(',')[0] else: user_ip_address = request.META.get('REMOTE_ADDR') client_project_id = project_vendor_assignee.client_project_id project_vendor_user_assign = ProjectVendorUserAssign() project_vendor_user_assign.vendor_id = vendor_id project_vendor_user_assign.project_id = project_id project_vendor_user_assign.client_project_id = client_project_id project_vendor_user_assign.user_id = user_id project_vendor_user_assign.ip_address = user_ip_address try: project_vendor_user_assignee_service.add_update_project_vendor_user_assignee( project_vendor_user_assign) except Exception: return JsonResponse('Something went wrong', safe=False) project_service = factory.get_service('project') project = project_service.get_project(project_id) client_project_link = project.link client_link = "{0}?pid={1}&uid={2}_{3}".format(client_project_link, client_project_id, vendor_id, user_id) return redirect(client_link) return JsonResponse('You are not assign for this Project', safe=False)
def index(self, request: HttpRequest): factory = Factory() client_service = factory.get_service('client') clients = client_service.get_clients() return TemplateResponse(request, 'templates/client/client.html', {'client_list': clients})
def get_vendor_name(vendor_id: int) -> str: factory = Factory() client_service = factory.get_service('vendor') vendor = client_service.get_vendor(vendor_id) return vendor.name
def get_client_name(client_id: int) -> str: factory = Factory() client_service = factory.get_service('client') client = client_service.get_client(client_id) return client.name
def edit_vendor(request: HttpRequest, vendor_id: int): factory = Factory() vendor_service = factory.get_service('vendor') vendor = vendor_service.get_vendor(vendor_id) return TemplateResponse(request, 'templates/vendor/add_vendor.html', {'vendor': vendor, 'country_list': countries, 'update_vendor': True})
class AjaxView(LoginRequiredMixin, BaseView): def __init__(self): super(AjaxView, self).__init__() self.factory = Factory() def index(self, request: HttpRequest): pass @staticmethod def get_countries(self) -> json: return JsonResponse(countries, safe=False) def add_vendor(self, request: HttpRequest) -> json: data = get_request_param_json('data', request) vendor_id = int(data.get('vendor_id', '')) vendor_service = self.factory.get_service('vendor') vendor = Vendor() if vendor_id: vendor = vendor_service.get_vendor(vendor_id) vendor.name = data.get('vendor_name', '') vendor.mobile_no = data.get('vendor_mobile', '') vendor.email = data.get('vendor_email', '') vendor.property = { 'address': data.get('vendor_address', ''), 'country': data.get('vendor_country', ''), 'country_code': data.get('vendor_country_code', ''), 'zip_code': data.get('vendor_zip_code', ''), 'company_email': data.get('vendor_c_email', ''), 'company_website': data.get('vendor_c_w', ''), 'company_name': data.get('vendor_c_n', ''), } vendor_service.add_update_vendor(vendor) return JsonResponse(data, safe=False) def delete_vendor(self, request: HttpRequest) -> json: vendor_id = get_request_param('id', request) vendor_service = self.factory.get_service('vendor') vendor_service.delete_vendor(vendor_id) return JsonResponse(vendor_id, safe=False) def add_client(self, request: HttpRequest) -> json: data = get_request_param_json('data', request) client_id = int(data.get('client_id', '')) client_service = self.factory.get_service('client') client = Client() if client_id: client = client_service.get_client(client_id) client.name = data.get('client_name', '') client.mobile_no = data.get('client_mobile', '') client.email = data.get('client_email', '') client.property = { 'address': data.get('client_address', ''), 'country': data.get('client_country', ''), 'country_code': data.get('client_country_code', ''), 'zip_code': data.get('client_zip_code', ''), 'company_name': data.get('client_c_n', ''), 'company_website': data.get('client_c_w', ''), } client_service.add_update_client(client) return JsonResponse(data, safe=False) def delete_client(self, request: HttpRequest) -> json: client_id = get_request_param('id', request) client_service = self.factory.get_service('client') client_service.delete_client(client_id) return JsonResponse(client_id, safe=False) def add_project(self, request: HttpRequest): data = get_request_param_json('data', request) project_id = int(data.get('id', '')) project_service = self.factory.get_service('project') project = Project() if project_id: project = project_service.get_project(project_id) project.name = data.get('project_name', '') project.project_id = data.get('project_id', '') project.client_id = data.get('project_client_id', '') project.link = data.get('project_link', '') project.target = data.get('project_target', '') project.cost = data.get('project_cost', '') project.start_date = data.get('project_start_date', '') project.end_date = data.get('project_end_date', '') project_service.add_update_project(project) return JsonResponse(data, safe=False) def delete_project(self, request: HttpRequest) -> json: project_id = get_request_param('id', request) project_service = self.factory.get_service('project') project_service.delete_project(project_id) return JsonResponse(project_id, safe=False) def add_assignee(self, request: HttpRequest): data = get_request_param_json('data', request) project_vendor_assignee_id = int(data.get('id', '')) project_vendor_assignee_service = self.factory.get_service('project-assignee') project_service = self.factory.get_service('project') project_vendor_assignee = ProjectVendorAssign() if project_vendor_assignee_id: project_vendor_assignee = project_vendor_assignee_service.get_project_vendor_assignee( project_vendor_assignee_id) project_id = data.get('project_id', '') project = project_service.get_project(project_id) client_project_id = project.project_id links = { 'completed': data.get('project_completed_link', ''), 'quota_full': data.get('project_quota_full_link', ''), 'terminated': data.get('project_terminated_link', '') } project_vendor_assignee.project_id = project_id project_vendor_assignee.client_project_id = client_project_id project_vendor_assignee.vendor_id = data.get('vendor_id', '') project_vendor_assignee.cost = data.get('cost', '') project_vendor_assignee.links = links project_vendor_assignee_service.add_update_project_vendor_assignee(project_vendor_assignee) return JsonResponse(data, safe=False) def delete_project_assignee(self, request: HttpRequest) -> json: project_assign_id = get_request_param('id', request) project_assignee_service = self.factory.get_service('project-assignee') project_assignee_service.delete_project_vendor_assignee(project_assign_id) return JsonResponse(project_assign_id, safe=False)