def _send_comment_notification_mail(recipient_name, recipient_email, data, lang="en"):
    '''
        A helper function to send notification emails to given recipients
    '''

    current_locale = get_lang()
    if lang:
        set_lang(lang)

    from ckanext.datarequests import email_template

    # recreate the request url
    url = str(g.site_url) + tk.url_for(controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI',
                                       action='show', id=data.get("request_id"))
    data["link"] = url

    # fill out the email template
    subject = email_template.subject.format(**data)
    message = email_template.message.format(**data)

    # Finally mail the user and reset locale
    try:
        mail_recipient(recipient_name, recipient_email, subject, message)
    except MailerException, e:
        log.error(e)
def mail_process_status(locale, member_user, approve, group_name, capacity):
    current_locale = get_lang()
    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)

    role_name = _(capacity)

    subject_template = _SUBJECT_MEMBERSHIP_APPROVED(
    ) if approve else _SUBJECT_MEMBERSHIP_REJECTED()
    message_template = _MESSAGE_MEMBERSHIP_APPROVED(
    ) if approve else _MESSAGE_MEMBERSHIP_REJECTED()

    subject = subject_template % {
        'organization': group_name
    }
    message = message_template % {
        'role': role_name,
        'organization': group_name
    }

    try:
        mail_user(member_user, subject, message)
    except Exception:
        log.exception("Mail could not be sent")
        # raise MailerException("Mail could not be sent")
    finally:
        set_lang(current_locale)
Example #3
0
    def logged_in(self):
        # we need to set the language via a redirect
        lang = session.pop('lang', None)
        session.save()
        came_from = request.params.get('came_from', '')

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            context = None
            data_dict = {'id': c.user}

            user_dict = get_action('user_show')(context, data_dict)

            h.flash_success(_("%s is now logged in") %
                            user_dict['display_name'])
            if came_from:
                return h.redirect_to(str(came_from))
            return self.me()
        else:
            err = _('Login failed. Bad username or password.')
            if g.openid_enabled:
                err += _(' (Or if using OpenID, it hasn\'t been associated '
                         'with a user account.)')
            if h.asbool(config.get('ckan.legacy_templates', 'false')):
                h.flash_error(err)
                h.redirect_to(locale=lang, controller='user',
                              action='login', came_from=came_from)
            else:
                return self.login(error=err)
Example #4
0
def _send_comment_notification_mail(recipient_name,
                                    recipient_email,
                                    data,
                                    lang="en"):
    '''
        A helper function to send notification emails to given recipients
    '''

    current_locale = get_lang()
    if lang:
        set_lang(lang)

    from ckanext.datarequests import email_template

    # recreate the request url
    url = str(g.site_url) + tk.url_for(
        controller=
        'ckanext.datarequests.controllers.ui_controller:DataRequestsUI',
        action='show',
        id=data.get("request_id"))
    data["link"] = url

    # fill out the email template
    subject = email_template.subject.format(**data)
    message = email_template.message.format(**data)

    # Finally mail the user and reset locale
    try:
        mail_recipient(recipient_name, recipient_email, subject, message)
    except MailerException, e:
        log.error(e)
Example #5
0
    def logged_in(self):
        # we need to set the language via a redirect
        lang = session.pop("lang", None)
        session.save()
        came_from = request.params.get("came_from", "")

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            context = None
            data_dict = {"id": c.user}

            user_dict = get_action("user_show")(context, data_dict)

            h.flash_success(_("%s is now logged in") % user_dict["display_name"])
            if came_from:
                return h.redirect_to(str(came_from))
            return self.me()
        else:
            err = _("Login failed. Bad username or password.")
            if g.openid_enabled:
                err += _(" (Or if using OpenID, it hasn't been associated " "with a user account.)")
            if h.asbool(config.get("ckan.legacy_templates", "false")):
                h.flash_error(err)
                h.redirect_to(locale=lang, controller="user", action="login", came_from=came_from)
            else:
                return self.login(error=err)
Example #6
0
def mail_process_status(locale, member_user, approve, group_name, capacity):
    current_locale = get_lang()
    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)

    role_name = _(capacity)

    subject_template = _SUBJECT_MEMBERSHIP_APPROVED(
    ) if approve else _SUBJECT_MEMBERSHIP_REJECTED()
    message_template = _MESSAGE_MEMBERSHIP_APPROVED(
    ) if approve else _MESSAGE_MEMBERSHIP_REJECTED()

    subject = subject_template % {'organization': group_name}
    message = message_template % {
        'role': role_name,
        'organization': group_name
    }

    try:
        mail_user(member_user, subject, message)
    except Exception:
        log.exception("Mail could not be sent")
        # raise MailerException("Mail could not be sent")
    finally:
        set_lang(current_locale)
