Exemple #1
0
 def _format_project_tasks(self, tasks, isEdit):
     ''' 格式化任务列表。需要格式化 preindex, level '''
     if None == tasks or len(tasks) <= 0:
         tasks = []
         if isEdit:
             tasks.append({'startDate': str_helper.get_now_datestr(), 'endDate': str_helper.get_now_datestr(),
                 'date': 1, 'parentID': 0, 'id': 0, 'preindex': 0, 'sort': 1, 'preID': 0, 'users': '', 
                 'degree': 0, 'userName': '', 'name': '', 'level': 1, 'status': 0, 'userRealName': ''})
         return tasks
     indexMap = {}
     #格式化 statusname,level        
     for task in tasks:
         if task['parentID'] == 0:
             task['level'] = 1
         else:
             task['level'] = indexMap.get(task['parentID'], {}).get('level', 0) + 1
         indexMap[task['id']] = {'index': task['sort'], 'level':task['level']}
     #格式化 preindex
     temp = []
     for task in tasks:
         if task['preID'] > 0:
             task['preindex'] = indexMap.get(task['preID'], {}).get('index', 0)
         else:
             task['preindex'] = 0
         temp.append(task)
     return temp
Exemple #2
0
    def get(self):
        # type = self.check_oper_right_custom_right(self._rightKey, self._exportUserKey)
        # if type == False:
        #     self.redirect(config.SOCRightConfig['siteDomain']+'Admin/NotRight')
        #     return

        import sys
        reload(sys)                        
        sys.setdefaultencoding('utf-8')    
        ps = self.get_page_config(title = '导出角色用户列表Excel')

        role = {}
        role['id'] = int(self.get_arg('id', '0'))
        role = role_logic.query_one(id = role['id'])
        ps['userName'] = self.get_arg('userName', '')        
        ps['page'] = int(self.get_arg('page', '1'))
        ps['pagedata'] = user_logic.query_page_by_roleid(roleID = role['id'], userName = ps['userName'], page = 1, size = 99999)

        users = ps['pagedata']['data']

        #生成excel文件
        info = u'''<table><tr><td>用户ID</td><td>用户名</td><td>姓名</td><td>部门名称</td><td>角色ID</td><td>角色名</td></tr>'''

        for user in users:
            u = u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>''' % (str(user['id']), user['name'], user['realName'], 
                        user['departmentName'], role['id'], role['name'] )
            info = info + u
        info = info + u'</table>'
        fileName = config.SOCRightConfig['exportUserPath'] + str_helper.get_now_datestr() +'_'+ str_helper.get_uuid() + '.xls'

        path = config.SOCRightConfig['realPath'] + fileName
        file_object = open(path, 'w')
        file_object.write(info)
        file_object.close( )    
        self.redirect(config.SOCRightConfig['siteDomain']+fileName)
Exemple #3
0
    def get(self):
        ps = self.get_page_config(title = '创建用户', refUrl = config.SOCRightConfig['siteDomain'] + 'Admin/User/List')

        ps['ResetPasswordType'] = self.check_oper_right_custom_right(self._rightKey, self._resetPwKey)
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            ps['title'] = self.get_page_title('编辑用户')
            id = int(self.get_arg('id', '0'))
            user = user_logic.query_one(id)
            if None == user:
                ps['msg'] = state.ResultInfo.get(103002, '')
                user = {'id':'', 'name':'', 'departmentID': '', 'realName':'','beginDate':'','endDate':'', 'passWord':'','mobile':'','tel':'','email':'','status':1,'lastLoginTime':'','lastLoginApp':'','lastLoginIp':'','remark':'','creater':'','createTime':'','lastUpdater':'','lastUpdateTime':''}
        else:
            self.check_oper_right(right = state.operAdd)
            user = self.get_args(['id', 'name', 'realName', 'departmentID', 'passWord', 'mobile', 'tel', 'email', 'remark'], '')
            user['beginDate'] = str_helper.get_now_datestr()
            user['endDate'] = str_helper.get_add_datest(days = 365)
            user['status'] = int(self.get_arg('status', '0'))
        ps['user'] = user
        ps['roleID'] = self.get_arg('roleID', '')
        ps['userGroupID'] = self.get_arg('userGroupID', '')
        ps['userStatus'] = state.UserStatus
        ps['deps'] = department_logic.query_all_by_active()

        ps = self.format_none_to_empty(ps)
        self.render('admin/user/add_or_edit.html', **ps)
Exemple #4
0
    def get(self):
        # type = self.check_oper_right_custom_right(self._rightKey, self._exportUserKey)
        # if type == False:
        #     self.redirect(config.SOCRightConfig['siteDomain']+'Admin/NotRight')
        #     return

        import sys
        reload(sys)                        
        sys.setdefaultencoding('utf-8')    
        ps = self.get_page_config(title = '导出角色用户列表Excel')

        role = {}
        role['id'] = int(self.get_arg('id', '0'))
        role = role_logic.query_one(id = role['id'])
        ps['userName'] = self.get_arg('userName', '')        
        ps['page'] = int(self.get_arg('page', '1'))
        ps['pagedata'] = user_logic.query_page_by_roleid(roleID = role['id'], userName = ps['userName'], page = 1, size = 99999)

        users = ps['pagedata']['data']

        #生成excel文件
        info = u'''<table><tr><td>用户ID</td><td>用户名</td><td>姓名</td><td>部门名称</td><td>角色ID</td><td>角色名</td></tr>'''

        for user in users:
            u = u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>''' % (str(user['id']), user['name'], user['realName'], 
                        user['departmentName'], role['id'], role['name'] )
            info = info + u
        info = info + u'</table>'
        fileName = config.SOCRightConfig['exportUserPath'] + str_helper.get_now_datestr() +'_'+ str_helper.get_uuid() + '.xls'

        path = config.SOCRightConfig['realPath'] + fileName
        file_object = open(path, 'w')
        file_object.write(info)
        file_object.close( )    
        self.redirect(config.SOCRightConfig['siteDomain']+fileName)
 def _format_project_tasks(self, tasks, isEdit):
     ''' 格式化任务列表。需要格式化 preindex, level '''
     if None == tasks or len(tasks) <= 0:
         tasks = []
         if isEdit:
             tasks.append({
                 'startDate': str_helper.get_now_datestr(),
                 'endDate': str_helper.get_now_datestr(),
                 'date': 1,
                 'parentID': 0,
                 'id': 0,
                 'preindex': 0,
                 'sort': 1,
                 'preID': 0,
                 'users': '',
                 'degree': 0,
                 'userName': '',
                 'name': '',
                 'level': 1,
                 'status': 0,
                 'userRealName': ''
             })
         return tasks
     indexMap = {}
     #格式化 statusname,level
     for task in tasks:
         if task['parentID'] == 0:
             task['level'] = 1
         else:
             task['level'] = indexMap.get(task['parentID'], {}).get(
                 'level', 0) + 1
         indexMap[task['id']] = {
             'index': task['sort'],
             'level': task['level']
         }
     #格式化 preindex
     temp = []
     for task in tasks:
         if task['preID'] > 0:
             task['preindex'] = indexMap.get(task['preID'],
                                             {}).get('index', 0)
         else:
             task['preindex'] = 0
         temp.append(task)
     return temp
