def showWorkersJson(request): if request.user.is_authenticated: refreshLastOnline(request.user) profession = None id = None if request.method == "GET": profession = request.GET.get("profession", None) id = request.GET.get("id", None) if id != None: #пока так id = [id] context = {} context["dataset"] = gerWorkList( user=request.user, idGroup=profession, idWorker=id, userAauthorized=request.user.is_authenticated, groupAttribute=True) context['Access-Control-Allow-Origin'] = "*" return JsonResponse(context)
def showSearchJson(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} print(request.POST) if request.method == "POST": dictPost = dict(json.loads(request.POST.__getitem__('data'))) context = searchWorker(user=request.user, searchList=dictPost, groupAttribute=True) elif request.method == "GET": category = request.GET.get("profession", "") city = request.GET.get("city", "") context = searchWorker(user=request.user, searchList={ 'profession': category, 'city': city }, userAauthorized=request.user.is_authenticated, groupAttribute=True) return JsonResponse(context)
def saveComments(request): if request.user.is_authenticated: refreshLastOnline(request.user) if request.user.is_authenticated: # != True: if request.method == "POST": if request.POST.__contains__('data'): data = dict(json.loads(request.POST.__getitem__('data'))) Comment = Comments() Comment.idUser = request.user Comment.idWorker = get_object_or_404(Worker, id=data.get("idworker")) Comment.text = data.get("text") Comment.rating = data.get("rating") Comment.idProf = get_object_or_404(Professions, id=data.get("idprofession")) Comment.save() return HttpResponse(settings.HOME_PAGE + 'success/') return HttpResponse(settings.HOME_PAGE + 'servererror/', status=500) else: return render(request, 'errors/404.html', None, None, status=404) else: return render(request, 'errors/403.html', None, None, status=403)
def show(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} all_profession = getProfessionList() all_Groups = [] profarray = [] key = 1 print(len(all_profession)) for i in all_profession: profarray.append(i) if key % 7 == 0: all_Groups.append({'professions': profarray.copy()}) profarray.clear() key = key + 1 all_Groups.append({'professions': profarray.copy()}) context['all_profession'] = all_Groups context['citylist'] = getCityListFull() context['comments'] = Comments.GetActual(Comments, position_begin=0, position_end=2) context['news'] = News.GetActual(News, position_begin=0, position_end=3) return render(request, 'index.html', context)
def my_view(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} if request.method == "POST": print("test csrf=====================================") print('Запрос: ' + str(request.POST)) print('Куки: ' + str(request.COOKIES)) #jsonString = json.loads(request.POST.__getitem__('data')) print("test body=====================================") #print(jsonString); #dictPost = dict(json.loads(request.POST.__getitem__('data'))) #context = searchWorker(user = request.user, searchList=dictPost) #context["count"] = len(context.get('dataset')) elif request.method == "GET": category = request.GET.get("profession", "") context = searchWorker({'Profession': category}) return JsonResponse(context)
def checkServer(request): if request.user.is_authenticated: refreshLastOnline(request.user) response = JsonResponse({'status': True}) response['Access-Control-Allow-Origin'] = "*" return response
def showSettings(request): #Эта страница используется только для отображения настроек сохранение через settings/save/ if request.user.is_authenticated: refreshLastOnline(request.user) if request.user.is_authenticated: userType = UserType.GetUserType(request.user) print('тип юзера: ' + str(userType)) if userType == 1: worker = gerWorkList(user=request.user, user_id=request.user, userAauthorized=request.user.is_authenticated, itsSettings=True) selectedList = [] if worker != None and len(worker) > 0: worker = worker[0] selectedList = worker.get('proflist') else: worker = {} context = { 'worker': worker, #'city': getCityList(), 'citylist': getCityListFull(), 'serviceList': getServiceList(), 'countryList': getCountryList(), 'professionList': getProfessionListWithGroup(selectedList=selectedList) } print("Ответ:") print(worker) return render(request, 'WorkerSettings.html', context) elif userType == 2: company = Company.GetCompanyByUser(user=request.user) context = {'company': company, 'citylist': getCityListFull()} return render(request, 'CompanySettings.html', context) else: return render(request, 'errors/500.html', None, None, status=500) else: return render(request, 'errors/403.html', None, None, status=403)
def jsonFioList(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = getFIOList(request.GET.get('order')) response = JsonResponse({'dataset': context}) response['Access-Control-Allow-Origin'] = "*" return response
def jsonProfessionList(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = getProfessionList() response = JsonResponse({'dataset': context}) response['Access-Control-Allow-Origin'] = "*" return response
def jsonCityListGroup(request): if request.user.is_authenticated: refreshLastOnline(request.user) #context = getCityList() context = getCityListFull() response = JsonResponse({'dataset': context}) response['Access-Control-Allow-Origin'] = "*" return response
def showtest(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} context['all_workGroups'] = getAllProfessionsAndGroups() context['citylist'] = getCityListFull() #if request.user.is_authenticated: # context['worker'] = getWorkerData(user_id = request.user, data = ['foto']) return render(request, 'index_ant.html', context)
def sendlink(request): if request.user.is_authenticated: refreshLastOnline(request.user) if request.method == "POST": phone = request.POST.__getitem__("get_link_phone") type = request.POST.__getitem__("get_link_type") ConfirmCodes.SendLink(phoneNumber=phone, type=type) return redirect(settings.HOME_PAGE + 'success/', status=200) else: return redirect(settings.HOME_PAGE + 'forbiden/', status=403)
def showSearchTest(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {"count": 0} if request.method == "POST": dictPost = dict(json.loads(request.POST.__getitem__('data'))) context = searchWorker(user=request.user, searchList=dictPost, userAauthorized=request.user.is_authenticated, returnCount=True) return JsonResponse(context)
def showCommentsJson(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {"dataset": []} if request.method == "GET": userid = request.GET.get("userid", "") if userid != "": context["dataset"] = getComments(idWorker=userid) context['csrfmiddlewaretoken'] = csrf.get_token(request) return JsonResponse(context)
def checkLogin(request): answer = {} print(request.COOKIES) if request.user.is_authenticated: refreshLastOnline(request.user) userType = UserType.GetUserType(request.user) elem = UserType.GetElementByUser(request.user) if userType == 1: data = { 'name': elem.name, 'surname': elem.surname, 'fotourl': Attacment.getresizelink(elem.image) + str(elem.foto), 'id': str(elem.id) } answer['usertype'] = 'worker' elif userType == 2: data = { 'name': elem.name, 'surname': '', 'fotourl': Attacment.getresizelink(elem.image) + str(elem.foto), 'id': str(elem.id) } answer['usertype'] = 'company' else: data = {'name': '', 'surname': '', 'fotourl': '', 'id': ''} answer['usertype'] = '' answer['status'] = True answer['user'] = data else: answer['status'] = False answer['errors'] = {'username': '******'} answer['usertype'] = '' response = JsonResponse(answer) response['Access-Control-Allow-Origin'] = "*" return response
def showJson(request): if request.user.is_authenticated: refreshLastOnline(request.user) print(request.GET) context = getAllProfessionsAndGroups() cookies = {'csrfmiddlewaretoken': csrf.get_token(request)} if not request.user.is_authenticated: cookies['csrftoken'] = request.META["CSRF_COOKIE"] resp = {'dataset': context, 'cookies': cookies} response = JsonResponse(resp) response['Access-Control-Allow-Origin'] = "*" return response
def showWorker(request): userAauthorized = request.user.is_authenticated if userAauthorized: refreshLastOnline(request.user) id = request.GET.get("id", None) if id == None: return render(request, 'errors/404.html', status=404) if userAauthorized != True: return render(request, 'errors/405.html', status=403) else: if request.method == "GET": commentForm = CommentForm() workerList = gerWorkList(user=request.user, idWorker=[id], userAauthorized=userAauthorized, its_superuser=request.user.is_superuser) comments = getComments(idWorker=id) if len(workerList) == 0: return render(request, 'errors/404.html', status=404) else: context = {} context["worker"] = workerList[0] context["commentForm"] = commentForm context["comments"] = comments context["userAauthorized"] = userAauthorized if userAauthorized: context['its_company'] = True if UserType.GetUserType( request.user) == 2 else False else: context['its_company'] = False return render(request, 'Worker.html', context)
def showWorkersList(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} if request.method == "POST": dictPost = dict(json.loads(request.POST.__getitem__('data'))) context = searchWorker(user=request.user, searchList=dictPost) context["count"] = len(context.get('dataset')) if request.user.is_authenticated: context['its_company'] = True if UserType.GetUserType( request.user) == 2 else False else: context['its_company'] = False return render(request, 'includes/WorkerList.html', context)
def showSearch(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} if request.method == "POST": dictPost = dict(json.loads(request.POST.__getitem__('data'))) context = searchWorker(user=request.user, searchList=dictPost) elif request.method == "GET": category = request.GET.get("profession", '') city = request.GET.get("city", '') context = searchWorker(user=request.user, searchList={ 'profession': category, 'city': city }, userAauthorized=request.user.is_authenticated) context["count"] = len(context.get('dataset')) context['citylist'] = getCityListFull() context['servicelist'] = getServiceList() if request.user.is_authenticated: context['its_company'] = True if UserType.GetUserType( request.user) == 2 else False else: context['its_company'] = False return render(request, 'SearchWorker.html', context)
def jsonCompanyList(request): if request.user.is_authenticated: refreshLastOnline(request.user) companyList = [] query = Company.objects.all().filter(block=False) for e in query: companyList.append({ 'name': e.name, 'id': e.id, 'url': '/company?id=' + str(e.id), 'fotourl': Attacment.getlink(e.image), 'resizefotourl': Attacment.getresizelink(e.image), 'lastonline': e.lastOnline, 'description': e.description }) response = JsonResponse({'dataset': companyList}) response['Access-Control-Allow-Origin'] = "*" return response
def jsonSelectionParameters(request): if request.user.is_authenticated: refreshLastOnline(request.user) token = csrf.get_token(request) searchparams = [ { "title": 'Профессия для поиска', "type": 'ref', "columnname": 'profession', }, { "title": 'Город для поиска', "type": 'ref', "columnname": 'city', }, { "title": 'Стаж работы', "type": 'list', "columnname": 'workexperience', "values": [ 'Не имеет значения', 'до 1 года', '1-3 года', '3-7 лет', 'более 7 лет' ] }, { "title": 'Анкета проверена', "type": 'boolean', "columnname": 'datacheck', }, { "title": 'ИП/Самозанятые', "type": 'boolean', "columnname": 'haveip', }, #{ # "title": 'Наличие визы', # "type": 'boolean', # "columnname": 'haveshengen', #}, { "title": 'Наличие загранпаспорта', "type": 'boolean', "columnname": 'haveintpass', }, { "title": 'Проверен ФСО', "type": 'boolean', "columnname": 'fsocheck', }, { "title": 'Свой инструмент', "type": 'boolean', "columnname": 'haveinstrument', }, { "title": 'Только с отзывами', "type": 'boolean', "columnname": 'onlycomments', }, { "title": 'Только с фото', "type": 'boolean', "columnname": 'onlyfoto', }, { "title": 'Готов к командировкам', "type": 'boolean', "columnname": 'readytotravel', }, { "title": 'Возраст', "type": 'range', "min": 18, "max": 70, "columnname": 'age', }, { "title": 'Рейтинг', "type": 'rating', "columnname": 'inputrating', }, { "title": 'Пол', "type": 'list', "columnname": 'sex', "values": ['Не имеет значения', 'Мужской', 'Женский'] }, ] resp = {'searchparams': searchparams, 'csrfmiddlewaretoken': token} if not request.user.is_authenticated: resp['csrftoken'] = request.META["CSRF_COOKIE"] response = JsonResponse(resp) response['Access-Control-Allow-Origin'] = "*" return response
def show(request): if request.user.is_authenticated: refreshLastOnline(request.user) return HttpResponse('Work Settings')
def saveSettings(request): print( "saveSettings: ==========================================================" ) if request.user.is_authenticated: refreshLastOnline(request.user) if request.user.is_authenticated: # != True: if request.method == "POST": userType = UserType.GetUserType(request.user) print('тип юзера: ' + str(userType)) if userType == 1: #print("СОХРАНЯЕМ НАСТРОЙКИ SAVE================================================================================") #print(request.read()) #print(request.FILES) #print(request.POST) # #print("================================================================================") if request.POST.__contains__('data'): print("Сохраняем рабочего") print(request.POST.__getitem__('data')) try: print("Перед json.loads") data = dict( json.loads(request.POST.__getitem__('data'))) print("После json.loads") setWorker(request.user, data) except Exception as e: print('Не удалось сохранить профиль') if request.is_ajax(): return JsonResponse({ 'status': False, 'errors': 'Не удалось сохранить профиль', 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'servererror/') if request.is_ajax(): return JsonResponse({ 'status': True, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'success/') elif userType == 2: if request.POST.__contains__('data'): print("Сохраняем компанию") print(request.POST.__getitem__('data')) data = dict(json.loads(request.POST.__getitem__('data'))) Company.UpdateCompany(user=request.user, data=data) if request.is_ajax(): return JsonResponse({ 'status': True, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'success/') else: if request.is_ajax(): return JsonResponse({ 'status': False, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'servererror/', status=500) else: if request.is_ajax(): return JsonResponse({ 'status': False, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'notfound/', status=404) else: if request.is_ajax(): return JsonResponse({ 'status': False, 'csrfmiddlewaretoken': csrf.get_token(request) }) else: return HttpResponse(settings.HOME_PAGE + 'forbiden/', status=403)
def showSettingsJson(request): if request.user.is_authenticated: refreshLastOnline(request.user) context = {} if request.user.is_authenticated: print('Настройки: ' + str(request.POST)) print('showSettingsJson куки:' + str(request.COOKIES)) print('Настройки: ' + str(request.user)) userType = UserType.GetUserType(request.user) if userType == 1: token = csrf.get_token(request) worker = gerWorkList(user=request.user, user_id=request.user, userAauthorized=request.user.is_authenticated, itsSettings=True) selectedList = [] if worker != None and len(worker) > 0: worker = worker[0] selectedList = worker.get('proflist') else: worker = {"name": "", "surname": "", "lastname": ""} struct = { "group": [ { "name": "Фотография", "items": [ { "columnname": "fotourl", "type": "base64", "value": worker.get('resizefotourl', ''), "additionaly": { "rating": { "type": "int", "value": worker.get('rating', 0), 'hidden': True }, "commentscount": { "type": "int", "value": worker.get('commentscount', 0), 'hidden': True } } }, ] }, { "name": "Личные данные", "items": [{ "columnname": "surname", "label": "Фамилия", "type": "string", "value": worker.get('surname', ''), "required": True }, { "columnname": "name", "label": "Имя", "type": "string", "value": worker.get('name', ''), "required": True }, { "columnname": "lastname", "label": "Отчество", "type": "string", "value": worker.get('lastname', '') }, { "columnname": "sex", "label": "Пол", "type": "binaryswitch", "values": ["Женский", "Мужской"], "value": 1 if (worker.get('sex', True)) else 0 }, { "columnname": "birthday", "label": "Дата рождения", "type": "date", "value": worker.get('birthday', ''), "required": True }, { "columnname": "country", "label": "Гражданство", "type": "ref", "value": worker.get('nationality', '') }, { "columnname": "workpermit", "label": "Разрешение на работу в РФ", "type": "boolean", "value": worker.get('workpermit', False) }, { "columnname": "city", "label": "Мой город, населенный пункт", "type": "ref", "value": worker.get('city', '') }, { "columnname": "phonenumber", "label": "Телефон", "type": "string", "subtype": "phone", "value": worker.get('phonenumber', '') }, { "columnname": "emailaddress", "label": "Электронная почта", "type": "string", "subtype": "email", "value": worker.get('emailaddress', '') }, { "columnname": "haveip", "label": "ИП/Самозанятые", "type": "boolean", "value": worker.get('haveip', False) }, { "columnname": "haveinstrument", "label": "Есть свои инструменты", "type": "boolean", "value": worker.get('haveinstrument', False) }, { "columnname": "experiencedate", "label": "Работаю на выставках с", "type": "year", "min": 1990, "max": 2020, "value": worker.get('experiencedate', False) }, { "columnname": "experience", "label": "Опыт работы на выставках", "type": "text", "value": worker.get('experience', '') }] }, { "name": "Командировки", "items": [ { "columnname": "readytotravel", "label": "Готов к командировкам", "type": "boolean", "value": worker.get('readytotravel', False) }, { "columnname": "haveintpass", "label": "Наличие загранпаспорта", "type": "boolean", "value": worker.get('haveintpass', False) }, #{"columnname": "haveshengen", "label": "Наличие визы", "type": "boolean", "value": worker.get('haveshengen', False)}, ] }, { "name": "Мои умения и навыки", "items": [ { "columnname": "professions", "label": "Специальность", "type": "multipleref", "value": worker.get('proflist', []) }, ] }, { "name": "Услуги и цены", "items": [ #{"columnname": "salary", "label": "Должностной оклад (руб.)", "type": "int", "value": worker['works'].get('salary', 0)}, { "columnname": "services", "label": "Проектная работа", "type": "table", "value": worker['works'].get('servicelist', []) }, ] }, { "name": "Дополнительно", "items": [ #{"columnname": "personaldataisallowed", "label": "Согласен на обработку персональных данных", "labelposition": "right", "width": "100%", "type": "boolean", "value": worker.get('personaldataisallowed', False), "backgroundcolor": "#f8d7da"}, { "columnname": "publishdata", "label": "Опубликовать анкету в общий доступ", "labelposition": "right", "width": "100%", "type": "boolean", "value": worker.get('publishdata', False), "backgroundcolor": "#d4edda" }, ] } ] } context = { 'worker': struct, 'itsworker': True, 'status': True, 'csrfmiddlewaretoken': token, 'userid': worker.get('id') } elif userType == 2: token = csrf.get_token(request) company = Company.GetCompanyByUser(user=request.user) worker = { "group": [{ "name": "Фотография", "items": [ { "columnname": "fotourl", "type": "base64", "value": company.get('resizefotourl', ''), }, ] }, { "name": "Данные о компании", "items": [{ "columnname": "name", "label": "Наименование", "type": "string", "value": company.get('name', ''), "required": True }, { "columnname": "vatnumber", "label": "ИНН", "type": "string", "value": company.get('vatnumber', ''), "required": True }, { "columnname": "city", "label": "Мой город, населенный пункт", "type": "ref", "value": company.get('city', '') }, { "columnname": "phonenumber", "label": "Телефон", "type": "string", "subtype": "phone", "value": company.get('phonenumber', '') }, { "columnname": "emailaddress", "label": "Электронная почта", "type": "string", "subtype": "email", "value": company.get('emailaddress', '') }, { "columnname": "description", "label": "Описание", "type": "text", "value": company.get('description', '') }] }] } context = { 'worker': worker, 'itsworker': False, 'status': True, 'csrfmiddlewaretoken': token, 'userid': company.get('id') } else: context["message"] = '500: Внутренняя ошибка сервера' context["status"] = False else: context["message"] = '403: Доступ запрещен' context["status"] = False return JsonResponse(context)