Example #7
0
def _mail_new_membership_request(locale, admin, group, url, user_obj, data_dict=None, admin_list=None):
    current_locale = get_lang()

    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)
    subject = hdx_util._SUBJECT_MEMBERSHIP_REQUEST.format(**{
        'user_fullname': user_obj.display_name
    })

    user_message = data_dict.get('message') if data_dict else 'Please add me to this organisation'
    message = hdx_util._MESSAGE_MEMBERSHIP_REQUEST.format(**{
        'user_fullname': user_obj.display_name,
        'user_email': user_obj.email,
        'org_title': group.display_name,
        'org_add_member_url': (config['ckan.site_url'] + '/organization/members/{org_name}').format(
            org_name=group.name),
        'user_message': user_message
    })

    try:
        # mail_user(admin, subject, message)
        # HDX change
        if admin:
            hdx_mail.send_mail([{'display_name': admin.display_name or admin.fullname, 'email': admin.email}], subject,
                               message)
        else:
            hdx_mail.send_mail(admin_list, subject, message, True)

    except MailerException, e:
        log.error(e)
    def logged_in(self):
        # we need to set the language via a redirect
        lang = session.pop('lang', None)
        session.save()

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            is_new = False
            is_sysadmin = new_authz.is_sysadmin(c.user)

            # Retrieve information about the current user
            context = {'model': model, 'session': model.Session,
                   'user': c.user or c.author,
                   'schema': schema.user_new_form_schema()}
            data_dict = {'id': c.user}

            user_dict = get_action('user_show')(context, data_dict)

            # This check is not needed (or correct) for sys admins
            if not is_sysadmin:

                # Get all organizations and all groups the user belongs to
                orgs_q = model.Session.query(model.Group) \
                    .filter(model.Group.is_organization == True) \
                    .filter(model.Group.state == 'active')
                q = model.Session.query(model.Member) \
                    .filter(model.Member.table_name == 'user') \
                    .filter(model.Member.table_id == user_dict['id'])

                group_ids = []
                for row in q.all():
                    group_ids.append(row.group_id)

                if not group_ids:
                    is_new = True
                else:
                    orgs_q = orgs_q.filter(model.Group.id.in_(group_ids))

                    orgs_list = model_dictize.group_list_dictize(orgs_q.all(), context)

                    if len(orgs_list) == 0:
                        is_new = True

            h.flash_success(_("<p><strong>Note</strong></p>"
                "<p>%s is now logged in</p>") %
                user_dict['display_name'], allow_html=True)

            if is_new:
                return h.redirect_to(controller='ckanext.canada.controller:CanadaController',
                                         action='view_new_user', locale=lang)
            else:
                return h.redirect_to(controller='package',
                    action='search', locale=lang)
        else:
            h.flash_error(_('Login failed. Bad username or password.'))
            return h.redirect_to(controller='user',
                action='login', locale=lang)
Example #9
0
def load_translations(lang):
    # Register a translator in this thread so that
    # the _() functions in logic layer can work
    from paste.registry import Registry
    from pylons import translator
    from pylons import request
    registry = Registry()
    registry.prepare()

    class FakePylons:
        translator = None

    fakepylons = FakePylons()

    class FakeRequest:
        # Stores details of the translator
        environ = {'pylons.pylons': fakepylons}

    registry.register(request, FakeRequest())

    # create translator
    i18n.set_lang(lang)

    # pull out translator and register it
    registry.register(translator, fakepylons.translator)
Example #10
0
 def i18_js_strings(self, lang):
     ''' This is used to produce the translations for javascript. '''
     i18n.set_lang(lang)
     html = base.render('js_strings.html', cache_force=True)
     html = re.sub('<[^\>]*>', '', html)
     header = "text/javascript; charset=utf-8"
     base.response.headers['Content-type'] = header
     return html
Example #11
0
 def i18_js_strings(self, lang):
     ''' This is used to produce the translations for javascript. '''
     i18n.set_lang(lang)
     html = base.render('js_strings.html', cache_force=True)
     html = re.sub(r'<[^\>]*>', '', html)
     header = "text/javascript; charset=utf-8"
     base.response.headers['Content-type'] = header
     return html
