Example #1
0
 def after_add(self, entity_obj, sf, req):
     length = len(str(sf.query(func.count(Archives.id)).scalar()))
     obj = sf.query(Archives).get(entity_obj.id)
     max_length = AppSettingHelper.get("s_usr_code_fmt_length", "5")
     prefix = AppSettingHelper.get("s_usr_code_prefix", "P")
     if length > Utils.parse_int(max_length):
         max_length = "%s" % (length + 1)
     fmt = prefix + "%0" + max_length + "d"
     obj.code = fmt % entity_obj.id
     sf.commit()
Example #2
0
 def load(self):
     usr = self.request.current_user
     level_u = UserSettingHelper(usr)
     level_u_ = level_u.load()
     level_s = AppSettingHelper.load()
     level_all = dict(level_u_, **level_s)
     return level_all
Example #3
0
 def init():
     AppSettingHelper.load()
     #Create Root Category
     helper = CategoryHelper("ROOT")
     if not helper.exists("ROOT"):
         helper.create("ROOT")
     role_id = Loader.create_super_role()
     if not role_id:
         return
     Loader.create_root_account(role_id)
     Loader.create_base_securitypoints()
     Loader.assign_points_to_superadmin(role_id)
     #自定义加载
     for cls in ObjectPool.server_starups:
         obj = cls()
         if hasattr(obj, "load"):
             obj.load()
Example #4
0
 def get(self, *args, **kwargs):
     """
     render login form
     :param args:
     :param kwargs:
     """
     allowd_register = AppSettingHelper.get("s_usr_register_open", "N")
     opt = dict()
     opt["allowd_register"] = allowd_register
     self.render("login.html", opt=opt)
Example #5
0
    def save(self):
        kv = self.request.wrap_params_to_dict()
        level_user = dict()
        level_system = dict()
        for k in kv:
            if k.startswith("u_"):
                level_user[k] = kv[k]
            elif k.startswith("s_"):
                level_system[k] = kv[k]
        AppSettingHelper.set(level_system)
        u = UserSettingHelper("%s" % self.request.current_user)
        u.set(level_user)

        #允许用户在设置保存之后再做其它数据变更
        items = ObjectPool.setting
        for k in items.keys():
            obj = items[k].cls()
            if hasattr(obj, "save"):
                msg = obj.save(kv, self.request)
                if msg:
                    return msg

        AppSettingHelper.reload()
        return "success"
Example #6
0
    def create(login_id, pwd, archives_id=None, enabled=0):
        cnn = SessionFactory.new()
        obj = Account()
        obj.login_name = login_id
        obj.login_pwd = Utils.md5(pwd)
        obj.create_time = Utils.current_datetime()
        obj.enabled = enabled
        obj.archives_id = archives_id
        cnn.add(obj)
        cnn.flush()

        default_role_id = Utils.parse_int(AppSettingHelper.get("s_usr_register_default_role_name", "0"))
        if default_role_id > 0:
            default_role = cnn.query(Role).get(default_role_id)
            if default_role:
                obj.roles.append(default_role)

        cnn.commit()
        return obj.id
Example #7
0
    def create(self):
        account_name = self.param("account_name")
        if not account_name:
            return "AccountNameRequired"
        email = self.param("email")
        if not email:
            return "EmailRequired"
        pwd = self.param("pwd")
        if not pwd:
            return "PwdRequired"
        agree = self.param("agree")
        print(agree)
        if not agree:
            return "AgreeRequired"
        re_pwd = self.param("re_pwd")
        if pwd != re_pwd:
            return "PwdNotSame"

        sf = SessionFactory.new()
        num = sf.query(func.count(Account.id)).filter(Account.login_name == account_name).scalar()
        if num > 0:
            return "AccountExists"
        num = sf.query(func.count(Archives.id)).filter(Archives.email == email).scalar()
        if num > 0:
            return "EmailExists"

        #create a person
        length = len(str(sf.query(func.count(Archives.id)).scalar()))
        max_length = AppSettingHelper.get("s_usr_code_fmt_length", "5")
        prefix = AppSettingHelper.get("s_usr_code_prefix", "P")
        if length > Utils.parse_int(max_length):
            max_length = "%s" % (length + 1)
        fmt = prefix + "%0" + max_length + "d"

        p = Archives()
        p.email = email
        p.name = Utils.email_account_name(email)
        p.join_date = Utils.current_datetime()
        sf.add(p)
        sf.flush()
        p.code = fmt % p.id

        u = Account()
        u.login_name = account_name
        u.login_pwd = Utils.md5(pwd)
        u.create_time = Utils.current_datetime()
        u.last_logon_time = Utils.current_datetime()
        u.enabled = 1
        u.archives_id = p.id
        sf.add(u)
        sf.flush()

        default_role_id = Utils.parse_int(AppSettingHelper.get("s_usr_register_default_role_name", 0))
        if default_role_id > 0:
            default_role = sf.query(Role).get(default_role_id)
            if default_role:
                u.roles.append(default_role)

        sf.commit()

        self.request.set_secure_cookie(IRequest.__key_account_id__, "%i" % u.id)
        self.request.set_secure_cookie(IRequest.__key_account_name__, email)
        return "Success"
Example #8
0
 def get(self, *args, **kwargs):
     allowd_register = AppSettingHelper.get("s_usr_register_open", "N")
     opt = dict()
     opt["allowd_register"] = allowd_register
     self.render("reg.html", opt=opt)