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})
示例#2
0
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)
示例#3
0
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 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
    })
示例#5
0
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)
示例#6
0
 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})
示例#7
0
 def __init__(self, **kwargs):
     super().__init__(**kwargs)
     self.factory = Factory()
示例#8
0
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
示例#9
0
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
示例#10
0
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})
示例#11
0
 def __init__(self):
     super(AjaxView, self).__init__()
     self.factory = Factory()
示例#12
0
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)