return async env => {
let breadcrumbs = await _require('/_lib/breadcrumbs.jst')
+ let get_placeholder = await _require('/_lib/get_placeholder.jst')
let get_session = await _require('/_lib/get_session.jst')
let icon_cross = await env.site.get_min_svg('/_svg/icon_cross.svg')
let icon_tick = await env.site.get_min_svg('/_svg/icon_tick.svg')
// preload draft details if any
let transaction = await env.site.database.Transaction()
+ let placeholder
let sign_up_draft
try {
let root = await transaction.get({})
let session = await get_session(env, root)
+ placeholder = await get_placeholder(env, session)
sign_up_draft = await session.get_json('sign_up_draft')
if (sign_up_draft === undefined || env.now >= sign_up_draft.expires)
sign_up_draft = {}
+ transaction.commit()
}
- finally {
+ catch (error) {
transaction.rollback()
+ throw error
}
await navbar(
div.col-md-6 {
div.form-group {
label.form-label(for="given-names") {'Given names *'}
- input.form-control#given-names(type="text" value=sign_up_draft.given_names || '' placeholder="Miley" required maxlength=256) {}
+ input.form-control#given-names(type="text" value=sign_up_draft.given_names || '' placeholder=placeholder.given_names required maxlength=256) {}
div.invalid-feedback {'Please enter a name we can address you by.'}
}
}
div.col-md-6 {
div.form-group {
label.form-label(for="family-name") {'Family name'}
- input.form-control#family-name(type="text" value=sign_up_draft.family_name || '' placeholder="Chapman" maxlength=256) {}
+ input.form-control#family-name(type="text" value=sign_up_draft.family_name || '' placeholder=placeholder.family_name maxlength=256) {}
}
}
}
div.col-md-6 {
div.form-group {
label.form-label(for="email") {'Email *'}
- input.form-control#email(type="email" value=sign_up_draft.email || '' placeholder="mileychapman@email.com" required maxlength=256) {}
+ input.form-control#email(type="email" value=sign_up_draft.email || '' placeholder=placeholder.email required maxlength=256) {}
div.invalid-feedback {'Please enter an email address we can contact you on.'}
}
}
div.row {
div.col-md-12 {
div.custom-control.custom-checkbox {
- if (sign_up_draft === undefined || sign_up_draft.contact_me)
+ if (sign_up_draft.contact_me !== false)
input.custom-control-input#contact-me(type="checkbox" checked) {}
else
input.custom-control-input#contact-me(type="checkbox") {}
div.col-md-6 {
div.form-group {
label.form-label(for="verification-code") {'Verification code *'}
- input.form-control#verification-code(type="text" placeholder="ad7jb3" required minlength=6 maxlength=6) {}
+ input.form-control#verification-code(type="text" placeholder=placeholder.captcha_text required minlength=6 maxlength=6) {}
div.invalid-feedback {'Please enter the 6 characters from the verification image to right or below. We need this to protect us from spam and bots.'}
}
}