Example #12
0
    def notify(self):
        prev_lang = i18n.get_lang()
        i18n.set_lang(config.get('ckan.locale_default', 'en'))

        comment_id = request.params.get('comment_id')
        comment = request.params.get('comment')
        pkg_id = request.params.get('pkg_id')
        recipient_name_field = config.get('disqus.notify.name_field')
        recipient_email_field = config.get('disqus.notify.email_field')

        mail_sent = False

        if pkg_id is not None:
            pkg = logic.get_action('package_show')({
                'ignore_auth': True
            }, {
                'id': pkg_id
            })
            if recipient_email_field in pkg and pkg.get(
                    recipient_email_field, '') != '':
                url_path = toolkit.url_for(controller='package',
                                           action='read',
                                           id=pkg_id)
                url = '%s%s' % (request.host_url, url_path)
                msg_fields = {
                    'url': url,
                    'title': pkg["title"],
                    'comment': comment
                }
                title = _(u'New comment for dataset "%(title)s"') % msg_fields
                msg = _(
                    u'The dataset "%(title)s" has received a new comment:\n\n%(comment)s\n\n<%(url)s>'
                ) % msg_fields
                recipient_name = pkg.get(recipient_name_field,
                                         _(u'Dataset maintainer'))
                recipient_email = pkg.get(recipient_email_field)
                try:
                    mailer.mail_recipient(recipient_name, recipient_email,
                                          title, msg)
                    mail_sent = True
                except mailer.MailerException as e:
                    log.error('Could not send disqus notification mail: %s' %
                              e)

        data = {
            'comment_id': comment_id,
            'pkg_id': pkg_id,
            'mail_sent': mail_sent
        }
        result = render('disqus_callback.html', data)
        i18n.set_lang(prev_lang)
        return result
Example #13
0
def send_comment_notification_mail(recipient_name, recipient_email, dataset, comment):

    from ckanext.ytp_comments import email_template

    # Fill out the message template

    url = str(g.site_url) + toolkit.url_for(controller='package', action='read', id=dataset.id)

    if comment.user_id:
        userobj = model.User.get(comment.user_id)
        commenter_email = userobj.email
        commenter_name = userobj.name

    subject_vars = {
        'dataset': dataset.title
    }
    subject = email_template.subject.format(**subject_vars)

    message_vars = {
        'user': commenter_name,
        'email': commenter_email,
        'dataset': dataset.title,
        'link': url,
        'comment_subject': helpers.markdown_extract(comment.subject).strip(),
        'comment': helpers.markdown_extract(comment.comment).strip()
    }
    message = email_template.message.format(**message_vars)

    log.debug(subject)
    log.debug(message)

    # Locale fix
    current_locale = get_lang()
    locale = _get_safe_locale()

    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)
    # Finally mail the user and reset locale

    try:
        log.debug("LOCALE: " + str(locale))
        log.debug(subject)
        log.debug(message)

        mail_recipient(recipient_name, recipient_email, subject, message)
    except MailerException, e:
        log.error(e)
Example #14
0
def send_comment_notification_mail(recipient_name, recipient_email, dataset, comment):

    from ckanext.ytp_comments import email_template

    # Fill out the message template

    url = str(g.site_url) + toolkit.url_for(controller='package', action='read', id=dataset.id)

    if comment.user_id:
        userobj = model.User.get(comment.user_id)
        commenter_email = userobj.email
        commenter_name = userobj.name

    subject_vars = {
        'dataset': dataset.title
    }
    subject = email_template.subject.format(**subject_vars)

    message_vars = {
        'user': commenter_name,
        'email': commenter_email,
        'dataset': dataset.title,
        'link': url,
        'comment_subject': helpers.markdown_extract(comment.subject).strip(),
        'comment': helpers.markdown_extract(comment.comment).strip()
    }
    message = email_template.message.format(**message_vars)

    log.debug(subject)
    log.debug(message)

    # Locale fix
    current_locale = get_lang()
    locale = _get_safe_locale()

    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)
    # Finally mail the user and reset locale

    try:
        log.debug("LOCALE: " + str(locale))
        log.debug(subject)
        log.debug(message)

        mail_recipient(recipient_name, recipient_email, subject, message)
    except MailerException, e:
        log.error(e)
