Esempio n. 1
0
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'))
Esempio n. 2
0
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'))
Esempio n. 3
0
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')
Esempio n. 4
0
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')