Sokurov Idar 16fd0e3983 Merge remote-tracking branch 'origin/feature/profile_page' into feature/registration
# Conflicts:
#	access_controller/urls.py
#	main/views.py
2021-02-08 19:12:51 +03:00

63 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.shortcuts import render, redirect
from main.extra_func import set_and_get_username, set_and_get_email, load_and_get_image, set_and_get_role
from main.models import UserProfile
from django.contrib.auth.models import User
from django.urls import reverse_lazy
from django_registration.forms import RegistrationFormUniqueEmail
from django_registration.views import RegistrationView
from zenpy import Zenpy
from main.models import UserProfile
class Reg(RegistrationView):
form_class = RegistrationFormUniqueEmail
template_name = 'django_registration/registration_form.html'
def register(self, form):
creds = {
'email': 'DEFINEME',
'subdomain': 'ngenix1612197338',
'token': 'DEFINEME',
}
client = Zenpy(**creds)
zenpy_user = client.search(form.data['email'], type='user')
if zenpy_user:
user = User.objects.create_user(
username=form.data['username'],
email=form.data['email'],
password=form.data['email'],
)
profile = UserProfile.objects.create(
image='None.png',
user=user,
role='None'
)
user.save()
else:
raise AttributeError('No such email')
def profile_page(request):
"""
Отображение страницы профиля
:param request: объект с деталями запроса
:type request: :class:`django.http.HttpResponse`
:return: объект ответа сервера с HTML-кодом внутри
"""
if request.user.is_authenticated:
UP = UserProfile.objects.get(user=request.user)
else: # TODO: Убрать после появления регистрации и авторизации, добавить login_required()
UP = UserProfile.objects.get(user=1)
context = {
'name': set_and_get_username(UP),
'email': set_and_get_email(UP),
'role': set_and_get_role(UP),
'image_name': load_and_get_image(UP),
'pagename': 'Страница профиля'
}
return render(request, 'pages/profile.html', context)