Example #1
0
def password_reset_request(event):
    user = get_profile(event.principal_id, "basic")
    f = open_file('mail/password_reset_request.tmpl', __file__)

    site = hooks.getSite()
    site_url = absoluteURL(site, event.req)
    page_link = u'%s/password_reset' % site_url
    full_link = u'%s?login=%s&code=%s' % (page_link, event.login, event.code)
    dc = IZopeDublinCore(site)

    data = {'name': user.name,
            'code': event.code,
            'page_link': page_link,
            'full_link': full_link,
            'site_title': dc.title,
            'site_url': site_url}

    message = Template(file=f, searchList=[data])

    subject = u'Password reset request'
    send_mail(message,
              subject,
              user.email,
              subtype='html',
              from_header=dc.title,
              to_header=user.name)
Example #2
0
def password_reset_request(event):
    user = get_profile(event.principal_id, "basic")
    f = open_file('mail/password_reset_request.tmpl', __file__)

    site = hooks.getSite()
    site_url = absoluteURL(site, event.req)
    page_link = u'%s/password_reset' % site_url
    full_link = u'%s?login=%s&code=%s' % (page_link, event.login, event.code)
    dc = IZopeDublinCore(site)

    data = {
        'name': user.name,
        'code': event.code,
        'page_link': page_link,
        'full_link': full_link,
        'site_title': dc.title,
        'site_url': site_url
    }

    message = Template(file=f, searchList=[data])

    subject = u'Password reset request'
    send_mail(message,
              subject,
              user.email,
              subtype='html',
              from_header=dc.title,
              to_header=user.name)
Example #3
0
    def update(self):
        auth = getUtility(IAuthentication)
        principalfolder = auth[u'principalfolder']

        delete = self.request.get('form.delete.submit')
        reset = self.request.get('form.delete.reset')

        if delete:
            ids = self.request.get('delete')
            if ids:
                for i in ids:
                    del principalfolder[i]

        if self.request.get('form.add.submit'):
            login = self.request.get('user_login')
            name = self.request.get('user_name')
            email = self.request.get('user_email')
            password = self.request.get('user_password')

            if login and name and password and email:
                ip = InternalPrincipal(login, password, login, u'', 'SSHA')
                principalfolder[login] = ip

                profile = get_profile("principal.%s" % login, "basic")
                profile.name = name
                profile.email = email

        if reset or delete:
            self.start = 0
        else:
            self.start = int(self.request.get('start') or self.start)

        search = self.request.get('search')
        names = principalfolder.search({'search': search or ''}, self.start, self.batch_size)

        self.result = []
        for x in names:
            internal_principal = principalfolder[x[len(principalfolder.prefix):]]
            name = IBasicProfile(auth.getPrincipal(x)).name
            self.result.append({'intprin': internal_principal, 'name': name})

        self.total = len(principalfolder)
        self.end = self.start + len(self.result)
        self.more = self.total > self.end and not bool(search)
Example #4
0
 def send(self, message, subject):
     for pid in self.subscribers.keys():
         profile = get_profile(pid, "basic")
         send_mail(message, subject, profile.email)
Example #5
0
 def send(self, message, subject):
     for pid in self.subscribers.keys():
         profile = get_profile(pid, "basic")
         send_mail(message, subject, profile.email)