Example #15
0
    def logged_in(self):
        # we need to set the language via a redirect

        # Lang is not being retrieved properly by the Babel i18n lib in
        # this redirect, so using this clunky workaround for now.
        lang = session.pop('lang', None)
        if lang is None:
            came_from = request.params.get('came_from', '')
            if came_from.startswith('/fr'):
                lang = 'fr'
            else:
                lang = 'en'

        session.save()

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            context = None
            data_dict = {'id': c.user}

            user_dict = get_action('user_show')(context, data_dict)

            h.flash_success(
                _('<strong>Note</strong><br>{0} is now logged in').format(
                    user_dict['display_name']
                ),
                allow_html=True
            )

            notice_no_access()

            return h.redirect_to(
                controller='ckanext.canada.controller:CanadaController',
                action='home',
                locale=lang)
        else:
            h.flash_error(_('Login failed. Bad username or password.'))
            return h.redirect_to(
                controller='user',
                action='login', locale=lang
            )
Example #16
0
    def logged_in(self):
        # we need to set the language via a redirect

        # Lang is not being retrieved properly by the Babel i18n lib in
        # this redirect, so using this clunky workaround for now.
        lang = session.pop('lang', None)
        if lang is None:
            came_from = request.params.get('came_from', '')
            if came_from.startswith('/fr'):
                lang = 'fr'
            else:
                lang = 'en'

        session.save()

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            context = None
            data_dict = {'id': c.user}

            user_dict = get_action('user_show')(context, data_dict)

            h.flash_success(
                _('<strong>Note</strong><br>{0} is now logged in').format(
                    user_dict['display_name']
                ),
                allow_html=True
            )

            notice_no_access()

            return h.redirect_to(
                controller='ckanext.canada.controller:CanadaController',
                action='home',
                locale=lang)
        else:
            h.flash_error(_('Login failed. Bad username or password.'))
            return h.redirect_to(
                controller='user',
                action='login', locale=lang
            )
Example #17
0
def mail_new_membership_request(locale, admin, group_name, url, user_name,
                                user_email):
    # TODO: Set admin locale. Admin/user locale is stored at drupal database so may be a bit challenging to fetch it. We default to finnish for the time being
    current_locale = get_lang()
    i18n.set_lang("fi")

    subject = _SUBJECT_MEMBERSHIP_REQUEST() % {'organization': group_name}
    message = _MESSAGE_MEMBERSHIP_REQUEST() % {
        'user': user_name,
        'email': user_email,
        'organization': group_name,
        'link': url
    }

    try:
        mail_user(admin, subject, message)
    except Exception:
        log.exception("Mail could not be sent")
    finally:
        set_lang(current_locale)
def mail_new_membership_request(locale, admin, group_name, url, user_name, user_email):
    # TODO: Set admin locale. Admin/user locale is stored at drupal database so may be a bit challenging to fetch it. We default to finnish for the time being
    current_locale = get_lang()
    i18n.set_lang("fi")

    subject = _SUBJECT_MEMBERSHIP_REQUEST() % {
        'organization': group_name
    }
    message = _MESSAGE_MEMBERSHIP_REQUEST() % {
        'user': user_name,
        'email': user_email,
        'organization': group_name,
        'link': url
    }

    try:
        mail_user(admin, subject, message)
    except Exception:
        log.exception("Mail could not be sent")
    finally:
        set_lang(current_locale)
Example #19
0
File: logic.py Project: haphut/ytp
def _mail_new_membership_request(locale, admin, group_name, url, user_name, user_email):
    current_locale = get_lang()

    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)
    subject = _SUBJECT_MEMBERSHIP_REQUEST() % {
        'organization': group_name
    }
    message = _MESSAGE_MEMBERSHIP_REQUEST() % {
        'user': user_name,
        'email': user_email,
        'organization': group_name,
        'link': url
    }

    try:
        mail_user(admin, subject, message)
    except MailerException, e:
        log.error(e)
Example #20
0
def _mail_process_status(locale, member_user, approve, group_name, capacity):
    current_locale = get_lang()
    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)

    role_name = _(capacity)

    subject = hdx_util._SUBJECT_MEMBERSHIP_APPROVED if approve else hdx_util._SUBJECT_MEMBERSHIP_REJECTED
    message_template = hdx_util._MESSAGE_MEMBERSHIP_APPROVED if approve else hdx_util._MESSAGE_MEMBERSHIP_REJECTED

    message = message_template.format(**{
        'role': role_name,
        'organization': group_name
    })
    try:
        hdx_mail.send_mail(
            [{'display_name': member_user.display_name or member_user.fullname, 'email': member_user.email}],
            subject, message)
    except MailerException, e:
        log.error(e)
