Пример #1
0
 def no_submitter_email(self):
     """True if there's no way to get email address for the submitter."""
     if self.submitter_email:
         return 0
     if self.submitter_id != str(self.acl_users._nobody):
         member = self.portal_membership.getMemberById(self.submitter_id)
         if member:
             email_pref = util.safeGetProperty(member, 'email', '')
             return not email_pref
     return 1
Пример #2
0
 def no_submitter_email(self):
     """True if there's no way to get email address for the submitter."""
     if self.submitter_email:
         return 0
     if self.submitter_id != str(self.acl_users._nobody):
         member = self.portal_membership.getMemberById(self.submitter_id)
         if member:
             email_pref = util.safeGetProperty(member, 'email', '')
             return not email_pref
     return 1
Пример #3
0
    def _set_submitter_specs(self, submitter_id,
                             submitter_name, submitter_email):
        """Given an id, set the name and email as warranted."""

        mbrtool = getToolByName(self, 'portal_membership')
        user = mbrtool.getMemberById(submitter_id)
        changes = []
        if self.submitter_id != submitter_id:
            if user is None:
                if ((string.lower(submitter_id[:len('anonymous')])
                     == 'anonymous')
                    or not submitter_id):
                    user = self.acl_users._nobody
                    submitter_id = str(user)
                else:
                    raise ValueError, "User '%s' not found" % submitter_id
            changes.append("Submitter id: '%s' => '%s'" % (self.submitter_id,
                                                           submitter_id))
            self.submitter_id = submitter_id

        if not submitter_name:
            name = util.safeGetProperty(user, 'full_name', '')
            if name: submitter_name = name
            else: submitter_name = submitter_id
        if self.submitter_name != submitter_name:
            changes.append('submitter name')
            self.submitter_name = submitter_name
        email_pref = util.safeGetProperty(user, 'email', '')
        if submitter_email and submitter_email == email_pref:
            # A bit different than you'd expect: only stash the specified
            # email if it's different than the member-preference.  Otherwise,
            # stash None, so the preference is tracked at send time.
            submitter_email = None
        if self.submitter_email != submitter_email:
            changes.append("submitter email")
            self.submitter_email = submitter_email
        return changes
Пример #4
0
    def _set_submitter_specs(self, submitter_id,
                             submitter_name, submitter_email):
        """Given an id, set the name and email as warranted."""

        mbrtool = getToolByName(self, 'portal_membership')
        user = mbrtool.getMemberById(submitter_id)
        changes = []
        if self.submitter_id != submitter_id:
            if user is None:
                if ((string.lower(submitter_id[:len('anonymous')])
                     == 'anonymous')
                    or not submitter_id):
                    user = self.acl_users._nobody
                    submitter_id = str(user)
                else:
                    raise ValueError, "User '%s' not found" % submitter_id
            changes.append("Submitter id: '%s' => '%s'" % (self.submitter_id,
                                                           submitter_id))
            self.submitter_id = submitter_id

        if not submitter_name:
            name = util.safeGetProperty(user, 'full_name', '')
            if name: submitter_name = name
            else: submitter_name = submitter_id
        if self.submitter_name != submitter_name:
            changes.append('submitter name')
            self.submitter_name = submitter_name
        email_pref = util.safeGetProperty(user, 'email', '')
        if submitter_email and submitter_email == email_pref:
            # A bit different than you'd expect: only stash the specified
            # email if it's different than the member-preference.  Otherwise,
            # stash None, so the preference is tracked at send time.
            submitter_email = None
        if self.submitter_email != submitter_email:
            changes.append("submitter email")
            self.submitter_email = submitter_email
        return changes