Beispiel #1
0
    def post(self):
        user = yield get_user_settings(self.current_user.user_id,
                                       GLSettings.memory_copy.default_language)

        language = user['language']

        yield get_notification(language)

        data = {}
        data['type'] = 'admin_test_static'
        data['node'] = yield admin_serialize_node(language)
        data['notification'] = yield get_notification(language)

        subject, body = Templating().get_mail_subject_and_body(data)

        send_to = user['mail_address']

        log.debug("Attempting to send test email to: %s" % send_to)
        # If sending the email fails the exception mail address will be mailed.
        # If the failure is due to a bad SMTP config that will fail too, but it
        # doesn't hurt to try!
        try:
            yield sendmail(send_to, subject, body)
        except Exception as e:
            log.debug("Sending to admin failed. Trying an exception mail")
            raise e
Beispiel #2
0
    def post(self):
        user = yield get_user_settings(self.current_user.user_id,
                                       State.tenant_cache[1].default_language)

        language = user['language']

        data = {
            'type': 'admin_test',
            'node': (yield admin_serialize_node(language)),
            'notification': (yield get_notification(language)),
            'user': user,
        }

        subject, body = Templating().get_mail_subject_and_body(data)

        yield sendmail(user['mail_address'], subject, body)
Beispiel #3
0
    def send_pgp_alerts(self, receiver_desc):
        user_language = receiver_desc["language"]
        node_desc = yield admin_serialize_node(user_language)
        notification_settings = yield get_notification(user_language)

        fakeevent = OD()
        fakeevent.type = u"pgp_expiration_alert"
        fakeevent.node_info = node_desc
        fakeevent.context_info = None
        fakeevent.receiver_info = receiver_desc
        fakeevent.tip_info = None
        fakeevent.subevent_info = None

        subject = Templating().format_template(notification_settings["pgp_alert_mail_title"], fakeevent)
        body = Templating().format_template(notification_settings["pgp_alert_mail_template"], fakeevent)

        yield sendmail(receiver_desc["mail_address"], subject, body)
Beispiel #4
0
    def post(self):
        user = yield get_user_settings(self.current_user.user_id,
                                       GLSettings.memory_copy.default_language)

        language = user['language']

        yield get_notification(language)

        data = {}
        data['type'] = 'admin_test_static'
        data['node'] = yield admin_serialize_node(language)
        data['notification'] = yield get_notification(language)

        subject, body = Templating().get_mail_subject_and_body(data)

        send_to = user['mail_address']

        yield sendmail(send_to, subject, body)
Beispiel #5
0
    def send_pgp_alerts(self, receiver_desc):
        user_language = receiver_desc['language']
        node_desc = yield admin_serialize_node(user_language)
        notification_settings = yield get_notification(user_language)

        fakeevent = OD()
        fakeevent.type = u'pgp_expiration_alert'
        fakeevent.node_info = node_desc
        fakeevent.context_info = None
        fakeevent.receiver_info = receiver_desc
        fakeevent.tip_info = None
        fakeevent.subevent_info = None

        subject = Templating().format_template(
            notification_settings['pgp_alert_mail_title'], fakeevent)
        body = Templating().format_template(
            notification_settings['pgp_alert_mail_template'], fakeevent)

        yield sendmail(receiver_desc['mail_address'], subject, body)
Beispiel #6
0
    def send_admin_pgp_alerts(self, admin_desc, expired_or_expiring):
        user_language = admin_desc["language"]
        node_desc = yield admin_serialize_node(user_language)
        notification_settings = yield get_notification(user_language)

        fakeevent = OD()
        fakeevent.type = u"admin_pgp_expiration_alert"
        fakeevent.node_info = node_desc
        fakeevent.context_info = None
        fakeevent.receiver_info = None
        fakeevent.tip_info = None
        fakeevent.subevent_info = {"expired_or_expiring": expired_or_expiring}

        subject = Templating().format_template(notification_settings["admin_pgp_alert_mail_title"], fakeevent)
        body = Templating().format_template(notification_settings["admin_pgp_alert_mail_template"], fakeevent)

        admin_users = yield get_admin_users()
        for u in admin_users:
            yield sendmail(u["mail_address"], subject, body)
Beispiel #7
0
    def send_admin_pgp_alerts(self, admin_desc, expired_or_expiring):
        user_language = admin_desc['language']
        node_desc = yield admin_serialize_node(user_language)
        notification_settings = yield get_notification(user_language)

        fakeevent = OD()
        fakeevent.type = u'admin_pgp_expiration_alert'
        fakeevent.node_info = node_desc
        fakeevent.context_info = None
        fakeevent.receiver_info = None
        fakeevent.tip_info = None
        fakeevent.subevent_info = {'expired_or_expiring': expired_or_expiring}

        subject = Templating().format_template(
            notification_settings['admin_pgp_alert_mail_title'], fakeevent)
        body = Templating().format_template(
            notification_settings['admin_pgp_alert_mail_template'], fakeevent)

        admin_users = yield get_admin_users()
        for u in admin_users:
            yield sendmail(u['mail_address'], subject, body)
Beispiel #8
0
    def post(self, rtip_id):
        files_dict = yield download_all_files(self.current_user.user_id, rtip_id)
        node_dict = yield node.admin_serialize_node(self.request.language)
        receiver_dict = yield get_receiver_from_rtip(rtip_id, self.request.language)
        rtip_dict = yield get_rtip_info(rtip_id, self.request.language)
        collection_tip_dict = yield get_collection_info(rtip_id)
        context_dict = yield context.get_context(rtip_dict['context_id'], 'en')
        notif_dict = yield notification.get_notification(self.request.language)

        mock_event = Event(
            type=u'archive_description',
            trigger='Download',
            node_info=node_dict,
            receiver_info=receiver_dict,
            context_info=context_dict,
            tip_info=rtip_dict,
            subevent_info=collection_tip_dict,
            do_mail=False,
        )

        formatted_coll = Templating().format_template(notif_dict['archive_description'], mock_event).encode('utf-8')

        files_dict.append(
            {
               'buf': formatted_coll,
               'name': "COLLECTION_INFO.txt"
            }
        )

        self.set_status(200)

        self.set_header('X-Download-Options', 'noopen')
        self.set_header('Content-Type', 'application/octet-stream')
        self.set_header('Content-Disposition', 'attachment; filename=\"collection.zip\"')

        for data in ZipStream(files_dict):
            self.write(data)

        self.finish()