コード例 #1
0
def service_name_change(service_id):
    form = RenameServiceForm()

    if request.method == 'GET':
        form.name.data = current_service.name

    if form.validate_on_submit():

        if form.name.data == current_service.name:
            return redirect(url_for('.service_settings',
                                    service_id=service_id))

        unique_name = service_api_client.is_service_name_unique(
            service_id, form.name.data, email_safe(form.name.data))

        if not unique_name:
            form.name.errors.append("This service name is already in use")
            return render_template('views/service-settings/name.html',
                                   form=form)

        session['service_name_change'] = form.name.data
        return redirect(
            url_for('.service_name_change_confirm', service_id=service_id))

    if current_service.organisation_type == 'local':
        return render_template(
            'views/service-settings/name-local.html',
            form=form,
        )

    return render_template(
        'views/service-settings/name.html',
        form=form,
    )
コード例 #2
0
def validate_service_name(form, field):
    if len(field.data) > 255:
        raise ValidationError(_l("This cannot exceed 255 characters in length"))
    if field.data != email_safe_name(field.data):
        raise ValidationError(_l("This entry must contain valid characters for an email address."))
    service_id = getattr(form, "service_id", current_app.config["NOTIFY_BAD_FILLER_UUID"])
    unique_name = service_api_client.is_service_name_unique(
        service_id,
        field.data,
    )
    if not unique_name:
        raise ValidationError(_l("This service name is already in use"))