mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-13 00:32:58 -07:00
Fix typos and some cleanup
This commit is contained in:
parent
76c4b3bb71
commit
8c0ef75d4c
9 changed files with 36 additions and 30 deletions
|
@ -2935,6 +2935,7 @@ a .home-platforms-list-cover-face:hover
|
||||||
}
|
}
|
||||||
.stacked-configs > li > span > a.toggle-left,
|
.stacked-configs > li > span > a.toggle-left,
|
||||||
.stacked-configs > li > span > span.toggle-left {
|
.stacked-configs > li > span > span.toggle-left {
|
||||||
|
float: left;
|
||||||
color: #444;
|
color: #444;
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,9 @@ DOCUMENTATION :: END
|
||||||
% for device in sorted(devices_list, key=lambda k: k['device_name']):
|
% for device in sorted(devices_list, key=lambda k: k['device_name']):
|
||||||
<li class="mobile-device pointer" data-id="${device['id']}" data-name="${device['device_name']}">
|
<li class="mobile-device pointer" data-id="${device['id']}" data-name="${device['device_name']}">
|
||||||
<span>
|
<span>
|
||||||
<!--<span class="toggle-right mobile-device-tooltip edit-mobile-device" data-toggle="tooltip" data-placement="top" title="Edit Device"><i class="fa fa-lg fa-pencil"></i></span>-->
|
<span class="toggle-left"><i class="fa fa-lg fa-fw fa-mobile"></i></span>
|
||||||
<span class="toggle-left"><i class="fa fa-lg fa-mobile"></i></span>
|
|
||||||
${device['friendly_name'] or device['device_name']} <span class="friendly_name">(${device['id']})</span>
|
${device['friendly_name'] or device['device_name']} <span class="friendly_name">(${device['id']})</span>
|
||||||
<span class="toggle-right"><i class="fa fa-lg fa-cog"></i></span>
|
<span class="toggle-right"><i class="fa fa-lg fa-fw fa-cog"></i></span>
|
||||||
<span class="toggle-right friendly_name" id="device-last_seen-${device['id']}">
|
<span class="toggle-right friendly_name" id="device-last_seen-${device['id']}">
|
||||||
% if device['last_seen']:
|
% if device['last_seen']:
|
||||||
<script>
|
<script>
|
||||||
|
@ -26,14 +25,13 @@ DOCUMENTATION :: END
|
||||||
never
|
never
|
||||||
% endif
|
% endif
|
||||||
</span>
|
</span>
|
||||||
<!--<span class="toggle-right delete-mobile-device" data-toggle="tooltip" data-placement="top" title="Remove Device"><i class="fa fa-lg fa-times"></i></span>-->
|
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
% endfor
|
% endfor
|
||||||
<li class="add-mobile-device pointer" id="register-mobile-device" data-target="#api-qr-modal" data-toggle="modal">
|
<li class="add-mobile-device pointer" id="register-mobile-device" data-target="#api-qr-modal" data-toggle="modal">
|
||||||
<span>
|
<span>
|
||||||
<span class="toggle-left"><i class="fa fa-lg fa-mobile"></i></span> Register a new device
|
<span class="toggle-left"><i class="fa fa-lg fa-fw fa-mobile"></i></span> Register a new device
|
||||||
<span class="toggle-right"><i class="fa fa-lg fa-plus"></i></span>
|
<span class="toggle-right"><i class="fa fa-lg fa-fw fa-plus"></i></span>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -14,13 +14,13 @@ DOCUMENTATION :: END
|
||||||
% for newsletter in sorted(newsletters_list, key=lambda k: (k['agent_label'], k['friendly_name'], k['id'])):
|
% for newsletter in sorted(newsletters_list, key=lambda k: (k['agent_label'], k['friendly_name'], k['id'])):
|
||||||
<li class="newsletter-agent pointer" data-id="${newsletter['id']}">
|
<li class="newsletter-agent pointer" data-id="${newsletter['id']}">
|
||||||
<span>
|
<span>
|
||||||
<span class="toggle-left trigger-tooltip ${'active' if newsletter['active'] else ''}" data-toggle="tooltip" data-placement="top" title="Newsletter ${'active' if newsletter['active'] else 'inactive'}"><i class="fa fa-lg fa-newspaper-o"></i></span>
|
<span class="toggle-left trigger-tooltip ${'active' if newsletter['active'] else ''}" data-toggle="tooltip" data-placement="top" title="Newsletter ${'active' if newsletter['active'] else 'inactive'}"><i class="fa fa-lg fa-fw fa-newspaper-o"></i></span>
|
||||||
% if newsletter['friendly_name']:
|
% if newsletter['friendly_name']:
|
||||||
${newsletter['agent_label']} <span class="friendly_name">(${newsletter['id']} - ${newsletter['friendly_name']})</span>
|
${newsletter['agent_label']} <span class="friendly_name">(${newsletter['id']} - ${newsletter['friendly_name']})</span>
|
||||||
% else:
|
% else:
|
||||||
${newsletter['agent_label']} <span class="friendly_name">(${newsletter['id']})</span>
|
${newsletter['agent_label']} <span class="friendly_name">(${newsletter['id']})</span>
|
||||||
% endif
|
% endif
|
||||||
<span class="toggle-right"><i class="fa fa-lg fa-cog"></i></span>
|
<span class="toggle-right"><i class="fa fa-lg fa-fw fa-cog"></i></span>
|
||||||
<span class="toggle-right friendly_name" id="newsletter-next_run-${newsletter['id']}">
|
<span class="toggle-right friendly_name" id="newsletter-next_run-${newsletter['id']}">
|
||||||
% if NEWSLETTER_SCHED.get_job('newsletter-{}'.format(newsletter['id'])):
|
% if NEWSLETTER_SCHED.get_job('newsletter-{}'.format(newsletter['id'])):
|
||||||
<% job = NEWSLETTER_SCHED.get_job('newsletter-{}'.format(newsletter['id'])) %>
|
<% job = NEWSLETTER_SCHED.get_job('newsletter-{}'.format(newsletter['id'])) %>
|
||||||
|
@ -34,8 +34,8 @@ DOCUMENTATION :: END
|
||||||
% endfor
|
% endfor
|
||||||
<li class="add-newsletter-agent pointer" id="add-newsletter-agent" data-target="#add-newsletter-modal" data-toggle="modal">
|
<li class="add-newsletter-agent pointer" id="add-newsletter-agent" data-target="#add-newsletter-modal" data-toggle="modal">
|
||||||
<span>
|
<span>
|
||||||
<span class="toggle-left"><i class="fa fa-lg fa-newspaper-o"></i></span> Add a new newsletter agent
|
<span class="toggle-left"><i class="fa fa-lg fa-fw fa-newspaper-o"></i></span> Add a new newsletter agent
|
||||||
<span class="toggle-right"><i class="fa fa-lg fa-plus"></i></span>
|
<span class="toggle-right"><i class="fa fa-lg fa-fw fa-plus"></i></span>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
% if notifier:
|
% if notifier:
|
||||||
<%!
|
<%!
|
||||||
import json
|
import json
|
||||||
from plexpy import helpers, notifiers, users
|
from plexpy import notifiers, users
|
||||||
|
from plexpy.helpers import checked
|
||||||
available_notification_actions = notifiers.available_notification_actions()
|
available_notification_actions = notifiers.available_notification_actions()
|
||||||
|
|
||||||
user_emails = [{'user': u['friendly_name'] or u['username'], 'email': u['email']} for u in users.Users().get_users() if u['email']]
|
user_emails = [{'user': u['friendly_name'] or u['username'], 'email': u['email']} for u in users.Users().get_users() if u['email']]
|
||||||
|
@ -70,7 +71,7 @@
|
||||||
% elif item['input_type'] == 'checkbox':
|
% elif item['input_type'] == 'checkbox':
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" data-id="${item['name']}" class="checkboxes" value="1" ${helpers.checked(item['value'])}> ${item['label']}
|
<input type="checkbox" data-id="${item['name']}" class="checkboxes" value="1" ${checked(item['value'])}> ${item['label']}
|
||||||
</label>
|
</label>
|
||||||
<p class="help-block">${item['description'] | n}</p>
|
<p class="help-block">${item['description'] | n}</p>
|
||||||
<input type="hidden" id="${item['name']}" name="${item['name']}" value="${item['value']}">
|
<input type="hidden" id="${item['name']}" name="${item['name']}" value="${item['value']}">
|
||||||
|
@ -146,7 +147,7 @@
|
||||||
% for action in available_notification_actions:
|
% for action in available_notification_actions:
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" data-id="${action['name']}" class="checkboxes" value="1" ${helpers.checked(notifier['actions'][action['name']])}> ${action['label']}
|
<input type="checkbox" data-id="${action['name']}" class="checkboxes" value="1" ${checked(notifier['actions'][action['name']])}> ${action['label']}
|
||||||
</label>
|
</label>
|
||||||
<p class="help-block">${action['description'] | n}</p>
|
<p class="help-block">${action['description'] | n}</p>
|
||||||
<input type="hidden" id="${action['name']}" name="${action['name']}" value="${notifier['actions'][action['name']]}">
|
<input type="hidden" id="${action['name']}" name="${action['name']}" value="${notifier['actions'][action['name']]}">
|
||||||
|
|
|
@ -13,20 +13,20 @@ DOCUMENTATION :: END
|
||||||
% for notifier in sorted(notifiers_list, key=lambda k: (k['agent_label'].lower(), k['friendly_name'], k['id'])):
|
% for notifier in sorted(notifiers_list, key=lambda k: (k['agent_label'].lower(), k['friendly_name'], k['id'])):
|
||||||
<li class="notification-agent pointer" data-id="${notifier['id']}">
|
<li class="notification-agent pointer" data-id="${notifier['id']}">
|
||||||
<span>
|
<span>
|
||||||
<span class="toggle-left trigger-tooltip ${'active' if notifier['active'] else ''}" data-toggle="tooltip" data-placement="top" title="Triggers ${'active' if notifier['active'] else 'inactive'}"><i class="fa fa-lg fa-bell"></i></span>
|
<span class="toggle-left trigger-tooltip ${'active' if notifier['active'] else ''}" data-toggle="tooltip" data-placement="top" title="Triggers ${'active' if notifier['active'] else 'inactive'}"><i class="fa fa-lg fa-fw fa-bell"></i></span>
|
||||||
% if notifier['friendly_name']:
|
% if notifier['friendly_name']:
|
||||||
${notifier['agent_label']} <span class="friendly_name">(${notifier['id']} - ${notifier['friendly_name']})</span>
|
${notifier['agent_label']} <span class="friendly_name">(${notifier['id']} - ${notifier['friendly_name']})</span>
|
||||||
% else:
|
% else:
|
||||||
${notifier['agent_label']} <span class="friendly_name">(${notifier['id']})</span>
|
${notifier['agent_label']} <span class="friendly_name">(${notifier['id']})</span>
|
||||||
% endif
|
% endif
|
||||||
<span class="toggle-right"><i class="fa fa-lg fa-cog"></i></span>
|
<span class="toggle-right"><i class="fa fa-lg fa-fw fa-cog"></i></span>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
% endfor
|
% endfor
|
||||||
<li class="add-notification-agent pointer" id="add-notification-agent" data-target="#add-notifier-modal" data-toggle="modal">
|
<li class="add-notification-agent pointer" id="add-notification-agent" data-target="#add-notifier-modal" data-toggle="modal">
|
||||||
<span>
|
<span>
|
||||||
<span class="toggle-left"><i class="fa fa-lg fa-bell"></i></span> Add a new notification agent
|
<span class="toggle-left"><i class="fa fa-lg fa-fw fa-bell"></i></span> Add a new notification agent
|
||||||
<span class="toggle-right"><i class="fa fa-lg fa-plus"></i></span>
|
<span class="toggle-right"><i class="fa fa-lg fa-fw fa-plus"></i></span>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -650,7 +650,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group has-feedback" id="pms_ip_group">
|
<div class="form-group has-feedback" id="pms_ip_group">
|
||||||
<label for="pms_ip">Plex IP or Hostname</label>
|
<label for="pms_ip">Plex IP Address or Hostname</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-9" id="selectize-pms-ip-container">
|
<div class="col-md-9" id="selectize-pms-ip-container">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
@ -1793,6 +1793,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadNotifierConfig(notifier_id) {
|
function loadNotifierConfig(notifier_id) {
|
||||||
|
showMsg('<i class="fa fa-refresh fa-spin"></i> Loading Configuration', false);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: 'get_notifier_config_modal',
|
url: 'get_notifier_config_modal',
|
||||||
data: { notifier_id: notifier_id },
|
data: { notifier_id: notifier_id },
|
||||||
|
@ -1800,6 +1801,7 @@
|
||||||
async: true,
|
async: true,
|
||||||
complete: function (xhr, status) {
|
complete: function (xhr, status) {
|
||||||
$("#notifier-config-modal").html(xhr.responseText).modal('show');
|
$("#notifier-config-modal").html(xhr.responseText).modal('show');
|
||||||
|
showMsg('<i class="fa fa-check"></i> Configuration Loaded', false, true, 2000);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1816,6 +1818,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadNewsletterConfig(newsletter_id) {
|
function loadNewsletterConfig(newsletter_id) {
|
||||||
|
showMsg('<i class="fa fa-refresh fa-spin"></i> Loading Configuration', false);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: 'get_newsletter_config_modal',
|
url: 'get_newsletter_config_modal',
|
||||||
data: { newsletter_id: newsletter_id },
|
data: { newsletter_id: newsletter_id },
|
||||||
|
@ -1823,6 +1826,7 @@
|
||||||
async: true,
|
async: true,
|
||||||
complete: function (xhr, status) {
|
complete: function (xhr, status) {
|
||||||
$("#newsletter-config-modal").html(xhr.responseText).modal('show');
|
$("#newsletter-config-modal").html(xhr.responseText).modal('show');
|
||||||
|
showMsg('<i class="fa fa-check"></i> Configuration Loaded', false, true, 2000);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1839,6 +1843,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadMobileDeviceConfig(mobile_device_id) {
|
function loadMobileDeviceConfig(mobile_device_id) {
|
||||||
|
showMsg('<i class="fa fa-refresh fa-spin"></i> Loading Configuration', false);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: 'get_mobile_device_config_modal',
|
url: 'get_mobile_device_config_modal',
|
||||||
data: { mobile_device_id: mobile_device_id },
|
data: { mobile_device_id: mobile_device_id },
|
||||||
|
@ -1846,6 +1851,7 @@
|
||||||
async: true,
|
async: true,
|
||||||
complete: function (xhr, status) {
|
complete: function (xhr, status) {
|
||||||
$("#mobile-device-config-modal").html(xhr.responseText).modal('show');
|
$("#mobile-device-config-modal").html(xhr.responseText).modal('show');
|
||||||
|
showMsg('<i class="fa fa-check"></i> Configuration Loaded', false, true, 2000);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -2591,7 +2597,7 @@ $(document).ready(function() {
|
||||||
var result = $.parseJSON(xhr.responseText);
|
var result = $.parseJSON(xhr.responseText);
|
||||||
var msg = result.message;
|
var msg = result.message;
|
||||||
$('#add-notifier-modal').modal('hide');
|
$('#add-notifier-modal').modal('hide');
|
||||||
if (result.result == 'success') {
|
if (result.result === 'success') {
|
||||||
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000);
|
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000);
|
||||||
loadNotifierConfig(result.notifier_id);
|
loadNotifierConfig(result.notifier_id);
|
||||||
} else {
|
} else {
|
||||||
|
@ -2613,7 +2619,7 @@ $(document).ready(function() {
|
||||||
var result = $.parseJSON(xhr.responseText);
|
var result = $.parseJSON(xhr.responseText);
|
||||||
var msg = result.message;
|
var msg = result.message;
|
||||||
$('#add-newsletter-modal').modal('hide');
|
$('#add-newsletter-modal').modal('hide');
|
||||||
if (result.result == 'success') {
|
if (result.result === 'success') {
|
||||||
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000);
|
showMsg('<i class="fa fa-check"></i> ' + msg, false, true, 5000);
|
||||||
loadNewsletterConfig(result.newsletter_id);
|
loadNewsletterConfig(result.newsletter_id);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -206,7 +206,7 @@ def set_newsletter_config(newsletter_id=None, agent_id=None, **kwargs):
|
||||||
if str(agent_id).isdigit():
|
if str(agent_id).isdigit():
|
||||||
agent_id = int(agent_id)
|
agent_id = int(agent_id)
|
||||||
else:
|
else:
|
||||||
logger.error(u"Tautulli Newsletters :: Unable to set exisiting newsletter: invalid agent_id %s."
|
logger.error(u"Tautulli Newsletters :: Unable to set existing newsletter: invalid agent_id %s."
|
||||||
% agent_id)
|
% agent_id)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
|
@ -509,7 +509,7 @@ def add_notifier_config(agent_id=None, **kwargs):
|
||||||
'agent_name': agent['name'],
|
'agent_name': agent['name'],
|
||||||
'agent_label': agent['label'],
|
'agent_label': agent['label'],
|
||||||
'friendly_name': '',
|
'friendly_name': '',
|
||||||
'notifier_config': json.dumps(get_agent_class(agent_id=agent['id']).config),
|
'notifier_config': json.dumps(agent_class.config),
|
||||||
'custom_conditions': json.dumps(DEFAULT_CUSTOM_CONDITIONS),
|
'custom_conditions': json.dumps(DEFAULT_CUSTOM_CONDITIONS),
|
||||||
'custom_conditions_logic': ''
|
'custom_conditions_logic': ''
|
||||||
}
|
}
|
||||||
|
@ -540,7 +540,7 @@ def set_notifier_config(notifier_id=None, agent_id=None, **kwargs):
|
||||||
if str(agent_id).isdigit():
|
if str(agent_id).isdigit():
|
||||||
agent_id = int(agent_id)
|
agent_id = int(agent_id)
|
||||||
else:
|
else:
|
||||||
logger.error(u"Tautulli Notifiers :: Unable to set exisiting notifier: invalid agent_id %s."
|
logger.error(u"Tautulli Notifiers :: Unable to set existing notifier: invalid agent_id %s."
|
||||||
% agent_id)
|
% agent_id)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -570,7 +570,7 @@ def set_notifier_config(notifier_id=None, agent_id=None, **kwargs):
|
||||||
'agent_name': agent['name'],
|
'agent_name': agent['name'],
|
||||||
'agent_label': agent['label'],
|
'agent_label': agent['label'],
|
||||||
'friendly_name': kwargs.get('friendly_name', ''),
|
'friendly_name': kwargs.get('friendly_name', ''),
|
||||||
'notifier_config': json.dumps(notifier_config),
|
'notifier_config': json.dumps(agent_class.config),
|
||||||
'custom_conditions': kwargs.get('custom_conditions', json.dumps(DEFAULT_CUSTOM_CONDITIONS)),
|
'custom_conditions': kwargs.get('custom_conditions', json.dumps(DEFAULT_CUSTOM_CONDITIONS)),
|
||||||
'custom_conditions_logic': kwargs.get('custom_conditions_logic', ''),
|
'custom_conditions_logic': kwargs.get('custom_conditions_logic', ''),
|
||||||
}
|
}
|
||||||
|
@ -807,7 +807,7 @@ class Notifier(object):
|
||||||
if response is not None and response.status_code >= 400 and response.status_code < 500:
|
if response is not None and response.status_code >= 400 and response.status_code < 500:
|
||||||
verify_msg = " Verify you notification agent settings are correct."
|
verify_msg = " Verify you notification agent settings are correct."
|
||||||
|
|
||||||
logger.error(u"Tautulli Notifiers :: {name} notification failed.{}".format(verify_msg, name=self.NAME))
|
logger.error(u"Tautulli Notifiers :: {name} notification failed.{msg}".format(msg=verify_msg, name=self.NAME))
|
||||||
|
|
||||||
if err_msg:
|
if err_msg:
|
||||||
logger.error(u"Tautulli Notifiers :: {}".format(err_msg))
|
logger.error(u"Tautulli Notifiers :: {}".format(err_msg))
|
||||||
|
|
|
@ -3222,7 +3222,7 @@ class WebInterface(object):
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
@addtoapi()
|
@addtoapi()
|
||||||
def set_notifier_config(self, notifier_id=None, agent_id=None, **kwargs):
|
def set_notifier_config(self, notifier_id=None, agent_id=None, **kwargs):
|
||||||
""" Configure an exisitng notificaiton agent.
|
""" Configure an existing notification agent.
|
||||||
|
|
||||||
```
|
```
|
||||||
Required parameters:
|
Required parameters:
|
||||||
|
@ -3341,10 +3341,10 @@ class WebInterface(object):
|
||||||
return {'result': 'success', 'message': 'Notification queued.'}
|
return {'result': 'success', 'message': 'Notification queued.'}
|
||||||
else:
|
else:
|
||||||
logger.debug(u"Unable to send %snotification, invalid notifier_id %s." % (test, notifier_id))
|
logger.debug(u"Unable to send %snotification, invalid notifier_id %s." % (test, notifier_id))
|
||||||
return {'result': 'success', 'message': 'Invalid notifier id %s.' % notifier_id}
|
return {'result': 'error', 'message': 'Invalid notifier id %s.' % notifier_id}
|
||||||
else:
|
else:
|
||||||
logger.debug(u"Unable to send %snotification, no notifier_id received." % test)
|
logger.debug(u"Unable to send %snotification, no notifier_id received." % test)
|
||||||
return {'result': 'success', 'message': 'No notifier id received.'}
|
return {'result': 'error', 'message': 'No notifier id received.'}
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
@cherrypy.tools.json_out()
|
@cherrypy.tools.json_out()
|
||||||
|
@ -3481,7 +3481,7 @@ class WebInterface(object):
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
@addtoapi()
|
@addtoapi()
|
||||||
def set_mobile_device_config(self, mobile_device_id=None, **kwargs):
|
def set_mobile_device_config(self, mobile_device_id=None, **kwargs):
|
||||||
""" Configure an exisitng notificaiton agent.
|
""" Configure an existing notification agent.
|
||||||
|
|
||||||
```
|
```
|
||||||
Required parameters:
|
Required parameters:
|
||||||
|
@ -5678,7 +5678,7 @@ class WebInterface(object):
|
||||||
@requireAuth(member_of("admin"))
|
@requireAuth(member_of("admin"))
|
||||||
@addtoapi()
|
@addtoapi()
|
||||||
def set_newsletter_config(self, newsletter_id=None, agent_id=None, **kwargs):
|
def set_newsletter_config(self, newsletter_id=None, agent_id=None, **kwargs):
|
||||||
""" Configure an exisitng newsletter agent.
|
""" Configure an existing newsletter agent.
|
||||||
|
|
||||||
```
|
```
|
||||||
Required parameters:
|
Required parameters:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue