{% extends "base.html" %} {% block title %}{{ _('Notifications') }} — {{ service_name }}{% endblock %} {% block content %}

{{ _('Notifications') }}

{% if notifications | length == 0 %}

{{ _('You do not have any notifications.') }}

{% else %} {% for notification in notifications %} {% endfor %}
{{ _('Date') }} {{ _('Message') }} {% if num_unread_notifications > 0 %}
{{ mark_all_notifications_as_read_form.hidden_tag() }}
{% endif %}
{{ delete_all_notifications_form.hidden_tag() }}
{{ notification.utc_datetime | babel_format_date }} {% if notification.type == NotificationType.ASSIGNED_AS_RESPONSIBLE_USER %} {{ _('%(assigner_name)s assigned you as responsible user for object #%(object_id)s.', assigner_url=url_for('.user_profile', user_id=notification.data['assigner_id']), assigner_name=get_user(notification.data['assigner_id']).name, object_url=url_for('.object', object_id=notification.data['object_id']), object_id=notification.data['object_id']) }} {% if 'confirmation_url' in notification.data and not object_location_assignment_is_confirmed(notification.data['object_location_assignment_id']) %}{{ _('Confirm') }}{% endif %} {% elif notification.type == NotificationType.OTHER %} {{ notification.data['message'] }} {% elif notification.type == NotificationType.INVITED_TO_GROUP %} {% set group = get_group(notification.data['group_id']) %} {% if group is not none %} {{ _('%(inviter_name)s has invited you to the basic group "%(group_name)s":', inviter_url=url_for('.user_profile', user_id=notification.data['inviter_id']), inviter_name=get_user(notification.data['inviter_id']).name, group_url=url_for('.group', group_id=notification.data['group_id']), group_name=get_group(notification.data['group_id']).name | get_translated_text) }} {% if is_group_member(current_user.id, notification.data['group_id']) %} {{ _('You are already a member of this basic group.') }} {% elif notification.data['expiration_utc_datetime'] is none or datetime.datetime.strptime(notification.data['expiration_utc_datetime'], '%Y-%m-%d %H:%M:%S') > datetime.datetime.utcnow() %} {{ _('Join Basic Group') }} {% else %} {{ _('The invitation has expired at %(expiration_datetime)s.', expiration_datetime=notification.data['expiration_utc_datetime'] | babel_format_datetime) }} {% endif %} {% else %} {{ _('%(inviter_name)s has invited you to a basic group, but it has been deleted already.', inviter_url=url_for('.user_profile', user_id=notification.data['inviter_id']), inviter_name=get_user(notification.data['inviter_id']).name) }} {% endif %} {% elif notification.type == NotificationType.INVITED_TO_PROJECT %} {% set project = get_project(notification.data['project_id']) %} {% if project is not none %} {{ _('%(inviter_name)s has invited you to the project group "%(project_name)s":', inviter_url=url_for('.user_profile', user_id=notification.data['inviter_id']), inviter_name=get_user(notification.data['inviter_id']).name, project_url=url_for('.project', project_id=notification.data['project_id']), project_name=get_project(notification.data['project_id']).name | get_translated_text) }} {% if is_project_member(current_user.id, notification.data['project_id']) %} {{ _('You are already a member of this project group.')}} {% elif notification.data['expiration_utc_datetime'] is none or datetime.datetime.strptime(notification.data['expiration_utc_datetime'], '%Y-%m-%d %H:%M:%S') > datetime.datetime.utcnow() %} {{ _('Join Project Group') }} {% else %} {{ _('The invitation has expired at %(expiration_datetime)s.', expiration_datetime=notification.data['expiration_utc_datetime'] | babel_format_datetime) }} {% endif %} {% else %} {{ _('%(inviter_name)s has invited you to a project group, but it has been deleted already.', inviter_url=url_for('.user_profile', user_id=notification.data['inviter_id']), inviter_name=get_user(notification.data['inviter_id']).name) }} {% endif %} {% elif notification.type == NotificationType.ANNOUNCEMENT %} {% if 'html' in notification.data and notification.data['html'] %} {{ notification.data['html'] | safe }} {% else %}

{{ notification.data['message'] }}

{% endif %} {% elif notification.type == NotificationType.RECEIVED_OBJECT_PERMISSIONS_REQUEST %} {% set current_permissions = get_user_object_permissions(user_id=notification.data['requester_id'], object_id=notification.data['object_id']) %} {% if Permissions.READ in current_permissions %} {{ _('%(requester_name)s has requested read permissions for object #%(object_id)s, but has been granted %(permissions)s already.', requester_url=url_for('.user_profile', user_id=notification.data['requester_id']), requester_name=get_user(notification.data['requester_id']).name, object_url=url_for('.object', object_id=notification.data['object_id']), object_id=notification.data['object_id'], permissions=_(current_permissions.name.lower() + " permissions")) }} {% elif current_user.is_readonly %} {{ _('%(requester_name)s has requested read permissions for object #%(object_id)s, but your account has been marked as read only and you cannot grant permissions.', requester_url=url_for('.user_profile', user_id=notification.data['requester_id']), requester_name=get_user(notification.data['requester_id']).name, object_url=url_for('.object', object_id=notification.data['object_id']), object_id=notification.data['object_id']) }} {% else %} {{ _('%(requester_name)s has requested read permissions for object #%(object_id)s:', requester_url=url_for('.user_profile', user_id=notification.data['requester_id']), requester_name=get_user(notification.data['requester_id']).name, object_url=url_for('.object', object_id=notification.data['object_id']), object_id=notification.data['object_id']) }} {{ _('View object permissions')}} {% endif %} {% elif notification.type == NotificationType.INSTRUMENT_LOG_ENTRY_CREATED %} {% set instrument_log_entry = get_instrument_log_entry(notification.data['instrument_log_entry_id']) %} {{ _('%(user_name)s has created a new log entry for the instrument %(instrument_name)s.', user_url=url_for('.user_profile', user_id=instrument_log_entry.user_id), user_name=get_user(instrument_log_entry.user_id).name, log_entry_url=url_for('.instrument', instrument_id=instrument_log_entry.instrument_id, _anchor='log_entry-{}'.format(instrument_log_entry.id)), instrument_url=url_for('.instrument', instrument_id=instrument_log_entry.instrument_id), instrument_name=get_instrument_with_translation_in_language(instrument_log_entry.instrument_id, get_user_language(current_user).id).translation.name) }} {% elif notification.type == NotificationType.REFERENCED_BY_OBJECT_METADATA %} {{ _('You were referenced in the metadata for object #%(object_id)s.', object_url=url_for('.object', object_id=notification.data['object_id']), object_id=notification.data['object_id']) }} {% elif notification.type == NotificationType.INSTRUMENT_LOG_ENTRY_EDITED %} {% set instrument_log_entry = get_instrument_log_entry(notification.data['instrument_log_entry_id']) %} {{ _('%(user_name)s has edited a log entry for the instrument %(instrument_name)s.', user_url=url_for('.user_profile', user_id=instrument_log_entry.user_id), user_name=get_user(instrument_log_entry.user_id).name, log_entry_url=url_for('.instrument', instrument_id=instrument_log_entry.instrument_id, _anchor='log_entry-{}'.format(instrument_log_entry.id)), instrument_url=url_for('.instrument', instrument_id=instrument_log_entry.instrument_id), instrument_name=get_instrument_with_translation_in_language(instrument_log_entry.instrument_id, get_user_language(current_user).id).translation.name) }} {% else %} {{ _('Unknown notification type.') }} {% endif %}
{% if not notification.was_read %}
{{ mark_notification_as_read_form.hidden_tag() }}
{% endif %}
{{ delete_notification_form.hidden_tag() }}
{% endif %} {% endblock %}