Example #21
0
def mail_new_membership_request(locale, admin, group_name, url, user_name, user_email):
    current_locale = get_lang()
    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)

    subject = _SUBJECT_MEMBERSHIP_REQUEST() % {
        'organization': group_name
    }
    message = _MESSAGE_MEMBERSHIP_REQUEST() % {
        'user': user_name,
        'email': user_email,
        'organization': group_name,
        'link': url
    }

    try:
        _mail_user(admin, subject, message, context="Admin")
    except Exception:
        log.exception("Mail could not be sent")
    finally:
        set_lang(current_locale)
Example #22
0
def load_translations(lang):
    # Register a translator in this thread so that
    # the _() functions in logic layer can work
    from paste.registry import Registry
    from pylons import translator
    from pylons import request
    registry = Registry()
    registry.prepare()

    class FakePylons:
            translator = None
    fakepylons = FakePylons()

    class FakeRequest:
        # Stores details of the translator
        environ = {'pylons.pylons': fakepylons}
    registry.register(request, FakeRequest())

    # create translator
    i18n.set_lang(lang)

    # pull out translator and register it
    registry.register(translator, fakepylons.translator)
Example #23
0
    def logged_in(self):
        # we need to set the language via a redirect
        lang = session.pop("lang", None)
        session.save()

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            context = None
            data_dict = {"id": c.user}

            user_dict = get_action("user_show")(context, data_dict)

            h.flash_success(
                _("<p><strong>Note</strong></p>" "<p>%s is now logged in</p>") % user_dict["display_name"],
                allow_html=True,
            )
            return h.redirect_to(controller="package", action="search", locale=lang)
        else:
            h.flash_error(_("Login failed. Bad username or password."))
            return h.redirect_to(controller="user", action="login", locale=lang)
    def logged_in(self):
        # we need to set the language via a redirect
        lang = session.pop('lang', None)
        session.save()

        # we need to set the language explicitly here or the flash
        # messages will not be translated.
        i18n.set_lang(lang)

        if c.user:
            context = None
            data_dict = {'id': c.user}

            user_dict = get_action('user_show')(context, data_dict)

            h.flash_success(_("<p><strong>Note</strong></p>"
                "<p>%s is now logged in</p>") %
                user_dict['display_name'], allow_html=True)
            return h.redirect_to(controller='package',
                action='search', locale=lang)
        else:
            h.flash_error(_('Login failed. Bad username or password.'))
            return h.redirect_to(controller='user',
                action='login', locale=lang)
