示例#1
0
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)
示例#2
0
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)