Exemple #6
0
    def get(self):
        ps = self.get_page_config(title='创建用户',
                                  refUrl=config.SOCRightConfig['siteDomain'] +
                                  'Admin/User/List')

        ps['ResetPasswordType'] = self.check_oper_right_custom_right(
            self._rightKey, self._resetPwKey)
        if ps['isedit']:
            self.check_oper_right(right=state.operEdit)
            ps['title'] = self.get_page_title('编辑用户')
            id = int(self.get_arg('id', '0'))
            user = user_logic.query_one(id)
            if None == user:
                ps['msg'] = state.ResultInfo.get(103002, '')
                user = {
                    'id': '',
                    'name': '',
                    'departmentID': '',
                    'realName': '',
                    'beginDate': '',
                    'endDate': '',
                    'passWord': '',
                    'mobile': '',
                    'tel': '',
                    'email': '',
                    'status': 1,
                    'lastLoginTime': '',
                    'lastLoginApp': '',
                    'lastLoginIp': '',
                    'remark': '',
                    'creater': '',
                    'createTime': '',
                    'lastUpdater': '',
                    'lastUpdateTime': ''
                }
        else:
            self.check_oper_right(right=state.operAdd)
            user = self.get_args([
                'id', 'name', 'realName', 'departmentID', 'passWord', 'mobile',
                'tel', 'email', 'remark'
            ], '')
            user['beginDate'] = str_helper.get_now_datestr()
            user['endDate'] = str_helper.get_add_datest(days=365)
            user['status'] = int(self.get_arg('status', '0'))
        ps['user'] = user
        ps['roleID'] = self.get_arg('roleID', '')
        ps['userGroupID'] = self.get_arg('userGroupID', '')
        ps['userStatus'] = state.UserStatus
        ps['deps'] = department_logic.query_all_by_active()

        ps = self.format_none_to_empty(ps)
        self.render('admin/user/add_or_edit_bs.html', **ps)
