Merge remote-tracking branch 'origin/fix_req' into fix_req

# Conflicts:
#	requirements.txt
feature/fix_accout_not_found
Andrey 8 years ago
parent ea39c1815d
commit 68fdd77e07
  1. 11
      access/models/user.py
  2. 10
      access/urls.py
  3. 62
      access/views.py
  4. 3
      lms/settings.py

@ -5,7 +5,7 @@ import uuid
from django.conf import settings from django.conf import settings
from django.contrib.auth.base_user import BaseUserManager, AbstractBaseUser from django.contrib.auth.base_user import BaseUserManager, AbstractBaseUser
from django.contrib.auth.models import Group, PermissionsMixin from django.contrib.auth.models import Group, PermissionsMixin
from django.core.mail import send_mail from django.core.mail import send_mail, EmailMessage
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
@ -70,16 +70,17 @@ class CustomUserManager(BaseUserManager):
hash=''.join(random.choice(string.ascii_letters) for x in range(15))) hash=''.join(random.choice(string.ascii_letters) for x in range(15)))
body = { body = {
"subject": 'Спасибо за регистрацию', "subject": 'Спасибо за регистрацию',
"message": ''' "body": '''
Вы были успешны зарегистрированны на портале go.skillbox.ru Вы были успешны зарегистрированны на портале go.skillbox.ru
ваш пароль %s ваш пароль (он будет дествителен после активации по ссылке) %s
для подтверждения регистрации перейдите по ссылке для подтверждения регистрации перейдите по ссылке
%s/api/v1/users/registration/?hash=%s''' % (password, settings.DOMAIN, invite.hash), %s/api/v1/users/registration/?hash=%s''' % (password, settings.DOMAIN, invite.hash),
"from_email": 'robo@skillbox.ru', "from_email": 'robo@skillbox.ru',
"recipient_list": [user.email], "to": [user.email],
"bcc": [settings.SUPPORT_EMAIL],
} }
send_mail( EmailMessage(
**body **body
) )
return user return user

@ -18,10 +18,10 @@ urlpatterns = [
url(r'logout/$', views.LogoutView.as_view()), url(r'logout/$', views.LogoutView.as_view()),
url(r'reset/$', views.ResetPasswordView.as_view()), url(r'reset/$', views.ResetPasswordView.as_view()),
url(r'progress_detail/upload/(?P<token>[0-9A-Fa-f-]+)/$', progress.views.UploadCourseProgressUserView.as_view()), url(r'progress_detail/upload/(?P<token>[0-9A-Fa-f-]+)/$', progress.views.UploadCourseProgressUserView.as_view()),
# url( url(
# r'management/password/$', r'management/password/$',
# views.ManagementPassword.as_view(), views.ManagementPassword.as_view(),
# name='management-password' name='management-password'
# ) )
] ]

@ -152,10 +152,10 @@ class DetailUserView(APIView):
if not acc['b_day'] is None: if not acc['b_day'] is None:
try: try:
b_day = datetime.datetime.strptime(acc['b_day'], '%d.%m.%Y') # TODO вынести форматы в настройки b_day = datetime.datetime.strptime(acc['b_day'], '%Y-%m-%d')
except ValueError: except ValueError:
b_day = datetime.datetime.strptime(acc['b_day'], '%d-%m-%Y') return Response("Дата в не верном формате", status=400)
acc['b_day'] = b_day.strftime('%Y-%m-%d') acc['b_day'] = b_day
acc['gender'] = 0 if acc['gender'] == "undefined" else 1 if acc['gender'] == "male" else 2 acc['gender'] = 0 if acc['gender'] == "undefined" else 1 if acc['gender'] == "male" else 2
@ -292,31 +292,31 @@ class MinUserView(APIView):
return Response("User not found", status=404) return Response("User not found", status=404)
# class ManagementPassword(generics.GenericAPIView): class ManagementPassword(generics.GenericAPIView):
# permission_classes = (permissions.IsAuthenticated, permissions.IsAdminUser) permission_classes = (permissions.IsAuthenticated, permissions.IsAdminUser)
# serializer_class = UserEmailSerializer serializer_class = UserEmailSerializer
#
# def post(self, request): def post(self, request):
# """ """
# Set password to the student in admin area by manager Set password to the student in admin area by manager
# --- ---
# Generate new password to the student and send email with new password Generate new password to the student and send email with new password
# """ """
# serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=request.data)
# serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
# serializer.save() serializer.save()
# logger.info(f'set password: {serializer.password} to the ' logger.info(f'set password: {serializer.password} to the '
# f'student with email: {serializer.user.email}') f'student with email: {serializer.user.email}')
# send_mail( send_mail(
# subject='Установлен новый пароль', subject='Установлен новый пароль',
# message=f'Ваш новый пароль {serializer.password} ' message=f'Ваш новый пароль {serializer.password} '
# f'(в последствии вы сможите сменить его в личном кабинете).', f'(в последствии вы сможите сменить его в личном кабинете).',
# from_email='robo@skillbox.ru', from_email='robo@skillbox.ru',
# recipient_list=[serializer.user.email], recipient_list=[serializer.user.email],
# ) )
# logger.info(f'send email to {serializer.user.email} ' logger.info(f'send email to {serializer.user.email} '
# f'with new password') f'with new password')
# return Response( return Response(
# data={'message': 'Письмо с новым паролем отправлено на email студента.'}, data={'message': 'Письмо с новым паролем отправлено на email студента.'},
# status=status.HTTP_201_CREATED status=201
# ) )

@ -26,6 +26,9 @@ else:
EMAIL_CONFIG = env.email_url('EMAIL_URL',) EMAIL_CONFIG = env.email_url('EMAIL_URL',)
vars().update(EMAIL_CONFIG) vars().update(EMAIL_CONFIG)
#TODO: Ответственый работник, который ставится в копию ко многим рассылкам, костыль
SUPPORT_EMAIL = 'anastasiya.katyuhina@skillbox.ru'
BROKER_URL = 'amqp://guest:guest@localhost:5672//' BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'django-db' CELERY_RESULT_BACKEND = 'django-db'
CELERY_CACHE_BACKEND = 'django-cache' CELERY_CACHE_BACKEND = 'django-cache'

Loading…
Cancel
Save