Пример #1
0
def process_sms(service_id):
    form = SmsForm()
    if form.validate_on_submit():
        service = admin_api_client.get_service_by_user_id_and_service_id(int(session['user_id']), service_id)
        try:
            admin_api_client.send_sms(
                form.mobile_number.data,
                form.message.data,
                description=form.description.data,
                token=service['service']['token']['token'])
            flash("SMS sent to {}".format(form.mobile_number.data), "success")
            return redirect(url_for('.view_all_jobs', service_id=service_id))
        except APIError as ex:
            flash(ex.response.json()['error'], "error")
            return render_template(
                "send_sms.html",
                service=service['service'],
                form=form,
                **get_template_data()), 500
    else:
        return render_template(
            "send_sms.html",
            service_id=service_id,
            form=form,
            **get_template_data()), 400
Пример #2
0
def process_sms_bulk(service_id):
    form = CreateSMSBatchForm()

    service = admin_api_client.get_service_by_user_id_and_service_id(int(session['user_id']), service_id)
    if form.validate_on_submit():
        uploaded = request.files['sms-bulk-upload']
        if uploaded and allowed_file(uploaded.filename):
            filename = secure_filename(uploaded.filename)
            data = transform(StringIO(uploaded.stream.read().decode("UTF8")), 'sms')
            if 'errors' in data:
                return render_template(
                    "send_sms_batch.html",
                    form=form,
                    errors=data['errors'],
                    service=service['service'],
                    **get_template_data()
                ), 400
            job = admin_api_client.create_job(form.description.data, filename, service_id)
            for notification in data['notifications']:
                try:
                    admin_api_client.send_sms(
                        notification['to'],
                        notification['message'],
                        job_id=job["job"]["id"],
                        token=service['service']['token']['token']
                    )
                except APIError as ex:
                    message = "Uploaded with errors"
                    print(ex.response.json())
                    flash(message, 'error')
                    return redirect(url_for('.view_all_jobs', service_id=service_id))

            message = "Uploaded batch of {} notifications".format(len(data['notifications']))
            flash(message, 'success')
            return redirect(url_for('.view_all_jobs', service_id=service_id))
        else:
            return render_template("send_sms_batch.html", form=form, service=service['service'], **get_template_data())
    else:
        return render_template(
            "send_sms_batch.html",
            form=form,
            service=service['service'],
            **get_template_data()), 400
Пример #3
0
def process_registration():
    form = RegistrationForm()
    if form.validate_on_submit():
        try:
            user = admin_api_client.register(form.email_address.data,
                                             form.password.data,
                                             form.mobile_number.data)
            code = ''.join(["%s" % randint(0, 9) for num in range(0, 5)])
            session['code'] = hashpw(code)
            session['new_user_id'] = user['users']['id']
            admin_api_client.send_sms(form.mobile_number.data, code)
            return redirect(url_for('.view_3fa'))
        except APIError as e:
            print(e.response.json())
            flash("Error creating user", "error")
            return render_template('register.html',
                                   **get_template_data(form=form)), 400

    else:
        return render_template('register.html',
                               **get_template_data(form=form)), 400
Пример #4
0
def process_registration():
    form = RegistrationForm()
    if form.validate_on_submit():
        try:
            user = admin_api_client.register(form.email_address.data, form.password.data, form.mobile_number.data)
            code = ''.join(["%s" % randint(0, 9) for num in range(0, 5)])
            session['code'] = hashpw(code)
            session['new_user_id'] = user['users']['id']
            admin_api_client.send_sms(form.mobile_number.data, code)
            return redirect(url_for('.view_3fa'))
        except APIError as e:
            print(e.response.json())
            flash("Error creating user", "error")
            return render_template(
                'register.html',
                **get_template_data(form=form)
            ), 400

    else:
        return render_template(
            'register.html',
            **get_template_data(form=form)
        ), 400
Пример #5
0
def process_sms(service_id):
    form = SmsForm()
    if form.validate_on_submit():
        service = admin_api_client.get_service_by_user_id_and_service_id(
            int(session['user_id']), service_id)
        try:
            admin_api_client.send_sms(
                form.mobile_number.data,
                form.message.data,
                description=form.description.data,
                token=service['service']['token']['token'])
            flash("SMS sent to {}".format(form.mobile_number.data), "success")
            return redirect(url_for('.view_all_jobs', service_id=service_id))
        except APIError as ex:
            flash(ex.response.json()['error'], "error")
            return render_template("send_sms.html",
                                   service=service['service'],
                                   form=form,
                                   **get_template_data()), 500
    else:
        return render_template("send_sms.html",
                               service_id=service_id,
                               form=form,
                               **get_template_data()), 400