def post(self, request, *args, **kwargs): """ Проверяем, что запись с переданным ключом существует в базе, и что по нему еще не было регистраций. Создаем пользователя, а затем отмечаем, что регистрация по данному ключу состоялась. """ form = CreationForm(request.POST) if form.is_valid(): key = form.cleaned_data.get('invite_key', None) invite = get_object_or_404( InvitedUser, invite_key=key, invited=None, ) user = form.save() invite.invited = user invite.save() data = (settings.DEFAULT_FROM_EMAIL, user.email, 'Добро пожаловать!', '''<h1>Привет!</h1> <p>Добро пожаловать в команду <a href="https://mathcrib.space/">mathcrib.space</a>!</p>''' ) send_email(*data) return redirect('login') return render(request, 'users/signup.html', {'form': form})
def post(self, research, current_user): recipient = request.json['email'] name = request.json['name'] text = request.json.get('text', '') if self.__relationship_exists(research, recipient): return bad_request('Already invited.') self.__add_relationship(research, recipient) supervisor = current_user.name title = research.title description = research.brief_desc subj_view = InviteToJoinSubj(supervisor, title) body_view = InviteToJoin(supervisor, title, description, name, text) sender.send_email(subj_view, body_view, recipient) return ok_msg("Invitation send to {0}".format(recipient))
def post(self, research, current_user): if self.__relationship_exists(research, current_user.email): return bad_request('Already requested.') self.__add_relationship(research, current_user.email) supervisor = research.supervisor_key.get() user_name = current_user.name recipient = supervisor.email supervisor_name = supervisor.name title = research.title text = request.json.get('text', '') subj_view = ReqToJoinSubj(user_name, title) body_view = ReqToJoin(user_name, title, supervisor_name, text) sender.send_email(subj_view, body_view, recipient) return ok_msg('Request was send to research supervisor.')
def post(self): json_request = request.json email = json_request['email'] user = User.by_email(email) if user: token = str(uuid.uuid4()) base_url = os.environ['BASE_UI_URL'] url = base_url + '/forgot-password/' + token user_name = user.name ChangePasswordRequest(user_key=user.key, token=token).put() subj = ResetPasswordSubj(user_name) body = ResetPasswordBody(user_name, url) sender.send_email(subj, body, email) return ok_msg('Emails with instructions is sent.') else: return not_found('User not found in system.')
def post(self): message_id = int(request.json['message_id']) message = Message.get(message_id) message_creator_key = message.creator_key message_creator = message_creator_key.get() forum = message.forum_key.get() research = forum.research_key.get() for researcher_key in research.researchers_keys: if researcher_key != message_creator_key: researcher = researcher_key.get() subj = NewMessageSubj(forum.subject, research.title) body = NewMessage(researcher.name, message_creator.name, forum.subject, message.text, research.key.id(), forum.key.id()) send_email(subj, body, researcher.email) return ok_msg('Notification sent.')