142 lines
4.5 KiB
Mako
142 lines
4.5 KiB
Mako
## -*- coding: utf-8; -*-
|
|
<%inherit file="/configure.mako" />
|
|
|
|
<%def name="form_content()">
|
|
|
|
<h3 class="block is-size-3">General</h3>
|
|
<div class="block" style="padding-left: 2rem;">
|
|
<b-field label="Mail Handler"
|
|
message="Leave blank for default handler.">
|
|
<b-input name="rattail.mail.handler"
|
|
v-model="simpleSettings['rattail.mail.handler']"
|
|
@input="settingsNeedSaved = true">
|
|
</b-input>
|
|
</b-field>
|
|
<b-field label="Template Paths"
|
|
message="Leave blank for default paths.">
|
|
<b-input name="rattail.mail.templates"
|
|
v-model="simpleSettings['rattail.mail.templates']"
|
|
@input="settingsNeedSaved = true">
|
|
</b-input>
|
|
</b-field>
|
|
</div>
|
|
|
|
<h3 class="block is-size-3">Sending</h3>
|
|
<div class="block" style="padding-left: 2rem;">
|
|
|
|
<b-field>
|
|
<b-checkbox name="rattail.mail.record_attempts"
|
|
v-model="simpleSettings['rattail.mail.record_attempts']"
|
|
native-value="true"
|
|
@input="settingsNeedSaved = true">
|
|
Make record of all attempts to send email
|
|
</b-checkbox>
|
|
</b-field>
|
|
|
|
<b-field>
|
|
<b-checkbox name="rattail.mail.send_email_on_failure"
|
|
v-model="simpleSettings['rattail.mail.send_email_on_failure']"
|
|
native-value="true"
|
|
@input="settingsNeedSaved = true">
|
|
When sending an email fails, send another to report the failure
|
|
</b-checkbox>
|
|
</b-field>
|
|
|
|
</div>
|
|
|
|
<h3 class="block is-size-3">Testing</h3>
|
|
<div class="block" style="padding-left: 2rem;">
|
|
|
|
<b-field grouped>
|
|
<b-field horizontal label="Recipient">
|
|
<b-input v-model="testRecipient"></b-input>
|
|
</b-field>
|
|
<b-button type="is-primary"
|
|
@click="sendTest()"
|
|
:disabled="sendingTest">
|
|
{{ sendingTest ? "Working, please wait..." : "Send Test Email" }}
|
|
</b-button>
|
|
</b-field>
|
|
|
|
<div class="level">
|
|
<div class="level-left">
|
|
<div class="level-item">
|
|
<p>You can raise a "bogus" error to test if/how that generates email:</p>
|
|
</div>
|
|
<div class="level-item">
|
|
<b-button type="is-primary"
|
|
% if request.has_perm('errors.bogus'):
|
|
@click="raiseBogusError()"
|
|
:disabled="raisingBogusError"
|
|
% else:
|
|
disabled
|
|
title="your permissions do not allow this"
|
|
% endif
|
|
>
|
|
% if request.has_perm('errors.bogus'):
|
|
{{ raisingBogusError ? "Working, please wait..." : "Raise Bogus Error" }}
|
|
% else:
|
|
Raise Bogus Error
|
|
% endif
|
|
</b-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</%def>
|
|
|
|
<%def name="modify_this_page_vars()">
|
|
${parent.modify_this_page_vars()}
|
|
<script type="text/javascript">
|
|
|
|
ThisPageData.testRecipient = ${json.dumps(user_email_address)|n}
|
|
ThisPageData.sendingTest = false
|
|
|
|
ThisPage.methods.sendTest = function() {
|
|
this.sendingTest = true
|
|
let url = '${url('emailprofiles.send_test')}'
|
|
let params = {recipient: this.testRecipient}
|
|
this.simplePOST(url, params, response => {
|
|
this.$buefy.toast.open({
|
|
message: "Test email was sent!",
|
|
type: 'is-success',
|
|
duration: 4000, // 4 seconds
|
|
})
|
|
this.sendingTest = false
|
|
}, response => {
|
|
this.sendingTest = false
|
|
})
|
|
}
|
|
|
|
% if request.has_perm('errors.bogus'):
|
|
|
|
ThisPageData.raisingBogusError = false
|
|
|
|
ThisPage.methods.raiseBogusError = function() {
|
|
this.raisingBogusError = true
|
|
|
|
let url = '${url('bogus_error')}'
|
|
this.$http.get(url).then(response => {
|
|
this.$buefy.toast.open({
|
|
message: "Ironically, response was 200 which means we failed to raise an error!\n\nPlease investigate!",
|
|
type: 'is-danger',
|
|
duration: 5000, // 5 seconds
|
|
})
|
|
this.raisingBogusError = false
|
|
}, response => {
|
|
this.$buefy.toast.open({
|
|
message: "Error was raised; please check your email and/or logs.",
|
|
type: 'is-success',
|
|
duration: 4000, // 4 seconds
|
|
})
|
|
this.raisingBogusError = false
|
|
})
|
|
}
|
|
|
|
% endif
|
|
</script>
|
|
</%def>
|
|
|
|
|
|
${parent.body()}
|
|
|