Exemplo n.º 1
0
 def query_by_type_userName_status_begin_end(self, type, userName, status, startDate, endDate, page = 1, size = 12):
     sql = self._query_sql
     isdelete = state.Boole['false']
     ps = [isdelete]
     if 0 != type:
         sql = sql + ' and t.type = %s '
         ps.append(type)
     if not str_helper.is_null_or_empty(userName):
         sql = sql + ' and  t.userName = %s '
         ps.append(userName)
     if 0 != status:
         sql = sql + ' and t.`status` = %s '
         ps.append(status)
     if not str_helper.is_null_or_empty(startDate):
         sql = sql + ' and t.startDate >= %s '
         ps.append(startDate)
     if not str_helper.is_null_or_empty(endDate):
         sql = sql + ' and t.startDate <= %s '
         ps.append(endDate)
     sql = sql + ' order by t.startDate asc '
     yz = tuple(ps)
     tasks = mysql.find_page(sql, yz, self._query_col, page, size)
     if None != tasks['data']:
         for r in tasks['data']:
             r = self._format_task_status_type(r)
     return tasks
Exemplo n.º 2
0
 def query_by_type_userName_status_begin_end(self,
                                             type,
                                             userName,
                                             status,
                                             startDate,
                                             endDate,
                                             page=1,
                                             size=12):
     sql = self._query_sql
     isdelete = state.Boole['false']
     ps = [isdelete]
     if 0 != type:
         sql = sql + ' and t.type = %s '
         ps.append(type)
     if not str_helper.is_null_or_empty(userName):
         sql = sql + ' and  t.userName = %s '
         ps.append(userName)
     if 0 != status:
         sql = sql + ' and t.`status` = %s '
         ps.append(status)
     if not str_helper.is_null_or_empty(startDate):
         sql = sql + ' and t.startDate >= %s '
         ps.append(startDate)
     if not str_helper.is_null_or_empty(endDate):
         sql = sql + ' and t.startDate <= %s '
         ps.append(endDate)
     sql = sql + ' order by t.startDate asc '
     yz = tuple(ps)
     tasks = mysql.find_page(sql, yz, self._query_col, page, size)
     if None != tasks['data']:
         for r in tasks['data']:
             r = self._format_task_status_type(r)
     return tasks
Exemplo n.º 3
0
 def check_str_empty_input(self, map = {}, ls = []):
     error = ''
     for l in ls:
         if str_helper.is_null_or_empty(map[l]):
             error = '%s %s,' % (error, l)
     if str_helper.is_null_or_empty(error) == False:
         error = error + state.ResultInfo.get(1001, '')
     return error
Exemplo n.º 4
0
 def check_str_empty_input(self, map={}, ls=[]):
     error = ''
     for l in ls:
         if str_helper.is_null_or_empty(map[l]):
             error = '%s %s,' % (error, l)
     if str_helper.is_null_or_empty(error) == False:
         error = error + state.ResultInfo.get(1001, '')
     return error
Exemplo n.º 5
0
    def _check_tasks_info(self, tasks):
        if None == tasks or type(tasks) != list:
            return 112001

        for task in tasks:
            if str_helper.is_null_or_empty(task.get('userName', '')) or str_helper.is_null_or_empty(task.get('userRealName', '')):
                return 112002
            if str_helper.is_null_or_empty(task.get('startDate', '')) or str_helper.is_null_or_empty(task.get('endDate', '')):
                return 112003
            if str_helper.is_null_or_empty(task.get('name', '')):
                return 112004
            if task.get('degree', 0) < 0 or task.get('degree', 0) > 100:
                return 112008

        return 0
Exemplo n.º 6
0
    def post(self):
        params = self.get_args(['name', 'path', 'customJson', 'rights', 'remark', 'user'], '')
        params['sort'] = int(self.get_arg('sort', '0'))
        params['status'] = int(self.get_arg('status', '0'))

        msg = self.check_str_empty_input(params, ['name', 'path', 'user'])
        if str_helper.is_null_or_empty(msg) == False:
            self.out_fail(code = 1001, msg = msg)
            return

        func = func_logic.query_one_by_path(path = params['path'])
        if None == func:
            self.out_fail(code = 102004)
            return

        user = user_logic.query_one_by_name(params['user'])
        if None == user:
            self.out_fail(code = 103002)

        print self.get_argument('rights')
        try:
            result = func_logic.update(id = func['id'], name = params['name'], sort = params['sort'], rights = params['rights'], 
                customJson = params['customJson'], remark = params['remark'], user = params['user'])

            if True == result:
                self.write_oper_log(action = 'funcEditInterface', targetType = 3, targetID = str(func['id']), 
                    targetName = params['name'], startStatus = '', endStatus= str_helper.json_encode(params), user = user)
                self.out_ok()
            else:
                self.out_fail(code = 101)            
        except error.RightError as e:
            self.out_fail(code=e.code)
            return
        return
        
Exemplo n.º 7
0
    def post(self):
        ps = self.get_page_config(title='创建用户组')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑用户组')

        usergroup = self.get_args(['id', 'name', 'remark'], '')
        usergroup['status'] = int(self.get_arg('status', '0'))
        msg = self.check_str_empty_input(usergroup, ['name'])
        ps['usergroup'] = usergroup
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/usergroup/add_or_edit_bs.html', **ps)
            return
        usergroup['user'] = self.get_oper_user()

        if ps['isedit']:
            try:
                og = usergroup_logic.query_one(usergroup['id'])
                info = usergroup_logic.update(id=usergroup['id'],
                                              name=usergroup['name'],
                                              status=usergroup['status'],
                                              remark=usergroup['remark'],
                                              user=usergroup['user'])
                if info:
                    ng = usergroup_logic.query_one(usergroup['id'])
                    self.write_oper_log(action='userGroupEdit',
                                        targetType=6,
                                        targetID=str(ng['id']),
                                        targetName=ng['name'],
                                        startStatus=str_helper.json_encode(og),
                                        endStatus=str_helper.json_encode(ng))
                    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:
            try:
                info = usergroup_logic.add(name=usergroup['name'],
                                           status=usergroup['status'],
                                           remark=usergroup['remark'],
                                           user=usergroup['user'])
                if info > 0:
                    ng = usergroup_logic.query_one_by_name(usergroup['name'])
                    self.write_oper_log(action='userGroupCreate',
                                        targetType=6,
                                        targetID=str(ng['id']),
                                        targetName=ng['name'],
                                        startStatus='',
                                        endStatus=str_helper.json_encode(ng))
                    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/usergroup/add_or_edit_bs.html', **ps)
