Files
iRedAdmin-Pro-SQL/templates/default/macros/msg_handlers.html
2023-04-10 07:23:44 +02:00

476 lines
22 KiB
HTML

{% macro success_info(msg, removable=true, trusted=false) -%}
<div class="notification note-success">
{% if removable is not sameas false %}
<a href="#" class="close">Close</a>
{% endif %}
<p><i class="far fa-check-circle fa-lg fa-fw"></i>
{% if trusted %}
{{ msg }}
{% else %}
{{ msg |e }}
{% endif %}
</p>
</div>
{%- endmacro %}
{% macro error_info(msg, removable=false, trusted=false) -%}
<div class="notification note-error">
{% if removable is not sameas false %}
<a href="#" class="close">Close</a>
{% endif %}
<p><i class="fa fa-times-circle fa-lg fa-fw"></i> <strong>{{ _('Error:') }}</strong>
{% if trusted %}
{{ msg }}
{% else %}
{{ msg |e }}
{% endif %}
</p>
</div>
{%- endmacro %}
{% macro warning_info(msg, removable=false, trusted=false) -%}
<div class="notification note-attention" class="padding-left: 0px;">
{% if removable is not sameas false %}
<a href="#" class="close">Close</a>
{% endif %}
<p><i class="fa fa-exclamation-triangle fa-lg fa-fw"></i>
{% if trusted %}
{{ msg }}
{% else %}
{{ msg |e }}
{% endif %}
</p>
</div>
{%- endmacro %}
{% macro general_info(msg, removable=true, trusted=false) -%}
<div class="notification note-info">
{% if removable is not sameas false %}
<a href="#" class="close">Close</a>
{% endif %}
<p><i class="fa fa-info fa-lg fa-fw"></i>
{% if trusted %}
{{ msg }}
{% else %}
{{ msg |e }}
{% endif %}
</p>
</div>
{%- endmacro %}
{% macro login_msg_handler(msg) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% set handlers = {
'LOGIN_REQUIRED': error_info(_('Login required')),
'INVALID_CREDENTIALS': error_info(_('Username or password is incorrect.')),
'INVALID_USERNAME': error_info(_('Username must be an valid email address.')),
'EMPTY_PASSWORD': error_info(_('Empty password is not allowed.')),
'SESSION_EXPIRED': error_info(_('Session expired, please re-login.')),
'NOT_ALLOWED_IP': error_info(_('Login from your IP address is not allowed.')),
'INVALID_PRODUCT_ID': error_info(_('Your license is invalid. Please contact support@iredmail.org to fix it.')),
}
%}
{% if msg == 'SERVER_DOWN' %}
{{ error_info(_('Server is down. Please contact <a href="mailto:%s">webmaster</a> to solve it.' % webmaster ), trusted=true) }}
{% elif msg is sameas false %}
{{ error_info( ('Authentication failed.') ) }}
{% else %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info( msg ) }}
{% endif %}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro creation_limit_msg_handler(msg=none) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% set handlers = {
'EXCEED_LIMIT_DOMAIN': error_info(_('Already reaches account limit (mail domains).')),
'EXCEED_LIMIT_QUOTA': error_info(_('Already reaches account limit (mailbox quota).')),
'EXCEED_LIMIT_USERS': error_info(_('Already reaches account limit (mail users).')),
'EXCEED_LIMIT_ALIASES': error_info(_('Already reaches account limit (mail aliases).')),
'EXCEED_LIMIT_LISTS': error_info(_('Already reaches account limit (mailing lists).')),
}
%}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro domain_msg_handler(msg=none) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% set handlers = {
'UPDATED': success_info(_('Profile has been updated.')),
'INVALID_ACTION': error_info(_('Invalid action.')),
'DELETED': success_info(_('Selected domains have been deleted.')),
'DISABLED': success_info(_('Selected domains were disabled.')),
'ENABLED': success_info(_('Selected domains were enabled.')),
'INVALID_DOMAIN_NAME': error_info(_('Invalid domain name.')),
'INVALID_MAIL': error_info(_('Invalid mail address.')),
'EMPTY_DOMAIN': error_info(_('Domain name is empty.')),
'EXCEEDED_LDAP_SERVER_SIZELIMIT': error_info(_('Server-side size limit exceeded. Please increase "sizelimit" in your LDAP server.')),
'ALREADY_EXISTS': error_info(_('Domain already exists. Please check both primary or alias domains.')),
'PERMISSION_DENIED': error_info(_('Permission denied.')),
'DOMAIN_NAME_MISMATCH': error_info(_('Submited domain name is incorrect.')),
'NO_SUCH_ACCOUNT': error_info(_('Account does not exist.')),
'NO_DOMAIN_SELECTED': error_info(_('Please select at least one domain.')),
'NO_DOMAIN_AVAILABLE': error_info(_('No domain under control.')),
'EXCEED_LIMIT_DOMAIN': error_info(_('Already reaches account limit (mail domains).')),
'EXCEED_LIMIT_QUOTA': error_info(_('Already reaches account limit (mailbox quota).')),
'EXCEED_LIMIT_USERS': error_info(_('Already reaches account limit (mail users).')),
'EXCEED_LIMIT_ALIASES': error_info(_('Already reaches account limit (mail aliases).')),
'EXCEED_LIMIT_LISTS': error_info(_('Already reaches account limit (mailing lists).')),
}
%}
{% if msg == 'CREATED' %}
<div class='notification note-success'><a href='#' class='close'></a>
<p><i class="far fa-check-circle fa-lg fa-fw"></i>
{{ _('Domain created.') }} <a href='{{ctx.homepath}}/create/domain'>{{ _('Add one more?') }}</a> {{ _('Or create other mail accounts:') }} <a href='{{ctx.homepath}}/create/user/{{cur_domain}}'>{{ _('User') }}</a>, <a href='{{ctx.homepath}}/create/ml/{{cur_domain}}'>{{ _('Mailing List') }}</a>.
</p>
</div>
{% else %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro user_msg_handler(msg) -%}
{% if msg %}
{% set handlers = {
'UPDATED': success_info(_('Profile has been updated.')),
'UPDATED_FAILED': error_info( _('Profile updated failed.')),
'INVALID_ACTION': error_info(_('Invalid action.')),
'NO_DOMAIN_AVAILABLE': general_info( _('No domain under control.') ),
'MISSING_DOMAIN_OR_USERNAME': error_info( _('Domain name or username is missed.') ),
'INVALID_MAIL': error_info(_('Invalid mail address.')),
'INVALID_ACCOUNT': error_info(_('Invalid account.')),
'EXCEEDED_DOMAIN_QUOTA_SIZE': error_info(_('Domain quota size exceeded. Please contact your administrator or service provider to increase it.')),
'EXCEEDED_DOMAIN_ACCOUNT_LIMIT': error_info(_('Exceeded domain account limit. Please contact your administrator or service provider to increase it.')),
'DELETED': success_info( _('Selected accounts were deleted.') ),
'DISABLED': success_info( _('Selected accounts were disabled.') ),
'ENABLED': success_info( _('Selected accounts were enabled.') ),
'MARKASADMIN': success_info( _('Selected accounts were marked as domain admin.') ),
'UNMARKASADMIN': success_info( _('Selected accounts were unmarked as domain admin.') ),
'MARKASGLOBALADMIN': success_info( _('Selected accounts were marked as global admin.') ),
'UNMARKASGLOBALADMIN': success_info( _('Selected accounts were unmarked as global admin.') ),
'INCORRECT_OLDPW': error_info( _('Current password is incorrect.') ),
'PW_MISMATCH': error_info( _('New passwords are not match.') ),
'PW_NON_ASCII': error_info( _('Please do not use non-ascii character in password.') ),
'PW_EMPTY': error_info( _('Password is empty.') ),
'PW_SHORTER_THAN_MIN_LENGTH': error_info( _('Password is too short.') ),
'PW_GREATER_THAN_MAX_LENGTH': error_info( _('Password is too long.') ),
'PW_NO_LETTER': error_info( _('No letter in password.') ),
'PW_NO_UPPERCASE': error_info( _('No uppercase letter in password.') ),
'PW_NO_DIGIT_NUMBER': error_info( _('No digit number in password.') ),
'PW_NO_SPECIAL_CHAR': error_info( _('No special character in password.') ),
'ALREADY_EXISTS': error_info(_('Account already exists, please choose another one.')),
'NO_DOMAIN': error_info(_('No mail domain available.')),
'NO_ACCOUNT_SELECTED': error_info(_('Please select at least one account.')),
'NOT_ALLOWED': error_info(_('Not allowed to create mail user under this domain.')),
'PERMISSION_DENIED': error_info(_("Permission denied.")),
'PERMISSION_DENIED_UPDATE_GLOBAL_ADMIN_PROFILE': error_info(_("You are not allowed to update global domain admin's profile.")),
'WBLIST_UPDATED': success_info( _('Records were successfully updated.')),
'EMAIL_CHANGED': success_info( _('Email address was changed.')),
'NO_SUCH_ACCOUNT': error_info(_('Account does not exist.')),
}
%}
{% if msg == 'CREATED' %}
<div class='notification note-success'><a href='#' class='close'></a>
<p><i class="far fa-check-circle fa-lg fa-fw"></i>
{{ _('User created.') }} <a href="{{ctx.homepath}}/create/user/{{mail.split('@',1)[-1]}}">{{ _('Add one more?') }}</a>
</p>
</div>
{% else %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro admin_msg_handler(msg) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% set handlers = {
'UPDATED': success_info(_('Profile has been updated.')),
'INVALID_ACTION': error_info(_('Invalid action.')),
'PERMISSION_DENIED': error_info(_("Permission denied.")),
'DELETED': success_info(_('Selected accounts were deleted.')),
'DISABLED': success_info(_('Selected accounts were disabled.')),
'ENABLED': success_info(_('Selected accounts were enabled.')),
'NO_ACCOUNT_SELECTED': error_info(_('No account selected.')),
'INCORRECT_OLDPW': error_info(_('Current password is incorrect.')),
'INVALID_CREDENTIALS': error_info(_('Current password is incorrect.')),
'PW_MISMATCH': error_info(_('New passwords are not match.')),
'PW_NON_ASCII': error_info( _('Please do not use non-ascii character in password.') ),
'PW_EMPTY': error_info(_('Password is empty.')),
'PW_NO_LETTER': error_info( _('No letter in password.') ),
'PW_NO_UPPERCASE': error_info( _('No uppercase letter in password.') ),
'PW_NO_DIGIT_NUMBER': error_info( _('No digit number in password.') ),
'PW_NO_SPECIAL_CHAR': error_info( _('No special character in password.') ),
'INVALID_MAIL': error_info(_('Invalid mail address.')),
'ALREADY_EXISTS': error_info(_('Account already exists, please choose another one.')),
'NO_SUCH_ACCOUNT': error_info(_('Account does not exist.')),
'CAN_NOT_BE_LOCAL_DOMAIN': error_info(_('Standalone admin account cannot be an user of local domain.')),
}
%}
{% if msg == 'CREATED' %}
<div class='notification note-success'><a href='#' class='close'></a>
<p><i class="far fa-check-circle fa-lg fa-fw"></i>
{{ _('Admin created.') }} <a href="{{ctx.homepath}}/create/admin">{{ _('Add one more?') }}</a>
</p>
</div>
{% elif msg == 'PW_SHORTER_THAN_MIN_LENGTH' %}
{{ error_info( _('New password must contain at least %s characters.') |format(min_passwd_length) ) }}
{% elif msg == 'PW_GREATER_THAN_MAX_LENGTH' %}
{{ error_info( _('New password must NOT contain more than %s characters.') |format(max_passwd_length) ) }}
{% else %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro maillist_msg_handler(msg) -%}
{% if msg %}
{% set handlers = {
'ALREADY_EXISTS': error_info(_('Account already exists, please choose another one.')),
'INVALID_MAIL': error_info(_('Invalid mail address.')),
'NO_ACCOUNT_SELECTED': error_info(_('No account selected.')),
'UPDATED': success_info(_('Profile has been updated.')),
'INVALID_ACTION': error_info(_('Invalid action.')),
'UPDATED_FAILED': error_info(_('Profile updated failed.')),
'MEMBER_ASSIGNED': success_info(_('Member assigned success.')),
'MEMBER_REMOVED': success_info(_('Member removed success.')),
'MODERATOR_ASSIGNED_SUCCESS': success_info(_('Moderators assigned success.')),
'MODERATOR_REMOVED_SUCCESS': success_info(_('Moderators removed success.')),
'DELETED': success_info(_('Selected accounts were deleted.')),
'DISABLED': success_info(_('Selected accounts were disabled.')),
'ENABLED': success_info(_('Selected accounts were enabled.')),
'NO_DOMAIN_AVAILABLE': general_info(_('No domain under control.')),
'NO_MODERATOR_SELECTED': error_info(_('No moderator selected.')),
'NOT_ALLOWED': error_info(_('Not allowed to create mailing list under this domain.')),
'NO_SUCH_ACCOUNT': error_info(_('Account does not exist.')),
'EMAIL_CHANGED': success_info( _('Email address was changed.')),
'MEMBERS_ADDED': success_info( _('Members has been added to mailing list.')),
'CONFIRM_MAIL_SENT': success_info( _('Confirm email has been sent to new members. Members will appear below after they confirmed the subscription.')),
'MIGRATED': success_info( _('Successfully migrated.')),
'PERMISSION_DENIED': error_info(_('Permission denied.')),
}
%}
{% if msg == 'CREATED' %}
<div class='notification note-success'><a href='#' class='close'></a>
<p><i class="far fa-check-circle fa-lg fa-fw"></i>
{{ _('Mailing list created.') }} <a href="{{ctx.homepath}}/create/ml/{{mail.split('@', 1)[-1]}}">{{ _('Add one more?') }}</a>
</p>
</div>
{% else %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro alias_msg_handler(msg) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% set handlers = {
'ALREADY_EXISTS': error_info(_('Account already exists, please choose another one.')),
'UPDATED': success_info(_('Profile has been updated.')),
'INVALID_MAIL': error_info(_('Invalid mail address.')),
'INVALID_ACTION': error_info(_('Invalid action.')),
'NO_DOMAIN_AVAILABLE': general_info(_('No domain under control.')),
'DELETED': success_info(_('Selected accounts were deleted.')),
'DISABLED': success_info(_('Selected accounts were disabled.')),
'ENABLED': success_info(_('Selected accounts were enabled.')),
'MEMBER_ASSIGNED': success_info(_('Member assigned success.')),
'MEMBER_REMOVED': success_info(_('Member removed success.')),
'UPDATED_FAILED': error_info(_('Profile updated failed.')),
'EMPTY_LISTNAME': error_info(_('Empty address is not allowed.')),
'NOT_ALLOWED': error_info(_('Not allowed to create mail alias under this domain.')),
'NO_SUCH_ACCOUNT': error_info(_('Account does not exist.')),
'EMAIL_CHANGED': success_info( _('Email address was changed.')),
}
%}
{% if msg == 'CREATED' %}
<div class='notification note-success'><a href='#' class='close'></a>
<p><i class="far fa-check-circle fa-lg fa-fw"></i>
{{ _('Mail alias created.') }} <a href="{{ctx.homepath}}/create/alias/{{mail.split('@', 1)[-1]}}">{{ _('Add one more?') }}</a>
</p>
</div>
{% else %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro log_msg_handler(msg) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% if msg == 'DELETED' %}
{{ success_info( _('Selected log records were deleted.') ) }}
{% elif msg == 'INVALID_PRODUCT_ID' %}
{{ error_info( _('Invalid product id.') ) }}
{% else %}
{{ error_info( msg ) }}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro amavisd_msg_handler(msg) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% set handlers = {
'WBLIST_CREATED': success_info( _('Records were successfully added.')),
'WBLIST_UPDATED': success_info( _('Records were successfully updated.')),
'DELETED': success_info(_('Selected log records were deleted.')),
'RELEASED': success_info(_('Mails were released.')),
'RELEASED_WL_SENDER': success_info(_('Mails were released, and sender(s) were whitelisted.')),
'RELEASED_WL_SENDER_DOMAIN': success_info(_('Mails were released, and sender domain(s) were whitelisted.')),
'RELEASED_WL_SENDER_SUBDOMAIN': success_info(_('Mails were released, sender domain(s) and sub-domains were whitelisted.')),
'DELETED': success_info(_('Mails were deleted.')),
'DELETED_WL_SENDER': success_info(_('Mails were deleted, and sender(s) were whitelisted.')),
'DELETED_WL_SENDER_DOMAIN': success_info(_('Mails were deleted, and sender domain(s) were whitelisted.')),
'DELETED_WL_SENDER_SUBDOMAIN': success_info(_('Mails were deleted, sender domain(s) and sub-domain(s) were whitelisted.')),
'DELETED_BL_SENDER': success_info(_('Mails were deleted, and sender(s) were blacklisted.')),
'DELETED_BL_SENDER_DOMAIN': success_info(_('Mails were deleted, and sender domain(s) were blacklisted.')),
'DELETED_BL_SENDER_SUBDOMAIN': success_info(_('Mails were deleted, sender domain(s) and sub-domain(s) were blacklisted.')),
'DELETED_WL_RCPT': success_info(_('Mails were deleted, and recipient(s) were whitelisted.')),
'DELETED_WL_RCPT_DOMAIN': success_info(_('Mails were deleted, and recipient domain(s) were whitelisted.')),
'DELETED_WL_RCPT_SUBDOMAIN': success_info(_('Mails were deleted, recipient domain(s) and sub-domain(s) were whitelisted.')),
'DELETED_BL_RCPT': success_info(_('Mails were deleted, and recipient(s) were blacklisted.')),
'DELETED_BL_RCPT_DOMAIN': success_info(_('Mails were deleted, and recipient domain(s) were blacklisted.')),
'DELETED_BL_RCPT_SUBDOMAIN': success_info(_('Mails were deleted, recipient domain(s) and sub-domain(s) were blacklisted.')),
'INVALID_ACCOUNT': error_info(_('Invalid domain name or mail address.')),
'INVALID_ACTION': error_info(_('Invalid action.')),
'INVALID_MAILID': error_info(_('Invalid request data.')),
'PERMISSION_DENIED': error_info(_('Permission denied.')),
}
%}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{%- endmacro %}
{# Search accounts #}
{% macro search_msg_handler(msg) -%}
{% if msg is defined and msg is not sameas none and msg|string != '' %}
{% if msg == 'SUCCESS' %}
{{ success_info( _('Operation completed.') ) }}
{% elif msg == 'EMPTY_STRING' %}
{{ error_info( _('Search keyword could not be empty.') ) }}
{% elif msg == 'INVALID_MAIL' %}
{{ error_info( _('Invalid mail address.') ) }}
{% elif msg == 'INVALID_ACTION' %}
{{ error_info(_('Invalid action.')) }}
{% else %}
{{ error_info( msg ) }}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro throttle_msg_handler(msg) -%}
{% if msg %}
{% set handlers = {
'CREATED': success_info( _('Records were successfully added.') ),
'UPDATED': success_info(_('Profile has been updated.')),
'DELETED': success_info( _('Selected records were deleted.') ),
'INVALID_ACTION': error_info(_('Invalid action.')),
} %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ error_info(msg) }}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro greylist_msg_handler(msg) -%}
{% if msg %}
{% if msg == 'GL_UPDATED' %}
{{ success_info(_('Greylisting settings have been updated.')) }}
{% else %}
{{ error_info( msg ) }}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro wblist_msg_handler(msg) -%}
{% if msg %}
{% if msg == 'UPDATED' %}
{{ success_info(_('Profile has been updated.')) }}
{% else %}
{{ error_info( msg ) }}
{% endif %}
{% endif %}
{%- endmacro %}
{% macro domain_ownership_msg_handler(msg) -%}
{% if msg %}
{% if msg == 'PERMISSION_DENIED' %}
{{ error_info(_('Permission denied.')) }}
{% else %}
{{ error_info( msg ) }}
{% endif %}
{% endif %}
{%- endmacro %}
{# NOTE: newsletter error page use different CSS framework, do not use macros
like `success_info()`, `error_info()` defined in this Jinja2 template
file.
#}
{% macro newsletter_error_msg_handler(msg) -%}
{% if msg %}
{% set handlers = {
'INVALID_NEWSLETTER': _('Oops, the newsletter you want to subscribe does not exist.'),
'INVALID_ACTION': _('Oops, invalid action.'),
'TOKEN_INVALID': _('Oops, confirm link is invalid.'),
'TOKEN_EXPIRED': _('Oops, confirm link expired. Please re-subscribe.'),
'INVALID_SUBSCRIBER_EMAIL_ADDRESS': _('Error, you entered an invalid email address.'),
'INTERNAL_SERVER_ERROR': _('Internal server error, please contact server admin to fix it.'),
} %}
{% if msg in handlers %}
{{ handlers[msg] }}
{% else %}
{{ msg | e }}
{% endif %}
{% endif %}
{%- endmacro %}