コード例 #1
0
 def get_analyst(self, collection):
     model = collection[0]
     analyses = self.get_analyses_by([model])
     actor = getTransitionUsers(analyses[0], 'submit')
     user = actor[0] if actor else ''
     user = api.get_user(user)
     return user.fullname
コード例 #2
0
 def getAnalystName(self):
     """Returns the name of the currently assigned analyst
     """
     analyst = self.getAnalyst()
     if not analyst:
         return ""
     user = api.get_user(analyst.strip())
     return user and user.getProperty("fullname") or analyst
コード例 #3
0
ファイル: labcontact.py プロジェクト: rollomix92/senaite.core
 def hasUser(self):
     """Check if contact has user
     """
     username = self.getUsername()
     if not username:
         return False
     user = api.get_user(username)
     return user is not None
コード例 #4
0
 def _get_fullname_from_user_id(self, userid, default=""):
     """Try the fullname of the user
     """
     fullname = default
     user = api.get_user(userid)
     if user:
         props = api.get_user_properties(user)
         fullname = props.get("fullname", fullname)
         contact = api.get_user_contact(user)
         fullname = contact and contact.getFullname() or fullname
     return fullname
コード例 #5
0
 def get_verifier(self, collection):
     model = collection[0]
     analyses = self.get_analyses_by([model])
     actor = getTransitionUsers(analyses[0], 'verify')
     user_name = actor[0] if actor else ''
     user = api.get_user(user_name)
     roles = ploneapi.user.get_roles(username=user_name)
     date_verified = self.to_localized_time(model.getDateVerified())
     return {
         "fullname": user.fullname,
         'role': roles[0],
         'date_verified': date_verified
     }
コード例 #6
0
 def verifiers(self):
     """Returns a list of user objects
     """
     out = []
     userids = reduce(
         lambda v1, v2: v1 + v2,
         map(lambda v: v.Verificators.split(","), self.Analyses))
     for userid in set(userids):
         user = api.get_user(userid)
         if user is None:
             logger.warn("Could not find user '{}'".format(userid))
             continue
         out.append(user)
     return out
コード例 #7
0
ファイル: contact.py プロジェクト: nassimcha/sencua
    def _create_user(self):
        """Create a new user
        """
        def error(field, message):
            if field:
                message = "%s: %s" % (field, message)
            self.context.plone_utils.addPortalMessage(message, 'error')
            return self.request.response.redirect(self.context.absolute_url() +
                                                  "/login_details")

        form = self.request.form
        contact = self.context

        password = safe_unicode(form.get('password', '')).encode('utf-8')
        username = safe_unicode(form.get('username', '')).encode('utf-8')
        confirm = form.get('confirm', '')
        email = safe_unicode(form.get('email', '')).encode('utf-8')

        if not username:
            return error('username', PMF("Input is required but not given."))

        if not email:
            return error('email', PMF("Input is required but not given."))

        reg_tool = self.context.portal_registration
        # properties = self.context.portal_properties.site_properties
        # if properties.validate_email:
        #     password = reg_tool.generatePassword()
        # else:
        if password != confirm:
            return error('password', PMF("Passwords do not match."))

        if not password:
            return error('password', PMF("Input is required but not given."))

        if not confirm:
            return error('password', PMF("Passwords do not match."))

        if len(password) < 5:
            return error(
                'password',
                PMF("Passwords must contain at least 5 "
                    "characters."))
        for user in self.get_users():
            userid = user.get("id", None)
            if userid is None:
                continue
            user_obj = api.get_user(userid)
            if user_obj.getUserName() == username:
                msg = "Username {} already exists, please, choose " \
                      "another one.".format(username)
                return error(None, msg)

        try:
            reg_tool.addMember(username,
                               password,
                               properties={
                                   'username': username,
                                   'email': email,
                                   'fullname': username
                               })
        except ValueError, msg:
            return error(None, msg)