Exemple #7
0
    def get(self):

        type = self.check_oper_right_custom_right(self._rightKey, self._exportUserKey)
        if type == False:
            self.redirect(config.SOCRightConfig['siteDomain']+'Admin/NotRight')
            return

        import sys
        reload(sys)                        
        sys.setdefaultencoding('utf-8')    
        ps = self.get_page_config(title = '导出用户Excel')
        user = self.get_args(['id', 'realName', 'name', 'tel', 'mobile', 'email', 'createTimeBegin', 'createTimeEnd', 'lastUpdateTimeBegin', 'lastUpdateTimeEnd'], '')
        user['status'] = int(self.get_arg('status', '0'))
        user['departmentID'] = int(self.get_arg('departmentID', '0'))
        ps['deps'] = department_logic.query_all_by_active()
        ps['page'] = int(self.get_arg('page', '1'))
        ps['userStatus'] = state.UserStatus
        ps['pagedata'] = user_logic.query_page(id = user['id'],
                    name = user['name'], realName = user['realName'], departmentID = user['departmentID'],
                     tel = user['tel'], mobile = user['mobile'], email = user['email'], 
                     status = user['status'], createTimeBegin = user['createTimeBegin'], createTimeEnd = user['createTimeEnd'], lastUpdateTimeBegin = user['lastUpdateTimeBegin'], lastUpdateTimeEnd = user['lastUpdateTimeEnd'], page = ps['page'], size = 9999)

        users = ps['pagedata']['data']

        #生成excel文件
        info = u'''<table><tr><td>用户ID</td><td>用户名</td><td>姓名</td><td>部门</td><td>状态</td>
                    <td>最后登录时间</td><td>创建人</td><td>创建时间</td><td>最后更新人</td><td>最后更新时间</td></tr>'''

        for user in users:
            u = u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>
                    <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>''' % (str(user['id']), user['name'], user['realName'], 
                        user['departmentName'], user['statusname'], user['lastLoginTime'], user['creater'], str(user['createTime'])[0:-3], 
                        user['lastUpdater'], str(user['lastUpdateTime'])[0:-3] )
            info = info + u
        info = info + u'</table>'
        fileName = config.SOCRightConfig['exportUserPath'] + str_helper.get_now_datestr() +'_'+ str_helper.get_uuid() + '.xls'

        path = config.SOCRightConfig['realPath'] + fileName
        file_object = open(path, 'w')
        file_object.write(info)
        file_object.close( )    
        self.redirect(config.SOCRightConfig['siteDomain']+fileName)
Exemple #8
0
    def get(self):
        type = self.check_oper_right_custom_right(self._rightKey, self._exportUserKey)
        if type == False:
            self.redirect(config.SOCRightConfig['siteDomain']+'Admin/NotRight')
            return

        import sys
        reload(sys)                        
        sys.setdefaultencoding('utf-8')   
        ps = self.get_page_config(title = '导出操作日志列表')

        operLog = self.get_args(['operUserName', 'action', 'beginTime', 'endTime'], '')
        operLog['operID'] = int(self.get_arg('operID', '0'))
        ps['page'] = int(self.get_arg('page', '1'))
        ps['pagedata'] = oper_log_logic.query_page(operID = operLog['operID'], operUserName = operLog['operUserName'], appCode = '', funcPath = '', action = operLog['action'], operIp = '', beginTime = operLog['beginTime'], endTime = operLog['endTime'], page = ps['page'], size = 99999)
        
        #生成excel文件
        logs = ps['pagedata']['data']
        info = u'''<table><tr><td>id</td><td>操作用户ID</td><td>操作用户名</td><td>操作用户姓名</td><td>操作IP</td>
                    <td>操作时间</td><td>应用编号</td><td>操作类型</td><td>操作目标类型</td><td>操作目标ID</td>
                    <td>操作目标名称</td></tr>'''

        for log in logs:
            u = u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>
                    <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>''' % (str(log['id']), log['operID'], log['operUserName'], 
                        log['operRealName'], log['operIp'], str(log['operTime'])[0:-3], log['appCode'], log['actionname'], str(log['targetType']), 
                        log['targetID'], log['targetName'] )
            info = info + u
        info = info + u'</table>'
        fileName = config.SOCRightConfig['exportOperLogPath'] + str_helper.get_now_datestr() +'_'+ str_helper.get_uuid() + '.xls'

        path = config.SOCRightConfig['realPath'] + fileName

        file_object = open(path, 'w')
        file_object.write(info)
        file_object.close( )    
        self.redirect(config.SOCRightConfig['siteDomain']+fileName)
