def accept(request, request_id): if request.method == 'POST': reguest = RegistrationRequest.get_by_id(request_id) if reguest: reguest.status = REQUEST_STATUS['accepted'] reguest.put() password = passgen() try: new_user = create_new_user( user_name = reguest.email, password = password, is_admin = False, first_name = reguest.name, telephone = reguest.telephone, organization = reguest.organization, address = reguest.address, email = reguest.email ) def txn(): taskqueue.add(url=url_for('reguest/admins/send_accept_to_user', request_id=reguest.key.id(), password = password), transactional=True) db.run_in_transaction(txn) except DuplicateKeyError: pass return redirect(url_for('reguest/admins/index'))
def refused(request): requests = RegistrationRequest.query(RegistrationRequest.status == REQUEST_STATUS['refused']) return render_to_response('reguest/admins/index.html', { 'requests': requests, 'status': REQUEST_STATUS['refused'], 'statuses': REQUEST_STATUS })
def validate_email(self, value): email = lower(value) exist_user = User.all().filter('lower_user_name =', email).count() if not exist_user: exist_user = RegistrationRequest.query(RegistrationRequest.email == email).count() if exist_user: raise forms.ValidationError( u'Этот email уже использовался при регистрации, попробуйте другой')
def refuse(request, request_id): if request.method == 'POST': reguest = RegistrationRequest.get_by_id(request_id) if reguest: reguest.status = REQUEST_STATUS['refused'] reguest.put() def txn(): taskqueue.add(url=url_for('reguest/admins/send_refuse_to_user', request_id=reguest.key.id()), transactional=True) db.run_in_transaction(txn) return redirect(url_for('reguest/admins/index'))
def send_refuse_to_user(request, request_id): req =RegistrationRequest.get_by_id(request_id) if not req: logging.error("Registraion request #%s not found" % request_id) return Response('Ok') subject = render_to_string('reguest/admins/to_user_subject.txt') body = render_to_string('reguest/admins/refuse_to_user.txt',{ 'email': req.email }) mail.send_mail( subject=subject, body=body, sender=settings.DEFAULT_MAIL_FROM, to=req.email) return Response('Ok')
def send_request_to_manager(request, request_id): req = RegistrationRequest.get_by_id(request_id) if not req: logging.error("Registraion request #%s not found" % request_id) return Response('Ok') subject = render_to_string('reguest/admins/req_to_mng_subject.txt', { 'id':request_id}) body = render_to_string('reguest/admins/req_to_mng_body.txt', { 'reg_request': req }) managers = Manager.query() for manager in managers: if manager.communication.email: mail.send_mail( subject=subject, body=body, sender=settings.DEFAULT_MAIL_FROM, to=manager.communication.email) return Response('Ok')
def reg_request(request): form = RegistrationRequestForm() if request.method == 'POST' and form.validate(request.form): reg_req = RegistrationRequest() reg_req.name = form['name'] reg_req.organization = form['organization'] reg_req.address = form['address'] reg_req.telephone = form['telephone'] reg_req.email = lower(form['email']) reg_req.put() def txn(): taskqueue.add(url=url_for('reguest/admins/send_request_to_manager', request_id=reg_req.key.id()), transactional=True) db.run_in_transaction(txn) return render_to_response('reguest/thx.html', { 'name':reg_req.name, 'email':reg_req.email }) return render_to_response('reguest/reg_request.html', { 'form': form.as_widget() })