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