Exemplo n.º 8
0
    def post(self):
        ps = self.get_page_config('修改密码')
        ls = ['oldPassWord', 'newPassWord1', 'newPassWord2']
        ps = self.get_args(ls=ls, default='', map=ps)
        user = self.current_user
        ps['user'] = user

        msg = self.check_str_empty_input(ps, ls)
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('password_edit_bs.html', **ps)
            return

        try:
            type = user_logic.update_password(name = user['name'], oldPassWord = ps['oldPassWord'] , 
                              newPassWord1=ps['newPassWord1'], newPassWord2=ps['newPassWord2'])
            if type:
                if None != user['loginCount'] and 0 >= user['loginCount']:
                    ''' 第一次强制修改密码后更新登录计数  '''
                    user_logic.update_goto_app(
                        user['name'], config.SOCRightConfig['appCode'], ip=self.get_user_ip())
                    oper_log_logic.add(operID=user['id'], operUserName=user['name'], operRealName=user[
                                                               'realName'], appCode='SOCRight', funcPath='', action='userActivate', targetType=0, targetID='', targetName='', startStatus='', endStatus='', operIp=self.get_user_ip())

                self.clear_user_info()
                ps['msg'] = '操作成功'
                ps['gotoUrl'] = ps['serviceSiteDomain'] + 'Login'
            else:
                ps['msg'] = state.ResultInfo.get(101, '')
        except error.RightError as e:
            ps['msg'] = e.msg

        self.render('password_edit_bs.html', **ps)
Exemplo n.º 9
0
    def get(self):
        params = self.get_args(['appCode'], '')

        msg = self.check_str_empty_input(params, ['appCode'])
        if str_helper.is_null_or_empty(msg) == False:
            self.out_fail(code = 1001, msg = msg)
            return
        funcs = func_logic.query_all_by_app(appCode = params['appCode'])
        self.out_ok(funcs)
        return
Exemplo n.º 10
0
    def _check_tasks_info(self, tasks):
        if None == tasks or type(tasks) != list:
            return 112001

        for task in tasks:
            if str_helper.is_null_or_empty(task.get(
                    'userName', '')) or str_helper.is_null_or_empty(
                        task.get('userRealName', '')):
                return 112002
            if str_helper.is_null_or_empty(task.get(
                    'startDate', '')) or str_helper.is_null_or_empty(
                        task.get('endDate', '')):
                return 112003
            if str_helper.is_null_or_empty(task.get('name', '')):
                return 112004
            if task.get('degree', 0) < 0 or task.get('degree', 0) > 100:
                return 112008

        return 0