Example #25
0
    def identify(self):
        log.info('identify')
        #set language as default to be able to translate flash messages
        lang = request.environ.get('CKAN_LANG')
        if lang and lang=='sk':
            i18n.set_lang('sk')
        c = toolkit.c
        environ = toolkit.request.environ
        user = environ.get('REMOTE_USER', '')
        log.info('environ user %s', user)
        if user:
            identity = environ.get("repoze.who.identity", {})
            user_data = identity.get("attributes", {})
            ticket = identity.get("ticket", '')
            user_id = identity.get("repoze.who.userid")
            if not (user_data or user_id):
                log.info("redirect to logged_out")
                delete_cookies()
                return h.redirect_to(controller='user', action='logged_out')
            
            if not user_data:
                user_ticket = pylons.session.get('ckanext-cas-ticket', '')
                if user_ticket:
                    if is_ticket_valid(user_ticket):
                        c.userobj = model.User.get(user_id)
                    else:
                        log.info("redirect to logged_out")
                        environ['REMOTE_USER'] = None
                        environ['repoze.who.identity'] = None
                        delete_cookies()
                        h.flash_notice(toolkit._('You were logged out in another app'))
                        return #h.redirect_to(controller='home', action='index')
                else:
                    c.userobj = model.User.get(user_id)
            else:
                subject_id = user_data['Subject.UPVSIdentityID'][0]
                actor_id = user_data['Actor.UPVSIdentityID'][0]
                success = insert_entry(ticket, subject_id, actor_id)
                if not success:
                    log.info("same ticket in DB - consistency error")
                pylons.session['ckanext-cas-ticket'] = ticket
                pylons.session.save()
                self._create_user(user_data, 'Actor')
                if actor_id!=subject_id:
                    self._create_user(user_data, 'Subject')
                    log.debug('jedna sa o zastupovanie subjectu %s actorom %s', subject_id, actor_id)
                    spr_roles = user_data.get('SPR.Roles','')
                    if self._subject_is_org(subject_id) and not 'MOD-R-PO' in spr_roles:
                        identity["repoze.who.userid"] = actor_id
                        pylons.session['ckanext-cas-actorid'] = subject_id
                        pylons.session.save()
                        c.userobj = model.User.get(actor_id)
                        h.flash_notice(toolkit._('You are not allowed to act as {0} in data.gov.sk').format(user_data['Subject.FormattedName'][0]))
                    else:
                        identity["repoze.who.userid"] = subject_id
                        pylons.session['ckanext-cas-actorid'] = actor_id
                        pylons.session.save()
                        c.userobj = model.User.get(subject_id)
                else:
                    c.userobj = model.User.get(subject_id)
                                    
            #set c.user -> CKAN logic
            log.debug('c.userobj: %s',c.userobj)
            c.user = c.userobj.name


            if user_data:
                spr_roles = user_data.get('SPR.Roles','')
                subject_id = user_data['Subject.UPVSIdentityID'][0]
                actor_id = user_data['Actor.UPVSIdentityID'][0]
                log.debug("SPR roles: %s", spr_roles)
                pylons.session['ckanext-cas-roles'] = spr_roles
                pylons.session.save()
                if 'MOD-R-PO' in spr_roles:
                    org_id = user_data['Subject.UPVSIdentityID'][0]
                    org_name = user_data.get('Subject.Username',user_data['Subject.UPVSIdentityID'])[0]
                    org_title = user_data['Subject.FormattedName'][0]
                    self.create_organization(org_id, org_name, org_title)
                if c.user:
                    toolkit.get_action('auditlog_send')(data_dict={'event_name' : 'user_login',
                                                                   'subject' : user_data['Subject.UPVSIdentityID'][0],
                                                                   'authorized_user' : user_data['Actor.UPVSIdentityID'][0],
                                                                   'description' : 'User login to CKAN from IP {0}'.format(environ.get('REMOTE_ADDR', '')),
                                                                   'object_reference' : 'UserID://' + user_data['Subject.UPVSIdentityID'][0],
                                                                   'debug_level' : 2,
                                                                   'error_code' : 0})
                else:
                    toolkit.get_action('auditlog_send')(data_dict={'event_name' : 'user_login',
                                                                   'subject' : user_data['Subject.UPVSIdentityID'][0],
                                                                   'authorized_user' : user_data['Actor.UPVSIdentityID'][0],
                                                                   'description' : 'User login to CKAN from IP {0}'.format(environ.get('REMOTE_ADDR', '')),
                                                                   'object_reference' : 'UserID://' + user_data['Subject.UPVSIdentityID'][0],
                                                                   'debug_level' : 1,
                                                                   'error_code' : 1})
        else:
            delete_session_items()
Example #26
0
        'dataset': dataset.title,
        'link': url,
        'comment_subject': helpers.markdown_extract(comment.subject).strip(),
        'comment': helpers.markdown_extract(comment.comment).strip()
    }
    message = email_template.message.format(**message_vars)

    log.debug(subject)
    log.debug(message)

    # Locale fix
    current_locale = get_lang()
    locale = _get_safe_locale()

    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)
    # Finally mail the user and reset locale

    try:
        log.debug("LOCALE: " + str(locale))
        log.debug(subject)
        log.debug(message)

        mail_recipient(recipient_name, recipient_email, subject, message)
    except MailerException, e:
        log.error(e)
    finally:
        set_lang(current_locale)
Example #27
0
        'dataset': dataset.title,
        'link': url,
        'comment_subject': helpers.markdown_extract(comment.subject).strip(),
        'comment': helpers.markdown_extract(comment.comment).strip()
    }
    message = email_template.message.format(**message_vars)

    log.debug(subject)
    log.debug(message)

    # Locale fix
    current_locale = get_lang()
    locale = _get_safe_locale()

    if locale == 'en':
        _reset_lang()
    else:
        set_lang(locale)
    # Finally mail the user and reset locale

    try:
        log.debug("LOCALE: " + str(locale))
        log.debug(subject)
        log.debug(message)

        mail_recipient(recipient_name, recipient_email, subject, message)
    except MailerException, e:
        log.error(e)
    finally:
        set_lang(current_locale)