Add notifications setting to setup page

This commit is contained in:
Harvey Tindall 2020-07-17 16:34:37 +01:00
parent b8fdb64f68
commit dea613fa85
2 changed files with 20 additions and 0 deletions

View File

@ -18,12 +18,15 @@ function checkEmailRadio() {
document.getElementById('emailNextButton').href = '#page-5'; document.getElementById('emailNextButton').href = '#page-5';
document.getElementById('valBackButton').href = '#page-7'; document.getElementById('valBackButton').href = '#page-7';
if (document.getElementById('emailSMTPRadio').checked) { if (document.getElementById('emailSMTPRadio').checked) {
document.getElementById('emailCommonArea').style.display = '';
document.getElementById('emailSMTPArea').style.display = ''; document.getElementById('emailSMTPArea').style.display = '';
document.getElementById('emailMailgunArea').style.display = 'none'; document.getElementById('emailMailgunArea').style.display = 'none';
} else if (document.getElementById('emailMailgunRadio').checked) { } else if (document.getElementById('emailMailgunRadio').checked) {
document.getElementById('emailCommonArea').style.display = '';
document.getElementById('emailSMTPArea').style.display = 'none'; document.getElementById('emailSMTPArea').style.display = 'none';
document.getElementById('emailMailgunArea').style.display = ''; document.getElementById('emailMailgunArea').style.display = '';
} else if (document.getElementById('emailDisabledRadio').checked) { } else if (document.getElementById('emailDisabledRadio').checked) {
document.getElementById('emailCommonArea').style.display = 'none';
document.getElementById('emailSMTPArea').style.display = 'none'; document.getElementById('emailSMTPArea').style.display = 'none';
document.getElementById('emailMailgunArea').style.display = 'none'; document.getElementById('emailMailgunArea').style.display = 'none';
document.getElementById('emailNextButton').href = '#page-8'; document.getElementById('emailNextButton').href = '#page-8';
@ -140,6 +143,7 @@ document.getElementById('submitButton').onclick = function() {
config['invite_emails'] = {}; config['invite_emails'] = {};
config['mailgun'] = {}; config['mailgun'] = {};
config['smtp'] = {}; config['smtp'] = {};
config['notifications'] = {};
// Page 2: Auth // Page 2: Auth
if (document.getElementById('jfAuthRadio').checked) { if (document.getElementById('jfAuthRadio').checked) {
config['ui']['jellyfin_login'] = 'true'; config['ui']['jellyfin_login'] = 'true';
@ -151,6 +155,7 @@ document.getElementById('submitButton').onclick = function() {
} else { } else {
config['ui']['username'] = document.getElementById('manualAuthUsername').value; config['ui']['username'] = document.getElementById('manualAuthUsername').value;
config['ui']['password'] = document.getElementById('manualAuthPassword').value; config['ui']['password'] = document.getElementById('manualAuthPassword').value;
config['ui']['email'] = document.getElementById('manualAuthEmail').value;
}; };
// Page 3: Connect to jellyfin // Page 3: Connect to jellyfin
config['jellyfin']['server'] = document.getElementById('jfHost').value; config['jellyfin']['server'] = document.getElementById('jfHost').value;
@ -178,6 +183,7 @@ document.getElementById('submitButton').onclick = function() {
config['mailgun']['api_key'] = document.getElementById('emailMailgunKey').value; config['mailgun']['api_key'] = document.getElementById('emailMailgunKey').value;
config['email']['address'] = document.getElementById('emailMailgunAddress').value; config['email']['address'] = document.getElementById('emailMailgunAddress').value;
}; };
config['notifications']['enabled'] = document.getElementById('notificationsEnabled').checked.toString();
// Page 5: Email formatting // Page 5: Email formatting
config['email']['from'] = document.getElementById('emailSender').value; config['email']['from'] = document.getElementById('emailSender').value;
config['email']['date_format'] = document.getElementById('emailDateFormat').value; config['email']['date_format'] = document.getElementById('emailDateFormat').value;

View File

@ -89,6 +89,11 @@
<label for="manualAuthPassword">Password</label> <label for="manualAuthPassword">Password</label>
<input type="password" class="form-control" id="manualAuthPassword" placeholder="Password"> <input type="password" class="form-control" id="manualAuthPassword" placeholder="Password">
</div> </div>
<div class="form-group">
<label for="manualAuthEmail">Email (Optional)</label>
<input type="email" class="form-control" id="manualAuthEmail" placeholder="example@example.com">
<small class="form-text text-muted">Your email address is only required if you want to recieve activity notifications.</small>
</div>
</div> </div>
</p> </p>
<div class="btn-group float-right" role="group" aria-label="Back/Next buttons"> <div class="btn-group float-right" role="group" aria-label="Back/Next buttons">
@ -180,6 +185,15 @@
<input type="email" class="form-control" id="emailMailgunAddress" placeholder="jellyfin@jellyf.in"> <input type="email" class="form-control" id="emailMailgunAddress" placeholder="jellyfin@jellyf.in">
</div> </div>
</div> </div>
<div id="emailCommonArea">
<h5 class="card-title">Notifications</h5>
<p class="card-text">Enabling notifications will allow you to choose (per-invite) to recieve emails when an invite expires, or when a new user is created. If you chose to use Manual auth instead of Jellyfin auth previously, make sure you provided an email address.</p>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="notificationsEnabled">
<label for="notificationsEnabled" class="form-check-label">Enabled</label>
</div>
</div>
</p> </p>
<div class="btn-group float-right" role="group" aria-label="Back/Next buttons"> <div class="btn-group float-right" role="group" aria-label="Back/Next buttons">
<a class="btn btn-secondary backButton" href="#page-3">Back</a> <a class="btn btn-secondary backButton" href="#page-3">Back</a>