def add_service_template(service_id, template_type): if template_type not in ['sms', 'email']: abort(404) form = form_objects[template_type]() if form.validate_on_submit(): try: service_api_client.create_service_template( form.name.data, template_type, form.template_content.data, service_id, form.subject.data if hasattr(form, 'subject') else None) except HTTPError as e: if e.status_code == 400: if 'content' in e.message and any([ 'character count greater than' in x for x in e.message['content'] ]): form.template_content.errors.extend(e.message['content']) else: raise e else: raise e else: return redirect( url_for('.choose_template', service_id=service_id, template_type=template_type)) return render_template('views/edit-{}-template.html'.format(template_type), form=form, template_type=template_type, heading_action='Add')
def add_service_template(service_id, template_type): if template_type not in ['sms', 'email', 'letter']: abort(404) if not current_service['can_send_letters'] and template_type == 'letter': abort(403) form = form_objects[template_type]() if form.validate_on_submit(): try: service_api_client.create_service_template( form.name.data, template_type, form.template_content.data, service_id, form.subject.data if hasattr(form, 'subject') else None ) except HTTPError as e: if e.status_code == 400: if 'content' in e.message and any(['character count greater than' in x for x in e.message['content']]): form.template_content.errors.extend(e.message['content']) else: raise e else: raise e else: return redirect( url_for('.choose_template', service_id=service_id, template_type=template_type) ) return render_template( 'views/edit-{}-template.html'.format(template_type), form=form, template_type=template_type, heading_action='Add' )
def _add_template_by_type(template_type, template_folder_id): if template_type == 'copy-existing': return redirect( url_for( '.choose_template_to_copy', service_id=current_service.id, )) if template_type == 'letter': blank_letter = service_api_client.create_service_template( 'New letter template', 'letter', 'Body', current_service.id, 'Main heading', 'normal', template_folder_id) return redirect( url_for( '.view_template', service_id=current_service.id, template_id=blank_letter['data']['id'], )) return redirect( url_for( '.add_service_template', service_id=current_service.id, template_type=template_type, template_folder_id=template_folder_id, ))
def _add_template_by_type(template_type, template_folder_id): if template_type == 'copy-existing': return redirect( url_for( '.choose_template_to_copy', service_id=current_service.id, )) if template_type == 'letter': blank_letter = service_api_client.create_service_template( 'New letter template', 'letter', 'Body', current_service.id, 'Main heading', 'normal', template_folder_id) return redirect( url_for( '.view_template', service_id=current_service.id, template_id=blank_letter['data']['id'], )) if email_or_sms_not_enabled(template_type, current_service.permissions): return redirect( url_for('.action_blocked', service_id=current_service.id, notification_type=template_type, return_to='add_new_template', template_id='0')) else: return redirect( url_for( '.add_service_template', service_id=current_service.id, template_type=template_type, template_folder_id=template_folder_id, ))
def _create_example_template(service_id): example_sms_template = service_api_client.create_service_template( 'Example text message template', 'sms', 'Hey ((name)), I’m trying out Notify. Today is ((day of week)) and my favourite colour is ((colour)).', service_id, ) return example_sms_template
def _create_example_template(service_id): example_email_template = service_api_client.create_service_template( 'Example email template', 'email', 'Hey ((name)), I’m trying out Notify. Today is ((day of week)) and my favourite colour is ((colour)).', service_id, subject='Example email template') return example_email_template
def add_template_by_type(service_id): form = ChooseTemplateType( include_letters=current_service.has_permission('letter'), include_copy=any(( service_api_client.count_service_templates(service_id) > 0, len(user_api_client.get_service_ids_for_user(current_user)) > 1, )), ) if form.validate_on_submit(): if form.template_type.data == 'copy-existing': return redirect( url_for( '.choose_template_to_copy', service_id=service_id, )) if form.template_type.data == 'letter': blank_letter = service_api_client.create_service_template( 'Untitled', 'letter', 'Body', service_id, 'Main heading', 'normal', ) return redirect( url_for( '.view_template', service_id=service_id, template_id=blank_letter['data']['id'], )) if email_or_sms_not_enabled(form.template_type.data, current_service.permissions): return redirect( url_for('.action_blocked', service_id=service_id, notification_type=form.template_type.data, return_to='add_new_template', template_id='0')) else: return redirect( url_for( '.add_service_template', service_id=service_id, template_type=form.template_type.data, )) return render_template('views/templates/add.html', form=form)
def add_service_template(service_id, template_type, template_folder_id=None): if not current_service.has_permission('letter') and template_type == 'letter': abort(403) form = form_objects[template_type]() if form.validate_on_submit(): if form.process_type.data == 'priority': abort_403_if_not_admin_user() try: new_template = service_api_client.create_service_template( form.name.data, template_type, form.template_content.data, service_id, form.subject.data if hasattr(form, 'subject') else None, form.process_type.data, template_folder_id ) except HTTPError as e: if ( e.status_code == 400 and 'content' in e.message and any(['character count greater than' in x for x in e.message['content']]) ): form.template_content.errors.extend(e.message['content']) else: raise e else: return redirect( url_for('.view_template', service_id=service_id, template_id=new_template['data']['id']) ) if email_or_sms_not_enabled(template_type, current_service.permissions): return redirect(url_for( '.action_blocked', service_id=service_id, notification_type=template_type, template_folder_id=template_folder_id, return_to='templates', )) else: return render_template( 'views/edit-{}-template.html'.format(template_type), form=form, template_type=template_type, template_folder_id=template_folder_id, heading_action='New', )
def add_service(): invited_user = session.get('invited_user') if invited_user: invitation = InvitedUser(**invited_user) # if invited user add to service and redirect to dashboard user = user_api_client.get_user(session['user_id']) service_id = invited_user['service'] user_api_client.add_user_to_service(service_id, user.id, invitation.permissions) invite_api_client.accept_invite(service_id, invitation.id) return redirect( url_for('main.service_dashboard', service_id=service_id)) form = AddServiceForm(service_api_client.find_all_service_email_from) heading = 'Which service do you want to set up notifications for?' if form.validate_on_submit(): email_from = email_safe(form.name.data) service_id = service_api_client.create_service( service_name=form.name.data, active=False, message_limit=current_app.config['DEFAULT_SERVICE_LIMIT'], restricted=True, user_id=session['user_id'], email_from=email_from) session['service_id'] = service_id if (len( service_api_client.get_services({ 'user_id': session['user_id'] }).get('data', [])) > 1): return redirect( url_for('main.service_dashboard', service_id=service_id)) example_sms_template = service_api_client.create_service_template( 'Example text message template', 'sms', 'Hey ((name)), I’m trying out Notify. Today is ((day of week)) and my favourite colour is ((colour)).', service_id) return redirect( url_for('main.send_test', service_id=service_id, template_id=example_sms_template['data']['id'], help=1)) else: return render_template('views/add-service.html', form=form, heading=heading)
def add_service(): invited_user = session.get('invited_user') if invited_user: invitation = InvitedUser(**invited_user) # if invited user add to service and redirect to dashboard user = user_api_client.get_user(session['user_id']) service_id = invited_user['service'] user_api_client.add_user_to_service(service_id, user.id, invitation.permissions) invite_api_client.accept_invite(service_id, invitation.id) return redirect(url_for('main.service_dashboard', service_id=service_id)) form = AddServiceForm(service_api_client.find_all_service_email_from) heading = 'Which service do you want to set up notifications for?' if form.validate_on_submit(): email_from = email_safe(form.name.data) service_id = service_api_client.create_service(service_name=form.name.data, active=False, message_limit=current_app.config['DEFAULT_SERVICE_LIMIT'], restricted=True, user_id=session['user_id'], email_from=email_from) session['service_id'] = service_id if (len(service_api_client.get_services({'user_id': session['user_id']}).get('data', [])) > 1): return redirect(url_for('main.service_dashboard', service_id=service_id)) example_sms_template = service_api_client.create_service_template( 'Example text message template', 'sms', 'Hey ((name)), I’m trying out Notify. Today is ((day of week)) and my favourite colour is ((colour)).', service_id ) return redirect(url_for( 'main.send_test', service_id=service_id, template_id=example_sms_template['data']['id'], help=1 )) else: return render_template( 'views/add-service.html', form=form, heading=heading )
def _add_template_by_type(template_type, template_folder_id): if template_type == "copy-existing": return redirect( url_for( ".choose_template_to_copy", service_id=current_service.id, )) if template_type == "letter": blank_letter = service_api_client.create_service_template( "New letter template", "letter", "Body", current_service.id, "Main heading", "normal", template_folder_id, ) return redirect( url_for( ".view_template", service_id=current_service.id, template_id=blank_letter["data"]["id"], )) if email_or_sms_not_enabled(template_type, current_service.permissions): return redirect( url_for( ".action_blocked", service_id=current_service.id, notification_type=template_type, return_to="add_new_template", template_id="0", )) else: return redirect( url_for( ".add_service_template", service_id=current_service.id, template_type=template_type, template_folder_id=template_folder_id, ))
def add_template_by_type(service_id): form = ChooseTemplateType( include_letters='letter' in current_service['permissions']) if form.validate_on_submit(): if form.template_type.data == 'letter': blank_letter = service_api_client.create_service_template( 'Untitled', 'letter', 'Body', service_id, 'Main heading', 'normal', ) return redirect( url_for( '.view_template', service_id=service_id, template_id=blank_letter['data']['id'], )) if email_or_sms_not_enabled(form.template_type.data, current_service['permissions']): return redirect( url_for('.action_blocked', service_id=service_id, notification_type=form.template_type.data, return_to='add_new_template', template_id='0')) else: return redirect( url_for( '.add_service_template', service_id=service_id, template_type=form.template_type.data, )) return render_template('views/templates/add.html', form=form)
def add_service(): invited_user = session.get('invited_user') if invited_user: service_id = _add_invited_user_to_service(invited_user) return redirect(url_for('main.service_dashboard', service_id=service_id)) if not is_gov_user(current_user.email_address): abort(403) form = AddServiceForm(service_api_client.find_all_service_email_from) heading = 'Which service do you want to set up notifications for?' if form.validate_on_submit(): email_from = email_safe(form.name.data) service_name = form.name.data service_id = _create_service(service_name, email_from) if (len(service_api_client.get_active_services({'user_id': session['user_id']}).get('data', [])) > 1): return redirect(url_for('main.service_dashboard', service_id=service_id)) example_sms_template = service_api_client.create_service_template( 'Example text message template', 'sms', 'Hey ((name)), I’m trying out Notify. Today is ((day of week)) and my favourite colour is ((colour)).', service_id ) return redirect(url_for( 'main.send_test', service_id=service_id, template_id=example_sms_template['data']['id'], help=1 )) else: return render_template( 'views/add-service.html', form=form, heading=heading )
def add_service_template(service_id, template_type, template_folder_id=None): if template_type not in ["sms", "email", "letter"]: abort(404) if not current_service.has_permission( "letter") and template_type == "letter": abort(403) form = form_objects[template_type]() if form.validate_on_submit(): if form.process_type.data != "normal": abort_403_if_not_admin_user() try: new_template = service_api_client.create_service_template( form.name.data, template_type, form.template_content.data, service_id, form.subject.data if hasattr(form, "subject") else None, form.process_type.data, template_folder_id, ) except HTTPError as e: if (e.status_code == 400 and "content" in e.message and any([ "character count greater than" in x for x in e.message["content"] ])): form.template_content.errors.extend(e.message["content"]) else: raise e else: flash( _("'{}' template saved").format(form.name.data), "default_with_tick") return redirect( url_for( ".view_template", service_id=service_id, template_id=new_template["data"]["id"], )) if email_or_sms_not_enabled(template_type, current_service.permissions): return redirect( url_for( ".action_blocked", service_id=service_id, notification_type=template_type, template_folder_id=template_folder_id, return_to="templates", template_id="0", )) else: return render_template( f"views/edit-{template_type}-template.html", form=form, template_type=template_type, template_folder_id=template_folder_id, service_id=service_id, heading=_l("New email template") if template_type == "email" else _l("New text message template"), )