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 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)