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 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')