Exemplo n.º 11
0
    def post(self):
        ps = self.get_page_config('创建非项目计划任务') 
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑非项目计划任务')

        ps['users'] = self._get_user_list()
        if None == ps['users'] or len(ps['users']) <= 0:            
            self.render('admin/task/project_task_list.html', **ps)
            return
        ps['user'] = self.get_oper_user()

        task = self.get_args(['name','userName','userRealName','startDate','endDate','users','remark'], '')
        task['degree'] = int(self.get_arg('degree', '0'))
        task['type'] = int(self.get_arg('type', '0'))
        task['id'] = int(self.get_arg('id', '0'))

        ps['task'] = task

        msg = self.check_str_empty_input(task, ['name', 'userName', 'userRealName', 'startDate', 'endDate'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/task/add_or_edit.html', **ps)
            return

        if ps['isedit']:
            try:
                info = task_logic.TaskLogic.instance().update(id = task['id'], name = task['name'], 
                        userName = task['userName'], userRealName = task['userRealName'], date = 1, 
                        startDate = task['startDate'], endDate = task['endDate'], users = task['users'], 
                        degree = task['degree'], remark = task['remark'], user = ps['user'])
                if info:
                    self.redirect(ps['siteDomain'] + 'Admin/Task/List')
                    return 
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        else:
            # self.check_oper_right(right = state.operAdd)
            status = task_logic.TaskLogic.instance().get_task_status(degree = task['degree'])
            try:
                info = task_logic.TaskLogic.instance().add(name = task['name'], type = task['type'], projectID = 0,
                        userName = task['userName'], userRealName = task['userRealName'], date = 1, startDate = task['startDate'],
                        endDate = task['endDate'], users = task['users'], preID = 0, parentID = 0, sort = 0, status = status, 
                        degree = task['degree'], remark = task['remark'], user = ps['user'])
                if info > 0:
                    self.redirect(ps['siteDomain'] + 'Admin/Task/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/task/add_or_edit.html', **ps)
Exemplo n.º 12
0
    def render(self, template, context=None, globals=None, layout=False):
        if not context:
            context = {'cust_title': '外勤通管理系统', }
        user = self.get_current_user()
        if None != user:
            # sql = 'select cust_title from wqt_cust where cust_key = %s'
            context = user
            if str_helper.is_null_or_empty(context['cust_title']):
                context['cust_title'] = '外勤通管理系统'
        if template != 'login.html':
            layout = '_layout.pyhtml'

        return engine.render(template, context, globals, layout)
Exemplo n.º 13
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)
Exemplo n.º 14
0
    def post(self):
        ps = self.get_page_config('修改密码')
        ls = ['oldPassWord', 'newPassWord1', 'newPassWord2']
        ps = self.get_args(ls=ls, default='', map=ps)
        user = self.current_user
        ps['user'] = user

        msg = self.check_str_empty_input(ps, ls)
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('password_edit_bs.html', **ps)
            return

        try:
            type = user_logic.update_password(name=user['name'],
                                              oldPassWord=ps['oldPassWord'],
                                              newPassWord1=ps['newPassWord1'],
                                              newPassWord2=ps['newPassWord2'])
            if type:
                if None != user['loginCount'] and 0 >= user['loginCount']:
                    ''' 第一次强制修改密码后更新登录计数  '''
                    user_logic.update_goto_app(
                        user['name'],
                        config.SOCRightConfig['appCode'],
                        ip=self.get_user_ip())
                    oper_log_logic.add(operID=user['id'],
                                       operUserName=user['name'],
                                       operRealName=user['realName'],
                                       appCode='SOCRight',
                                       funcPath='',
                                       action='userActivate',
                                       targetType=0,
                                       targetID='',
                                       targetName='',
                                       startStatus='',
                                       endStatus='',
                                       operIp=self.get_user_ip())

                self.clear_user_info()
                ps['msg'] = '操作成功'
                ps['gotoUrl'] = ps['serviceSiteDomain'] + 'Login'
            else:
                ps['msg'] = state.ResultInfo.get(101, '')
        except error.RightError as e:
            ps['msg'] = e.msg

        self.render('password_edit_bs.html', **ps)
Exemplo n.º 15
0
    def post(self):
        func = self.get_args(['appCode', 'name', 'code', 'customJson', 'rights', 'remark'], '')
        func['id'] = int(self.get_arg('id', '0'))
        func['parentID'] = int(self.get_arg('parentID', '0'))
        func['sort'] = int(self.get_arg('sort', '0'))
        
        msg = self.check_str_empty_input(func, ['code', 'name', 'rights', 'appCode'])
        if str_helper.is_null_or_empty(msg) == False:
            self.out_fail(code = 1001, msg = msg)
            return
        btype = str_helper.check_num_abc__(func['code'])
        if btype == False:
            self.out_fail(code = 1001, msg = '编号参数只允许输入英文字母、数字和下划线')
            return
        func['user'] = self.get_oper_user()
        if func['id'] <= 0:
            self.check_oper_right(right = state.operAdd)
            if func['parentID'] <= 0:
                func['path'] = '%s.%s' % (func['appCode'], func['code'])
            else:
                func['path'] = '%s.%s' % ((func_logic.query_one_by_id(func['parentID'])).get('path'), func['code'])
            func['status'] = state.Boole['true']

            f = func_logic.query_one_by_path(path = func['path'])
            if None != f:
                self.out_fail(code = 102003)
                return
            try:
                result = func_logic.add(appCode = func['appCode'], name = func['name'], code = func['code'], 
                            parentID = func['parentID'], path = func['path'], rights = func['rights'], customJson = func['customJson'], sort = func['sort'], 
                            status = func['status'], remark = func['remark'], user = func['user'])
                nf = func_logic.query_one_by_path(func['path'])
                self.write_oper_log(action = 'funcCreate', targetType = 3, targetID = str(nf['id']), targetName = nf['name'], startStatus = '', endStatus= str_helper.json_encode(nf))
            except error.RightError as e:
                self.out_fail(code=e.code)
                return
        else:
            self.check_oper_right(right = state.operEdit)
            try:
                of = func_logic.query_one_by_id(func['id'])
                func_logic.update(id = func['id'], name = func['name'], sort = func['sort'], rights = func['rights'], 
                                customJson = func['customJson'], remark = func['remark'], user = func['user'])
                nf = func_logic.query_one_by_id(func['id'])
                self.write_oper_log(action = 'funcEdit', targetType = 3, targetID = str(nf['id']), targetName = nf['name'], startStatus = str_helper.json_encode(of), endStatus= str_helper.json_encode(nf))
            except error.RightError as e:
                self.out_fail(code=e.code)
                return
        self.out_ok()
Exemplo n.º 16
0
    def post(self):
        func = self.get_args(['appCode', 'name', 'code', 'customJson', 'remark'], '')
        func['id'] = int(self.get_arg('id', '0'))
        func['parentID'] = int(self.get_arg('parentID', '0'))
        func['sort'] = int(self.get_arg('sort', '0'))
        
        msg = self.check_str_empty_input(func, ['code', 'name', 'appCode'])
        if str_helper.is_null_or_empty(msg) == False:
            self.out_fail(code = 1001, msg = msg)
            return
        btype = str_helper.check_num_abc__(func['code'])
        if btype == False:
            self.out_fail(code = 1001, msg = '编号参数只允许输入英文字母、数字和下划线')
            return
        func['user'] = self.get_oper_user()
        if func['id'] <= 0:
            self.check_oper_right(right = state.operAdd)
            if func['parentID'] <= 0:
                func['path'] = '%s.%s' % (func['appCode'], func['code'])
            else:
                func['path'] = '%s.%s' % ((func_logic.query_one_by_id(func['parentID'])).get('path'), func['code'])
            func['status'] = state.Boole['true']

            f = func_logic.query_one_by_path(path = func['path'])
            if None != f:
                self.out_fail(code = 102003)
                return
            try:
                result = func_logic.add(appCode = func['appCode'], name = func['name'], code = func['code'], 
                            parentID = func['parentID'], path = func['path'], customJson = func['customJson'], sort = func['sort'], 
                            status = func['status'], remark = func['remark'], user = func['user'])
                nf = func_logic.query_one_by_path(func['path'])
                self.write_oper_log(action = 'funcCreate', targetType = 3, targetID = str(nf['id']), targetName = nf['name'], startStatus = '', endStatus= str_helper.json_encode(nf))
            except error.RightError as e:
                self.out_fail(code=e.code)
                return
        else:
            self.check_oper_right(right = state.operEdit)
            try:
                of = func_logic.query_one_by_id(func['id'])
                func_logic.update(id = func['id'], name = func['name'],sort = func['sort'], 
                                customJson = func['customJson'],remark = func['remark'],user = func['user'])
                nf = func_logic.query_one_by_id(func['id'])
                self.write_oper_log(action = 'funcEdit', targetType = 3, targetID = str(nf['id']), targetName = nf['name'], startStatus = str_helper.json_encode(of), endStatus= str_helper.json_encode(nf))
            except error.RightError as e:
                self.out_fail(code=e.code)
                return
        self.out_ok()
Exemplo n.º 17
0
    def send_sms(self, mobiles, msg):
        ms = mobiles.split(',')
        # ms = ['18917637631']

        for m in ms:
            if str_helper.is_null_or_empty(m):
                continue
            params = config.sms_params
            params['phone'] = m
            params['msg'] = msg

            r = requests.get(url=config.sms_api, params=params)
            l = 'sms_req_url:%s;status:%d;result:%s' % (r.url, r.status_code,
                                                        r.text)
            self.get_alarm_logger().info(l)
            time.sleep(1)
Exemplo n.º 18
0
def query_page_by_roleid( roleID = '', userName = '', page = 1, size = 12):
    sql = _query_role_all_user_sql
    isdelete = state.Boole['false']
    ps = [ roleID, isdelete, roleID, isdelete, isdelete ]
    if not str_helper.is_null_or_empty(userName):
        sql = sql + ' and  u.name = %s  '
        ps.append(userName)
    yz = tuple(ps)
    sql = sql + '  order by u.departmentID asc , u.id desc '
    users = mysql.find_page(sql, yz, _query_col, page, size)
    if None != users['data']:
        for r in users['data']:
            r['beginDate'] = str(r['beginDate'])[0:10]
            r['endDate'] = str(r['endDate'])[0:10]
            r['statusname'] = state.UserStatus.get(r['status'])
    return users
Exemplo n.º 19
0
    def post(self):
        ps = self.get_page_config('创建用户')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑用户')

        user = self.get_args(['id', 'passWord', 'name', 'realName', 'mobile', 'tel', 'email', 'remark'], '')
        user['status'] = int(self.get_arg('status', '0'))        
        user['parentID'] = int(self.get_arg('parentID', '0'))
        ps['user'] = user
        msg = self.check_str_empty_input(user, ['name', 'realName', 'email', 'mobile'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/user/add_or_edit.html', **ps)
            return

        user['user'] = self.get_oper_user()
        ps['user'] = copy.copy(user)
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            try:
                info = user_logic.UserLogic.instance().update(id = user['id'], realName = user['realName'], 
                        parentID = user['parentID'], mobile = user['mobile'], tel = user['tel'], email = user['email'], 
                        status = user['status'], remark = user['remark'], user = user['user'])
                if info:
                    self.redirect(ps['siteDomain'] + 'Admin/User/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.RightError as e:
                ps['msg'] = e.msg
        else:
            self.check_oper_right(right = state.operEdit)            
            try:
                info = user_logic.UserLogic.instance().add(name = user['name'], passWord = user['passWord'], 
                            realName = user['realName'], mobile = user['mobile'], tel = user['tel'], email = user['email'],
                             status = user['status'], remark = user['remark'], parentID = user['parentID'], user = user['user'])
                if info > 0:
                    self.redirect(ps['siteDomain'] + 'Admin/User/List')
                    return
                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/user/add_or_edit.html', **ps)
Exemplo n.º 20
0
    def post(self):
        ps = self.get_page_config(title = '创建部门')        
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑部门')
        
        dep = self.get_args(['name', 'remark'], '')
        dep['status'] = int(self.get_arg('status', '0'))
        dep['id'] = int(self.get_arg('id', '0'))
        ps['dep'] = dep        
        msg = self.check_str_empty_input(dep, ['name'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/department/add_or_edit_bs.html', **ps)
            return
        dep['user'] = self.get_oper_user()
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)

            try:
                od = department_logic.query_one(dep['id'])
                info = department_logic.update(id = dep['id'], name = dep['name'], 
                    status = dep['status'], remark = dep['remark'], user = dep['user'])
                
                if info:
                    nd = department_logic.query_one(dep['id'])
                    self.write_oper_log(action = 'depEdit', targetType = 4, targetID = str(nd['id']), targetName = nd['name'], startStatus = str_helper.json_encode(od), endStatus= str_helper.json_encode(nd))
                    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 = department_logic.add(name = dep['name'],
                        status = dep['status'], remark = dep['remark'], user = dep['user'])
                if info:
                    nd = department_logic.query_one_by_name(dep['name'])
                    self.write_oper_log(action = 'depCreate', targetType = 4, targetID = str(nd['id']), targetName = nd['name'], startStatus = '', endStatus= str_helper.json_encode(nd))
                    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/department/add_or_edit_bs.html', **ps)
Exemplo n.º 21
0
    def post(self):
        ps = self.get_page_config(title = '创建角色')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑角色')

        role = self.get_args(['id', 'name', 'remark'], '')
        role['status'] = int(self.get_arg('status', '0'))
        ps['role'] = role
        msg = self.check_str_empty_input(role, ['name'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/role/add_or_edit.html', **ps)
            return
        role['user'] = self.get_oper_user()
        
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            try:
                oro = role_logic.query_one(role['id'])
                info = role_logic.update(id = role['id'], name = role['name'], 
                        status = role['status'], remark = role['remark'], user = role['user'])                
                if info:                    
                    nro = role_logic.query_one(role['id'])
                    self.write_oper_log(action = 'roleEdit', targetType = 5, targetID = str(nro['id']), targetName = nro['name'], startStatus = str_helper.json_encode(oro), endStatus= str_helper.json_encode(nro))
                    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 = role_logic.add(name = role['name'], 
                        status = role['status'], remark = role['remark'], user = role['user'])
                if info > 0:
                    nro = role_logic.query_one_by_name(role['name'])
                    self.write_oper_log(action = 'roleEdit', targetType = 5, targetID = str(nro['id']), targetName = nro['name'], startStatus = '', endStatus= str_helper.json_encode(nro))
                    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/role/add_or_edit.html', **ps)
Exemplo n.º 22
0
    def post(self):
        ps = self.get_page_config(title = '创建角色')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑角色')

        role = self.get_args(['id', 'name', 'remark'], '')
        role['status'] = int(self.get_arg('status', '0'))
        ps['role'] = role
        msg = self.check_str_empty_input(role, ['name'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/role/add_or_edit_bs.html', **ps)
            return
        role['user'] = self.get_oper_user()
        
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            try:
                oro = role_logic.query_one(role['id'])
                info = role_logic.update(id = role['id'], name = role['name'], 
                        status = role['status'], remark = role['remark'], user = role['user'])                
                if info:                    
                    nro = role_logic.query_one(role['id'])
                    self.write_oper_log(action = 'roleEdit', targetType = 5, targetID = str(nro['id']), targetName = nro['name'], startStatus = str_helper.json_encode(oro), endStatus= str_helper.json_encode(nro))
                    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 = role_logic.add(name = role['name'], 
                        status = role['status'], remark = role['remark'], user = role['user'])
                if info > 0:
                    nro = role_logic.query_one_by_name(role['name'])
                    self.write_oper_log(action = 'roleEdit', targetType = 5, targetID = str(nro['id']), targetName = nro['name'], startStatus = '', endStatus= str_helper.json_encode(nro))
                    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/role/add_or_edit_bs.html', **ps)
Exemplo n.º 23
0
    def get(self):
        names = self.get_arg('names','')
        if '' == names:
            self.out_fail(code = 1001, msg = 'names')
            return
        names = str_helper.format_str_to_list_filter_empty(names, ',')

        users = []
        for name in names:
            if str_helper.is_null_or_empty(name):
                continue
            user = user_logic.query_user_by_name_cache(name = name)    
            if None != user:
                users.append(user)
                
        json = str_helper.json_encode(users)
        self.out_ok(data = json)
        return
Exemplo n.º 24
0
    def post(self):
        ps = self.get_page_config('创建产品')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑产品')

        product = self.get_args(['userName', 'name', 'userRealName', 'remark'], '')
        product['status'] = int(self.get_arg('status', '0'))
        product['id'] = int(self.get_arg('id', '0'))
        ps['product'] = product
        ps['users'] = soc_right_proxy.get_users_by_usergroup(userGroupID = config.SOCPMConfig['RoleUserGroup'][state.productManagerRoleID])
        msg = self.check_str_empty_input(product, ['name', 'userName'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/product/add_or_edit.html', **ps)
            return        
        product['user'] = self.get_oper_user()
        if ps['isedit']:
            # self.check_oper_right(right = state.operEdit)
            try:
                info = product_logic.ProductLogic.instance().update(id = product['id'], name = product['name'], 
                        userName = product['userName'], userRealName = product['userRealName'], status = product['status'],
                        remark = product['remark'], user = product['user'])
                if info:
                    self.redirect(ps['siteDomain'] + 'Admin/Product/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        else:
            # self.check_oper_right(right = state.operAdd)
            try:
                info = product_logic.ProductLogic.instance().add(name = product['name'], 
                        userName = product['userName'], userRealName = product['userRealName'], status = product['status'],
                        remark = product['remark'], user = product['user'])
                if info > 0:
                    self.redirect(ps['siteDomain'] + 'Admin/Product/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/product/add_or_edit.html', **ps)
Exemplo n.º 25
0
    def post(self):
        params = self.get_args(['appCode', 'name', 'code', 'parentPath', 'customJson', 'rights', 'remark', 'user'], '')
        params['sort'] = int(self.get_arg('sort', '0'))
        params['status'] = int(self.get_arg('status', '0'))

        msg = self.check_str_empty_input(params, ['appCode', 'name', 'code', 'parentPath', 'user'])
        if str_helper.is_null_or_empty(msg) == False:
            self.out_fail(code = 1001, msg = msg)
            return

        btype = str_helper.check_num_abc__(params['code'])
        if btype == False:
            self.out_fail(code = 1001, msg = '编号参数只允许输入英文字母、数字和下划线')
            return

        parent = func_logic.query_one_by_path(path = params['parentPath'])
        if None == parent:
            self.out_fail(code = 102004)
            return

        path = parent['path']+'.'+params['code']
        func = func_logic.query_one_by_path(path = path)
        if None != func:
            self.out_fail(code = 102003)
            return

        user = user_logic.query_one_by_name(params['user'])
        if None == user:
            self.out_fail(code = 103002)

        try:
            result = func_logic.add(appCode = params['appCode'], name = params['name'], 
                code = params['code'], parentID = parent['id'], path = path, rights = params['rights'],
                customJson = params['customJson'], sort = params['sort'], 
                status = params['status'], remark = params['remark'], user = params['user'])

            self.out_ok()
            
            self.write_oper_log(action = 'funcCreateInterface', targetType = 3, targetID = str(result), targetName = params['name'], startStatus = '', endStatus= str_helper.json_encode(params), user = user)
        except error.RightError as e:
            self.out_fail(code=e.code)
            return
        return
Exemplo n.º 26
0
 def post(self):
     ps = self.get_page_config(title = '创建用户组')
     if ps['isedit']:
         ps['title'] = self.get_page_title('编辑用户组')
     
     usergroup = self.get_args(['id', 'name', 'remark'], '')
     usergroup['status'] = int(self.get_arg('status', '0'))
     msg = self.check_str_empty_input(usergroup, ['name'])
     ps['usergroup'] = usergroup
     if str_helper.is_null_or_empty(msg) == False:
         ps['msg'] = msg
         ps = self.format_none_to_empty(ps)
         self.render('admin/usergroup/add_or_edit_bs.html', **ps)
         return
     usergroup['user'] = self.get_oper_user()
     
     if ps['isedit']:
         try:
             og = usergroup_logic.query_one(usergroup['id'])
             info = usergroup_logic.update(id = usergroup['id'], name = usergroup['name'], 
                 status = usergroup['status'], remark = usergroup['remark'], user = usergroup['user'])
             if info:
                 ng = usergroup_logic.query_one(usergroup['id'])
                 self.write_oper_log(action = 'userGroupEdit', targetType = 6, targetID = str(ng['id']), targetName = ng['name'], startStatus = str_helper.json_encode(og), endStatus= str_helper.json_encode(ng))
                 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:
         try:
             info = usergroup_logic.add(name = usergroup['name'], 
                 status = usergroup['status'], remark = usergroup['remark'], user = usergroup['user'])
             if info > 0:
                 ng = usergroup_logic.query_one_by_name(usergroup['name'])
                 self.write_oper_log(action = 'userGroupCreate', targetType = 6, targetID = str(ng['id']), targetName = ng['name'], startStatus = '', endStatus= str_helper.json_encode(ng))
                 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/usergroup/add_or_edit_bs.html', **ps)
Exemplo n.º 27
0
    def post(self):
        ps = self.get_page_config('创建角色')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑角色')

        role = self.get_args(['id', 'name', 'remark'], '')
        role['status'] = int(self.get_arg('status', '0'))
        ps['role'] = role
        msg = self.check_str_empty_input(role, ['name'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/role/add_or_edit.html', **ps)
            return
        role['user'] = self.get_oper_user()
        
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            try:
                info = role_logic.RoleLogic.instance().update(id = role['id'], name = role['name'], 
                        status = role['status'], remark = role['remark'], user = role['user'])
                if info:
                    self.redirect(ps['siteDomain'] +'Admin/Role/List')
                    return
                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 = role_logic.RoleLogic.instance().add(name = role['name'], 
                        status = role['status'], remark = role['remark'], user = role['user'])
                if info > 0:
                    self.redirect(ps['siteDomain'] +'Admin/Role/List')
                    return
                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/role/add_or_edit.html', **ps)
Exemplo n.º 28
0
 def post(self):
     ps = self.get_page_config('创建用户组')
     if ps['isedit']:
         ps['title'] = self.get_page_title('编辑用户组')
     
     usergroup = self.get_args(['id', 'name', 'remark'], '')
     usergroup['status'] = int(self.get_arg('status', '0'))
     msg = self.check_str_empty_input(usergroup, ['name'])
     if str_helper.is_null_or_empty(msg) == False:
         ps['msg'] = msg
         ps = self.format_none_to_empty(ps)
         self.render('admin/usergroup/add_or_edit.html', **ps)
         return
     usergroup['user'] = self.get_oper_user()
     
     if ps['isedit']:
         try:
             info = usergroup_logic.UserGroupLogic.instance().update(id = usergroup['id'], name = usergroup['name'], 
                 status = usergroup['status'], remark = usergroup['remark'], user = usergroup['user'])
             if info:
                 self.redirect(ps['siteDomain'] +'Admin/UserGroup/List')
                 return
             else:
                 ps['msg'] = state.ResultInfo.get(101, '')
         except error.RightError as e:
             ps['msg'] = e.msg
     else:
         try:
             info = usergroup_logic.UserGroupLogic.instance().add(name = usergroup['name'], 
                 status = usergroup['status'], remark = usergroup['remark'], user = usergroup['user'])
             if info > 0:
                 self.redirect(ps['siteDomain'] +'Admin/UserGroup/List')
                 return
             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/usergroup/add_or_edit.html', **ps)
Exemplo n.º 29
0
    def post(self):
        ps = self.get_page_config('创建项目')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑项目')

        project = self.get_args([
            'name', 'teamPath', 'productUserName', 'productUserRealName',
            'devUserName', 'devUserRealName', 'startDate', 'endDate', 'remark'
        ], '')
        project['status'] = int(self.get_arg('status', '0'))
        project['id'] = int(self.get_arg('id', '0'))
        project['productIDs'] = str_helper.format_str_to_list_filter_empty(
            self.get_arg('productIDs', ''), ',')
        project['products'] = product_logic.ProductLogic.instance(
        ).query_by_ids(project['productIDs'])

        ps = self._init_template_info(ps)
        '''  获取绑定的用户  BEGIN '''
        users = []
        oneUserNames = {}
        for role in ps['projectRoles']:
            rid = role['id']
            if role['isOne']:
                #单人
                un = self.get_arg('role_select_' + str(rid), '')
                urn = self.get_arg('user_real_name_' + str(rid), '')
                if un != '':
                    project['userName_' + str(rid)] = un
                    users.append({
                        'type': rid,
                        'userName': un,
                        'userRealName': urn
                    })
                if rid == state.productManagerRoleID:
                    project['productUserName'] = un
                    project['productUserRealName'] = urn
                elif rid == state.devManagerRoleID:
                    project['devUserName'] = un
                    project['devUserRealName'] = urn
            else:
                #多人
                uns = str_helper.format_str_to_list_filter_empty(
                    self.get_arg('userNames_' + str(rid), ''), ',')
                for un in uns:
                    for unn in ps['roleUsers'][rid]:
                        if un != unn['userName']:
                            continue
                        users.append({
                            'type': rid,
                            'userName': un,
                            'userRealName': unn['userRealName']
                        })
        '''  获取绑定的用户  END '''
        project['users'] = users

        ps['project'] = project

        if len(project['productIDs']) <= 0:
            ps['msg'] = '请选择产品'
            self.render('admin/project/add_or_edit.html', **ps)
            return

        if len(project['users']) <= 0:
            ps['msg'] = '请选择人员'
            self.render('admin/project/add_or_edit.html', **ps)
            return

        msg = self.check_str_empty_input(project, [
            'name', 'productUserName', 'productUserRealName', 'devUserName',
            'devUserRealName', 'startDate', 'endDate'
        ])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/project/add_or_edit.html', **ps)
            return

        project['user'] = self.get_oper_user()
        if ps['isedit']:
            # self.check_oper_right(right = state.operEdit)
            try:
                info = project_logic.ProjectLogic.instance().update(
                    id=project['id'],
                    name=project['name'],
                    teamPath=project['teamPath'],
                    productUserName=project['productUserName'],
                    productUserRealName=project['productUserRealName'],
                    devUserName=project['devUserName'],
                    devUserRealName=project['devUserRealName'],
                    startDate=project['startDate'],
                    endDate=project['endDate'],
                    status=project['status'],
                    remark=project['remark'],
                    user=project['user'],
                    productIDs=project['productIDs'],
                    users=project['users'])
                if info:
                    self.redirect(ps['siteDomain'] + 'Admin/Project/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        else:
            # self.check_oper_right(right = state.operAdd)
            try:
                info = project_logic.ProjectLogic.instance().add(
                    name=project['name'],
                    teamPath=project['teamPath'],
                    productUserName=project['productUserName'],
                    productUserRealName=project['productUserRealName'],
                    devUserName=project['devUserName'],
                    devUserRealName=project['devUserRealName'],
                    startDate=project['startDate'],
                    endDate=project['endDate'],
                    status=project['status'],
                    remark=project['remark'],
                    user=project['user'],
                    productIDs=project['productIDs'],
                    users=project['users'])
                if info > 0:
                    self.redirect(ps['siteDomain'] + 'Admin/Project/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/project/add_or_edit.html', **ps)
Exemplo n.º 30
0
    def post(self):
        ps = self.get_page_config(title='创建用户')
        ps['ResetPasswordType'] = self.check_oper_right_custom_right(
            self._rightKey, self._resetPwKey)
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑用户')

        user = self.get_args([
            'id', 'passWord', 'name', 'realName', 'mobile', 'tel', 'email',
            'remark', 'beginDate', 'endDate'
        ], '')
        user['status'] = int(self.get_arg('status', '0'))
        user['departmentID'] = int(self.get_arg('departmentID', '0'))
        user['parentID'] = int(self.get_arg('parentID', '0'))
        ps['user'] = user
        ps['userStatus'] = state.UserStatus
        ps['roleID'] = self.get_arg('role', '')
        ps['userGroupID'] = self.get_arg('userGroup', '')
        ps['deps'] = department_logic.query_all_by_active()
        msg = self.check_str_empty_input(
            user,
            ['name', 'realName', 'email', 'mobile', 'beginDate', 'endDate'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/user/add_or_edit_bs.html', **ps)
            return

        user['user'] = self.get_oper_user()
        ps['user'] = copy.copy(user)
        if ps['isedit']:
            self.check_oper_right(right=state.operEdit)
            try:
                ou = user_logic.query_one_by_name(name=user['name'])
                info = user_logic.update(id=user['id'],
                                         realName=user['realName'],
                                         departmentID=user['departmentID'],
                                         parentID=user['parentID'],
                                         mobile=user['mobile'],
                                         tel=user['tel'],
                                         email=user['email'],
                                         status=user['status'],
                                         beginDate=user['beginDate'],
                                         endDate=user['endDate'],
                                         remark=user['remark'],
                                         user=user['user'])
                if info:
                    nu = user_logic.query_one_by_name(name=user['name'])
                    self.bind_role(userID=nu['id'],
                                   roleID=ps['roleID'],
                                   user=user['user'])
                    self.bind_user_group(userID=nu['id'],
                                         userGroupID=ps['userGroupID'],
                                         user=user['user'])
                    self.write_oper_log(action='userEdit',
                                        targetType=1,
                                        targetID=str(nu['id']),
                                        targetName=nu['name'],
                                        startStatus=str_helper.json_encode(ou),
                                        endStatus=str_helper.json_encode(nu))
                    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.operEdit)
            try:
                info = user_logic.add(name=user['name'],
                                      passWord=user['passWord'],
                                      realName=user['realName'],
                                      departmentID=user['departmentID'],
                                      mobile=user['mobile'],
                                      tel=user['tel'],
                                      email=user['email'],
                                      beginDate=user['beginDate'],
                                      endDate=user['endDate'],
                                      status=user['status'],
                                      remark=user['remark'],
                                      parentID=user['parentID'],
                                      user=user['user'])
                if info > 0:
                    nu = user_logic.query_one_by_name(name=user['name'])
                    self.bind_role(userID=nu['id'],
                                   roleID=ps['roleID'],
                                   user=user['user'])
                    self.bind_user_group(userID=nu['id'],
                                         userGroupID=ps['userGroupID'],
                                         user=user['user'])
                    self.write_oper_log(action='userCreate',
                                        targetType=1,
                                        targetID=str(nu['id']),
                                        targetName=nu['name'],
                                        startStatus='',
                                        endStatus=str_helper.json_encode(nu))
                    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/user/add_or_edit_bs.html', **ps)
Exemplo n.º 31
0
    def post(self):
        ps = self.get_page_config('创建项目')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑项目')

        project = self.get_args(['name', 'teamPath', 'productUserName', 'productUserRealName', 
                        'devUserName', 'devUserRealName','startDate', 'endDate', 'remark'], '')
        project['status'] = int(self.get_arg('status', '0'))
        project['id'] = int(self.get_arg('id', '0'))        
        project['productIDs'] = str_helper.format_str_to_list_filter_empty(self.get_arg('productIDs',''), ',')
        project['products'] = product_logic.ProductLogic.instance().query_by_ids(project['productIDs'])

        ps = self._init_template_info(ps)

        '''  获取绑定的用户  BEGIN '''
        users = []
        oneUserNames = {}        
        for role in ps['projectRoles']:
            rid = role['id']
            if role['isOne']:
                #单人
                un = self.get_arg('role_select_'+str(rid), '')
                urn = self.get_arg('user_real_name_'+str(rid), '')
                if un != '':                    
                    project['userName_'+str(rid)] = un
                    users.append({'type':rid, 'userName':un, 'userRealName': urn})
                if rid == state.productManagerRoleID:
                    project['productUserName'] = un
                    project['productUserRealName'] = urn
                elif rid == state.devManagerRoleID:
                    project['devUserName'] = un
                    project['devUserRealName'] = urn
            else:
                #多人
                uns = str_helper.format_str_to_list_filter_empty(self.get_arg('userNames_'+str(rid),''), ',')
                for un in uns:
                    for unn in ps['roleUsers'][rid]:
                        if un != unn['userName']:
                            continue
                        users.append({'type':rid, 'userName':un, 'userRealName': unn['userRealName']})
        '''  获取绑定的用户  END '''
        project['users'] = users

        ps['project'] = project

        if len(project['productIDs']) <= 0:
            ps['msg'] = '请选择产品'
            self.render('admin/project/add_or_edit.html', **ps)
            return

        if len(project['users']) <= 0:
            ps['msg'] = '请选择人员'
            self.render('admin/project/add_or_edit.html', **ps)
            return
        
        msg = self.check_str_empty_input(project, ['name', 'productUserName', 'productUserRealName', 
                            'devUserName', 'devUserRealName','startDate', 'endDate'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/project/add_or_edit.html', **ps)
            return

        project['user'] = self.get_oper_user()
        if ps['isedit']:
            # self.check_oper_right(right = state.operEdit)
            try:
                info = project_logic.ProjectLogic.instance().update(id = project['id'], name = project['name'], 
                        teamPath = project['teamPath'], productUserName = project['productUserName'], 
                        productUserRealName = project['productUserRealName'], devUserName = project['devUserName'], 
                        devUserRealName = project['devUserRealName'], startDate = project['startDate'], 
                        endDate = project['endDate'], status = project['status'], 
                        remark = project['remark'], user = project['user'], productIDs = project['productIDs'], users = project['users'])
                if info:
                    self.redirect(ps['siteDomain'] + 'Admin/Project/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        else:
            # self.check_oper_right(right = state.operAdd)
            try:
                info = project_logic.ProjectLogic.instance().add(name = project['name'], 
                        teamPath = project['teamPath'], productUserName = project['productUserName'], 
                        productUserRealName = project['productUserRealName'], devUserName = project['devUserName'], 
                        devUserRealName = project['devUserRealName'], startDate = project['startDate'], 
                        endDate = project['endDate'], status = project['status'], 
                        remark = project['remark'], user = project['user'], productIDs = project['productIDs'], users = project['users'])
                if info > 0:
                    self.redirect(ps['siteDomain'] + 'Admin/Project/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/project/add_or_edit.html', **ps)
Exemplo n.º 32
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)
Exemplo n.º 33
0
    def post(self):
        ps = self.get_page_config(title = '创建用户')
        ps['ResetPasswordType'] = self.check_oper_right_custom_right(self._rightKey, self._resetPwKey)
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑用户')

        user = self.get_args(['id', 'passWord', 'name', 'realName', 'mobile', 'tel', 'email', 'remark', 'beginDate', 'endDate'], '')
        user['status'] = int(self.get_arg('status', '0'))
        user['departmentID'] = int(self.get_arg('departmentID', '0'))
        user['parentID'] = int(self.get_arg('parentID', '0'))
        ps['user'] = user
        ps['userStatus'] = state.UserStatus
        ps['roleID'] = self.get_arg('role', '')
        ps['userGroupID'] = self.get_arg('userGroup', '')
        ps['deps'] = department_logic.query_all_by_active()
        msg = self.check_str_empty_input(user, ['name', 'realName', 'email', 'mobile', 'beginDate', 'endDate'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            ps = self.format_none_to_empty(ps)
            self.render('admin/user/add_or_edit.html', **ps)
            return

        user['user'] = self.get_oper_user()
        ps['user'] = copy.copy(user)
        if ps['isedit']:
            self.check_oper_right(right = state.operEdit)
            try:
                ou = user_logic.query_one_by_name(name = user['name'])
                info = user_logic.update(id = user['id'], realName = user['realName'], 
                        departmentID = user['departmentID'], parentID = user['parentID'], mobile = user['mobile'], 
                        tel = user['tel'], email = user['email'], status = user['status'], beginDate = user['beginDate'], 
                        endDate = user['endDate'], remark = user['remark'], user = user['user'])
                if info:
                    nu = user_logic.query_one_by_name(name = user['name'])
                    self.bind_role(userID = nu['id'], roleID = ps['roleID'], user = user['user'])
                    self.bind_user_group(userID = nu['id'], userGroupID = ps['userGroupID'], user = user['user'])
                    self.write_oper_log(action = 'userEdit', targetType = 1, targetID = str(nu['id']), targetName = nu['name'], startStatus = str_helper.json_encode(ou), endStatus= str_helper.json_encode(nu))
                    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.operEdit)            
            try:
                info = user_logic.add(name = user['name'], passWord = user['passWord'], 
                            realName = user['realName'], departmentID = user['departmentID'], mobile = user['mobile'], 
                            tel = user['tel'], email = user['email'],beginDate = user['beginDate'], 
                            endDate = user['endDate'], status = user['status'], remark = user['remark'], 
                            parentID = user['parentID'], user = user['user'])
                if info > 0:
                    nu = user_logic.query_one_by_name(name = user['name'])
                    self.bind_role(userID = nu['id'], roleID = ps['roleID'], user = user['user'])
                    self.bind_user_group(userID = nu['id'], userGroupID = ps['userGroupID'], user = user['user'])
                    self.write_oper_log(action = 'userCreate', targetType = 1, targetID = str(nu['id']), targetName = nu['name'], startStatus = '', endStatus= str_helper.json_encode(nu))
                    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/user/add_or_edit.html', **ps)
Exemplo n.º 34
0
    def post(self):
        ps = self.get_page_config('创建非项目计划任务')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑非项目计划任务')

        ps['users'] = self._get_user_list()
        if None == ps['users'] or len(ps['users']) <= 0:
            self.render('admin/task/project_task_list.html', **ps)
            return
        ps['user'] = self.get_oper_user()

        task = self.get_args([
            'name', 'userName', 'userRealName', 'startDate', 'endDate',
            'users', 'remark'
        ], '')
        task['degree'] = int(self.get_arg('degree', '0'))
        task['type'] = int(self.get_arg('type', '0'))
        task['id'] = int(self.get_arg('id', '0'))

        ps['task'] = task

        msg = self.check_str_empty_input(
            task, ['name', 'userName', 'userRealName', 'startDate', 'endDate'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/task/add_or_edit.html', **ps)
            return

        if ps['isedit']:
            try:
                info = task_logic.TaskLogic.instance().update(
                    id=task['id'],
                    name=task['name'],
                    userName=task['userName'],
                    userRealName=task['userRealName'],
                    date=1,
                    startDate=task['startDate'],
                    endDate=task['endDate'],
                    users=task['users'],
                    degree=task['degree'],
                    remark=task['remark'],
                    user=ps['user'])
                if info:
                    self.redirect(ps['siteDomain'] + 'Admin/Task/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        else:
            # self.check_oper_right(right = state.operAdd)
            status = task_logic.TaskLogic.instance().get_task_status(
                degree=task['degree'])
            try:
                info = task_logic.TaskLogic.instance().add(
                    name=task['name'],
                    type=task['type'],
                    projectID=0,
                    userName=task['userName'],
                    userRealName=task['userRealName'],
                    date=1,
                    startDate=task['startDate'],
                    endDate=task['endDate'],
                    users=task['users'],
                    preID=0,
                    parentID=0,
                    sort=0,
                    status=status,
                    degree=task['degree'],
                    remark=task['remark'],
                    user=ps['user'])
                if info > 0:
                    self.redirect(ps['siteDomain'] + 'Admin/Task/List')
                    return
                else:
                    ps['msg'] = state.ResultInfo.get(101, '')
            except error.ProjectError as e:
                ps['msg'] = e.msg
        ps = self.format_none_to_empty(ps)
        self.render('admin/task/add_or_edit.html', **ps)
Exemplo n.º 35
0
    def post(self):
        ps = self.get_page_config(title='创建部门')
        if ps['isedit']:
            ps['title'] = self.get_page_title('编辑部门')

        dep = self.get_args(['name', 'remark'], '')
        dep['status'] = int(self.get_arg('status', '0'))
        dep['id'] = int(self.get_arg('id', '0'))
        ps['dep'] = dep
        msg = self.check_str_empty_input(dep, ['name'])
        if str_helper.is_null_or_empty(msg) == False:
            ps['msg'] = msg
            self.render('admin/department/add_or_edit_bs.html', **ps)
            return
        dep['user'] = self.get_oper_user()
        if ps['isedit']:
            self.check_oper_right(right=state.operEdit)

            try:
                od = department_logic.query_one(dep['id'])
                info = department_logic.update(id=dep['id'],
                                               name=dep['name'],
                                               status=dep['status'],
                                               remark=dep['remark'],
                                               user=dep['user'])

                if info:
                    nd = department_logic.query_one(dep['id'])
                    self.write_oper_log(action='depEdit',
                                        targetType=4,
                                        targetID=str(nd['id']),
                                        targetName=nd['name'],
                                        startStatus=str_helper.json_encode(od),
                                        endStatus=str_helper.json_encode(nd))
                    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 = department_logic.add(name=dep['name'],
                                            status=dep['status'],
                                            remark=dep['remark'],
                                            user=dep['user'])
                if info:
                    nd = department_logic.query_one_by_name(dep['name'])
                    self.write_oper_log(action='depCreate',
                                        targetType=4,
                                        targetID=str(nd['id']),
                                        targetName=nd['name'],
                                        startStatus='',
                                        endStatus=str_helper.json_encode(nd))
                    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/department/add_or_edit_bs.html', **ps)