Exemple #9
0
    def get(self):

        type = self.check_oper_right_custom_right(self._rightKey, self._exportUserKey)
        if type == False:
            self.redirect(config.SOCRightConfig['siteDomain']+'Admin/NotRight')
            return

        import sys
        reload(sys)                        
        sys.setdefaultencoding('utf-8')    
        ps = self.get_page_config(title = '导出用户Excel')
        user = self.get_args(['id', 'realName', 'name', 'tel', 'mobile', 'email', 'createTimeBegin', 'createTimeEnd', 'lastUpdateTimeBegin', 'lastUpdateTimeEnd'], '')
        user['status'] = int(self.get_arg('status', '0'))
        user['departmentID'] = int(self.get_arg('departmentID', '0'))
        ps['deps'] = department_logic.query_all_by_active()
        ps['page'] = int(self.get_arg('page', '1'))
        ps['userStatus'] = state.UserStatus
        ps['pagedata'] = user_logic.query_page(id = user['id'],
                    name = user['name'], realName = user['realName'], departmentID = user['departmentID'],
                     tel = user['tel'], mobile = user['mobile'], email = user['email'], 
                     status = user['status'], createTimeBegin = user['createTimeBegin'], createTimeEnd = user['createTimeEnd'], lastUpdateTimeBegin = user['lastUpdateTimeBegin'], lastUpdateTimeEnd = user['lastUpdateTimeEnd'], page = ps['page'], size = 999999)

        users = ps['pagedata']['data']

        userGroups = usergroup_logic.query_user_user_group(id = user['id'],
                    name = user['name'], realName = user['realName'], departmentID = user['departmentID'],
                     tel = user['tel'], mobile = user['mobile'], email = user['email'], 
                     status = user['status'], createTimeBegin = user['createTimeBegin'], createTimeEnd = user['createTimeEnd'], lastUpdateTimeBegin = user['lastUpdateTimeBegin'], lastUpdateTimeEnd = user['lastUpdateTimeEnd'])

        userGroupRoles = role_logic.query_user_user_group_role(id = user['id'],
                    name = user['name'], realName = user['realName'], departmentID = user['departmentID'],
                     tel = user['tel'], mobile = user['mobile'], email = user['email'], 
                     status = user['status'], createTimeBegin = user['createTimeBegin'], createTimeEnd = user['createTimeEnd'], lastUpdateTimeBegin = user['lastUpdateTimeBegin'], lastUpdateTimeEnd = user['lastUpdateTimeEnd'])

        userRoles =  role_logic.query_user_role(id = user['id'],
                    name = user['name'], realName = user['realName'], departmentID = user['departmentID'],
                     tel = user['tel'], mobile = user['mobile'], email = user['email'], 
                     status = user['status'], createTimeBegin = user['createTimeBegin'], createTimeEnd = user['createTimeEnd'], lastUpdateTimeBegin = user['lastUpdateTimeBegin'], lastUpdateTimeEnd = user['lastUpdateTimeEnd'])

        userGroupMap = {}
        rolesMap = {}

        for user in users:
            uid = str(user['id'])
            ug = []
            ugids = []
            #检索用户的所属用户组
            for userGroup in userGroups:
                if uid == str(userGroup['userID']):
                    ug.append(userGroup['userGroupName'])
                    ugids.append(str(userGroup['userGroupID']))
            userGroupMap[str(uid)] = ','.join(ug)

            ur = []
            for userRole in userRoles:
                if uid == str(userRole['userID']):
                    ur.append(userRole['roleName'])

            for ugid in ugids:
                for userGroupRole in userGroupRoles:
                    if ugid == str(userGroupRole['userGroupID']):
                        if userGroupRole['roleName'] not in ur:
                            ur.append(userGroupRole['roleName'])
            rolesMap[uid] = ','.join(ur)

        #生成excel文件
        info = u'''<table><tr><td>用户ID</td><td>用户名</td><td>姓名</td><td>部门</td><td>状态</td><td>锁定时间</td>
                    <td>最后登录时间</td><td>创建人</td><td>创建时间</td><td>最后更新人</td><td>最后更新时间</td><td>绑定用户组</td><td>绑定角色</td></tr>'''

        for user in users:
            uid = str(user['id'])
            u = u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>
                    <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>''' % (str(user['id']), user['name'], user['realName'], 
                        user['departmentName'], user['statusname'], str(user['lockTime'])[0:-3], user['lastLoginTime'], user['creater'], str(user['createTime'])[0:-3], 
                        user['lastUpdater'], str(user['lastUpdateTime'])[0:-3], userGroupMap.get(uid,''), rolesMap.get(uid,''))
            info = info + u
        info = info + u'</table>'
        fileName = config.SOCRightConfig['exportUserPath'] + str_helper.get_now_datestr() +'_'+ str_helper.get_uuid() + '.xls'

        path = config.SOCRightConfig['realPath'] + fileName
        file_object = open(path, 'w')
        file_object.write(info)
        file_object.close( )    
        self.redirect(config.SOCRightConfig['siteDomain']+fileName)
Exemple #10
0
    def get(self):

        type = self.check_oper_right_custom_right(self._rightKey,
                                                  self._exportUserKey)
        if type == False:
            self.redirect(config.SOCRightConfig['siteDomain'] +
                          'Admin/NotRight')
            return

        import sys
        reload(sys)
        sys.setdefaultencoding('utf-8')
        ps = self.get_page_config(title='导出用户Excel')
        user = self.get_args([
            'id', 'realName', 'name', 'tel', 'mobile', 'email',
            'createTimeBegin', 'createTimeEnd', 'lastUpdateTimeBegin',
            'lastUpdateTimeEnd'
        ], '')
        user['status'] = int(self.get_arg('status', '0'))
        user['departmentID'] = int(self.get_arg('departmentID', '0'))
        ps['deps'] = department_logic.query_all_by_active()
        ps['page'] = int(self.get_arg('page', '1'))
        ps['userStatus'] = state.UserStatus
        ps['pagedata'] = user_logic.query_page(
            id=user['id'],
            name=user['name'],
            realName=user['realName'],
            departmentID=user['departmentID'],
            tel=user['tel'],
            mobile=user['mobile'],
            email=user['email'],
            status=user['status'],
            createTimeBegin=user['createTimeBegin'],
            createTimeEnd=user['createTimeEnd'],
            lastUpdateTimeBegin=user['lastUpdateTimeBegin'],
            lastUpdateTimeEnd=user['lastUpdateTimeEnd'],
            page=ps['page'],
            size=999999)

        users = ps['pagedata']['data']

        userGroups = usergroup_logic.query_user_user_group(
            id=user['id'],
            name=user['name'],
            realName=user['realName'],
            departmentID=user['departmentID'],
            tel=user['tel'],
            mobile=user['mobile'],
            email=user['email'],
            status=user['status'],
            createTimeBegin=user['createTimeBegin'],
            createTimeEnd=user['createTimeEnd'],
            lastUpdateTimeBegin=user['lastUpdateTimeBegin'],
            lastUpdateTimeEnd=user['lastUpdateTimeEnd'])

        userGroupRoles = role_logic.query_user_user_group_role(
            id=user['id'],
            name=user['name'],
            realName=user['realName'],
            departmentID=user['departmentID'],
            tel=user['tel'],
            mobile=user['mobile'],
            email=user['email'],
            status=user['status'],
            createTimeBegin=user['createTimeBegin'],
            createTimeEnd=user['createTimeEnd'],
            lastUpdateTimeBegin=user['lastUpdateTimeBegin'],
            lastUpdateTimeEnd=user['lastUpdateTimeEnd'])

        userRoles = role_logic.query_user_role(
            id=user['id'],
            name=user['name'],
            realName=user['realName'],
            departmentID=user['departmentID'],
            tel=user['tel'],
            mobile=user['mobile'],
            email=user['email'],
            status=user['status'],
            createTimeBegin=user['createTimeBegin'],
            createTimeEnd=user['createTimeEnd'],
            lastUpdateTimeBegin=user['lastUpdateTimeBegin'],
            lastUpdateTimeEnd=user['lastUpdateTimeEnd'])

        userGroupMap = {}
        rolesMap = {}

        for user in users:
            uid = str(user['id'])
            ug = []
            ugids = []
            #检索用户的所属用户组
            for userGroup in userGroups:
                if uid == str(userGroup['userID']):
                    ug.append(userGroup['userGroupName'])
                    ugids.append(str(userGroup['userGroupID']))
            userGroupMap[str(uid)] = ','.join(ug)

            ur = []
            for userRole in userRoles:
                if uid == str(userRole['userID']):
                    ur.append(userRole['roleName'])

            for ugid in ugids:
                for userGroupRole in userGroupRoles:
                    if ugid == str(userGroupRole['userGroupID']):
                        if userGroupRole['roleName'] not in ur:
                            ur.append(userGroupRole['roleName'])
            rolesMap[uid] = ','.join(ur)

        #生成excel文件
        info = u'''<table><tr><td>用户ID</td><td>用户名</td><td>姓名</td><td>部门</td><td>状态</td><td>锁定时间</td>
                    <td>最后登录时间</td><td>创建人</td><td>创建时间</td><td>最后更新人</td><td>最后更新时间</td><td>绑定用户组</td><td>绑定角色</td></tr>'''

        for user in users:
            uid = str(user['id'])
            u = u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>
                    <td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>''' % (
                str(user['id']), user['name'], user['realName'],
                user['departmentName'], user['statusname'],
                str(user['lockTime'])[0:-3], user['lastLoginTime'],
                user['creater'], str(user['createTime'])[0:-3],
                user['lastUpdater'], str(user['lastUpdateTime'])[0:-3],
                userGroupMap.get(uid, ''), rolesMap.get(uid, ''))
            info = info + u
        info = info + u'</table>'
        fileName = config.SOCRightConfig[
            'exportUserPath'] + str_helper.get_now_datestr(
            ) + '_' + str_helper.get_uuid() + '.xls'

        path = config.SOCRightConfig['realPath'] + fileName
        file_object = open(path, 'w')
        file_object.write(info)
        file_object.close()
        self.redirect(config.SOCRightConfig['siteDomain'] + fileName)