예제 #1
0
파일: admins.py 프로젝트: gmist/1businka
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'))
예제 #2
0
파일: admins.py 프로젝트: gmist/1businka
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
    })
예제 #3
0
파일: forms.py 프로젝트: gmist/1businka
 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 уже использовался при регистрации, попробуйте другой')
예제 #4
0
파일: admins.py 프로젝트: gmist/1businka
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'))
예제 #5
0
파일: admins.py 프로젝트: gmist/1businka
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')
예제 #6
0
파일: admins.py 프로젝트: gmist/1businka
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')
예제 #7
0
파일: views.py 프로젝트: gmist/1businka
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()
    })