示例#1
0
    def post(self):
        ps = self.get_page_config(title = '创建应用')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑应用')

        app = self.get_args(['code', 'name', 'developer', 'url', 'remark'], '')
        app['status'] = int(self.get_arg('status', '0'))        
        ps['app'] = app        
        msg = self.check_str_empty_input(app, ['code', 'name', 'url'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/application/add_or_edit_bs.html', **ps)
            return
        codeType = str_helper.check_num_abc__(app['code'])
        if codeType == False:
            ps['msg'] = state.ResultInfo.get(101006, '')
            self.render('admin/application/add_or_edit_bs.html', **ps)
            return
        app['user'] = self.get_oper_user()
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            try:
                oa = application_logic.query_one(app['code'])
                info = application_logic.update(name = app['name'], code = app['code'], 
                        developer = app['developer'], url = app['url'], status = app['status'], remark = app['remark'], user = app['user'])
                if info:                    
                    na = application_logic.query_one(app['code'])
                    self.write_oper_log(action = 'appEdit', targetType = 2, targetID = oa['code'], targetName = oa['name'], startStatus = str_helper.json_encode(oa), endStatus= str_helper.json_encode(na))
                    ps = self.get_ok_and_back_params(ps = ps, refUrl = ps['refUrl'])
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.RightError as e:
                ps['msg'] = e.msg
        else:
            self.check_oper_right(right = state.operAdd)
            try:
                info = application_logic.add(name = app['name'], code = app['code'], 
                    developer = app['developer'], url = app['url'], status = app['status'], remark = app['remark'], user = app['user'])
                if info:
                    # funcname = app['name'] + '管理'
                    # self._add_app_func(name = funcname, code= app['code'], user = app['user'])
                    na = application_logic.query_one(app['code'])
                    self.write_oper_log(action = 'appCreate', targetType = 2, targetID = na['code'], targetName = na['name'], startStatus = '', endStatus= str_helper.json_encode(na))
                    ps = self.get_ok_and_back_params(ps = ps, refUrl = ps['refUrl'])
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.RightError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/application/add_or_edit_bs.html', **ps)
示例#2
0
    def get(self):
        ps = self.get_page_config(title='创建应用',
                                  refUrl=config.SOCRightConfig['siteDomain'] +
                                  'Admin/Application/List')
        if ps['isedit']:
            self.check_oper_right(right=state.operEdit)

            ps['title'] = self.get_page_title('编辑应用')
            code = self.get_arg('code', '')
            app = application_logic.query_one(code)
            if None == app:
                ps['msg'] = state.ResultInfo.get(1002, '')
                app = {
                    'code': '',
                    'name': '',
                    'developer': '',
                    'url': '',
                    'remark': '',
                    'status': 1,
                    'creater': '',
                    'createTime': '',
                    'lastUpdater': '',
                    'lastUpdateTime': ''
                }
        else:
            self.check_oper_right(right=state.operAdd)
            app = self.get_args(['code', 'name', 'developer', 'url', 'remark'],
                                '')
            app['status'] = int(self.get_arg('status', '0'))
        ps['app'] = app
        self.render('admin/application/add_or_edit_bs.html', **ps)
示例#3
0
def get_goto_user_url( userID, appCode, ip, backUrl = ''):
    '''   
        保存为这样的格式:
        {"id": 1, "tel": "123", "email": "*****@*****.**", "name": "\u4f59\u6d77", "rights": 
            [{"id":12, "path":"xx.aa", "realName":"abc","right":1, "customRight": [1,2,3]}, {"id":13, "path":"xx.aa.bb","right":1, "customRight": []}]}

{"code":0,"msg":"OK","data":{"tel": "123", "name": "yuhai", "rights": [{"path": "SOCRight.Login", "right": 15, "id": 18, "customRight": []}, 
{"path": "SOCRight.AppManager", "right": 15, "id": 9, "customRight": []}, {"path": "SOCRight.FuncManager", "right": 15, "id": 10, "customRight": [1, 2]},
{"path": "SOCRight.UserManager", "right": 15, "id": 11, "customRight": []}, {"path": "SOCRight.UserManager.UserBindRoleManager", "right": 15, "id": 14, "customRight": []},
{"path": "SOCRight.UserGroupManager", "right": 15, "id": 12, "customRight": []}, 
{"path": "SOCRight.UserGroupManager.UserGroupBindRoleManager", "right": 15, "id": 15, "customRight": []}, 
{"path": "SOCRight.UserGroupManager.UserGroupBindUserManager", "right": 15, "id": 16, "customRight": []}, {"path": "SOCRight.RoleManager", "right": 15, "id": 13, "customRight": []}, 
{"path": "SOCRight.RoleManager.RoleBindRightManager", "right": 15, "id": 17, "customRight": []}], "mobile": "123", "id": 1, "email": "*****@*****.**", "realName": "\u4f59\u6d77"}}
    '''
    u = query_one(userID)
    if None == u:
        return None
    user = {}
    user['id'] = u['id']
    user['realName'] = u['realName']
    user['email'] = u['email']
    user['mobile'] = u['mobile']
    user['tel'] = u['tel']
    user['name'] = u['name']

    funcs = query_user_app_right(userID = userID, appCode = appCode)
    rights = []
    rightType = False
    if None != funcs and len(funcs) > 0:
        for func in funcs:
            right = {}
            right['id'] = func['id']
            right['path'] = func['path']
            right['right'] = func.get('right', 0)
            if right['right'] > 0 and not rightType:
                rightType = True
            cr = []
            if func['customJson'] != None:
                for j in func['customJson']:
                    if j['right']:
                        cr.append(j['k'])
            right['customRight'] = cr
            rights.append(right)
    
    user['rights'] = rights    
    uuid = str_helper.get_uuid()            
    redis_cache.setObj(uuid, user, config.cache['userRightTimeOut'])
    params = {'token':uuid}
    if backUrl != '':
        gotoUrl = str_helper.format_url(url = backUrl, params = params)
    else:
        app = application_logic.query_one(code = appCode)
        gotoUrl = str_helper.format_url(url = app['url'], params = params)
    update_goto_app(name = user['name'], appCode = appCode, ip = ip)
    return gotoUrl
示例#4
0
 def get(self):
     ps = self.get_page_config(title = '应用详情')
     code = self.get_arg('code', '')
     app = application_logic.query_one(code)
     if None == app:
         ps['msg'] = state.ResultInfo.get(1002, '')
         ps['gotoUrl'] = ps['siteDomain'] + 'Admin/Application/List'
         app = {'code':'','name':'','developer':'','url':'','remark':'','status':1,'creater':'','createTime':'','lastUpdater':'','lastUpdateTime':''}
     
     ps['app'] = app
     self.render('admin/application/detail.html', **ps)
示例#5
0
    def get(self):
        ps = self.get_page_config(title = '创建应用', refUrl = config.SOCRightConfig['siteDomain'] + 'Admin/Application/List')
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)

            ps['title'] = self.get_page_title('编辑应用')
            code = self.get_arg('code', '')
            app = application_logic.query_one(code)
            if None == app:
                ps['msg'] = state.ResultInfo.get(1002, '')                
                app = {'code':'','name':'','developer':'','url':'','remark':'','status':1,'creater':'','createTime':'','lastUpdater':'','lastUpdateTime':''}
        else:
            self.check_oper_right(right = state.operAdd)
            app = self.get_args(['code', 'name', 'developer', 'url', 'remark'], '')
            app['status'] = int(self.get_arg('status', '0'))        
        ps['app'] = app
        self.render('admin/application/add_or_edit.html', **ps)
示例#6
0
    def get(self):
        ps = self.get_page_config(title='应用详情')
        code = self.get_arg('code', '')
        app = application_logic.query_one(code)
        if None == app:
            ps['msg'] = state.ResultInfo.get(1002, '')
            ps['gotoUrl'] = ps['siteDomain'] + 'Admin/Application/List'
            app = {
                'code': '',
                'name': '',
                'developer': '',
                'url': '',
                'remark': '',
                'status': 1,
                'creater': '',
                'createTime': '',
                'lastUpdater': '',
                'lastUpdateTime': ''
            }

        ps['app'] = app
        self.render('admin/application/detail_bs.html', **ps)
示例#7
0
    def post(self):
        ps = self.get_page_config(title='创建应用')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑应用')

        app = self.get_args(['code', 'name', 'developer', 'url', 'remark'], '')
        app['status'] = int(self.get_arg('status', '0'))
        ps['app'] = app
        msg = self.check_str_empty_input(app, ['code', 'name', 'url'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/application/add_or_edit_bs.html', **ps)
            return
        codeType = str_helper.check_num_abc__(app['code'])
        if codeType == False:
            ps['msg'] = state.ResultInfo.get(101006, '')
            self.render('admin/application/add_or_edit_bs.html', **ps)
            return
        app['user'] = self.get_oper_user()
        if ps['isedit']:
            self.check_oper_right(right=state.operEdit)
            try:
                oa = application_logic.query_one(app['code'])
                info = application_logic.update(name=app['name'],
                                                code=app['code'],
                                                developer=app['developer'],
                                                url=app['url'],
                                                status=app['status'],
                                                remark=app['remark'],
                                                user=app['user'])
                if info:
                    na = application_logic.query_one(app['code'])
                    self.write_oper_log(action='appEdit',
                                        targetType=2,
                                        targetID=oa['code'],
                                        targetName=oa['name'],
                                        startStatus=str_helper.json_encode(oa),
                                        endStatus=str_helper.json_encode(na))
                    ps = self.get_ok_and_back_params(ps=ps,
                                                     refUrl=ps['refUrl'])
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.RightError as e:
                ps['msg'] = e.msg
        else:
            self.check_oper_right(right=state.operAdd)
            try:
                info = application_logic.add(name=app['name'],
                                             code=app['code'],
                                             developer=app['developer'],
                                             url=app['url'],
                                             status=app['status'],
                                             remark=app['remark'],
                                             user=app['user'])
                if info:
                    # funcname = app['name'] + '管理'
                    # self._add_app_func(name = funcname, code= app['code'], user = app['user'])
                    na = application_logic.query_one(app['code'])
                    self.write_oper_log(action='appCreate',
                                        targetType=2,
                                        targetID=na['code'],
                                        targetName=na['name'],
                                        startStatus='',
                                        endStatus=str_helper.json_encode(na))
                    ps = self.get_ok_and_back_params(ps=ps,
                                                     refUrl=ps['refUrl'])
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.RightError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/application/add_or_edit_bs.html', **ps)