def update_proj(proj_id, form): proj = ProjMgr.get(proj_id) if proj is None: return dict(status='error', msg='无效的项目编号') ProjMgr.update(proj, **form) # 新增操作记录 __add_proj_op_log(web_util.get_operator_id(), proj.id, proj_constant.PROJ_OP_TYPE_UPDATE, "更改项目信息", proj.proj_status, proj.proj_status) return dict(status='ok', data=to_dict(proj))
def delete_proj(proj_id): proj = ProjMgr.get(proj_id) if proj is None: return dict(status='error', msg='要删除的项目不存在') ProjMgr.delete(proj) PicMgr.clear_pic_list(proj.id) # 新增操作记录 __add_proj_op_log(web_util.get_operator_id(), proj.id, proj_constant.PROJ_OP_TYPE_DELETE, "删除项目", proj.proj_status, proj.proj_status) return dict(status='ok')
def list_proj(org_id, page, page_size=10): """获取项目列表并分页""" filter_condition = {'is_del': 0, 'org_id': org_id} count = ProjMgr.count(filter_conditions=filter_condition) if page_size > 5000: page_size = 5000 records = ProjMgr.query(filter_conditions=filter_condition, limit=page_size, offset=(page - 1) * page_size, order_list=[ProjMgr.model.create_time.desc()]) return {'total_count': count, 'datas': to_dict(records)}
def change_proj_status(proj_id, status): proj = ProjMgr.get(proj_id) if proj is None: return dict(status='error', msg='要更改的项目不存在') from_status = proj.proj_status ProjMgr.update(proj, proj_status=status) __add_proj_op_log(web_util.get_operator_id(), proj_id, proj_constant.PROJ_OP_TYPE_CHANGE_STATUS, '更改项目状态', from_status=from_status, to_status=status) return dict(status='ok')
def create_proj(form): org_id = get_request_org_id() proj = ProjMgr.create(org_id=org_id, **form) # 新增操作记录 __add_proj_op_log(web_util.get_operator_id(), proj.id, proj_constant.PROJ_OP_TYPE_CREATE, "新建一个项目", proj.proj_status, proj.proj_status) return dict(status='ok', data=to_dict(proj))
def __allocate_proj_rights_by_proj(manager_id, proj_ids): projs = ProjMgr.get_proj_by_ids(proj_ids) params_list = [{ 'company_id': proj.company_id, 'proj_id': proj.id } for proj in projs] if UserProjRightsMapMgr.allocate_rights_by_company_proj_list( manager_id, params_list): return dict(status='ok') return dict(status='error', msg='项目级别权限分配失败')
def list_posts_by_org(org_id, page, page_size=10): """获取单个公司所有项目招聘宣传贴""" proj_ids = ProjMgr.get_proj_ids_by_org(org_id) filter_condition = {'is_del': 0} expressions = [ProjRecruitPostMgr.model.proj_id.in_(proj_ids)] count = ProjRecruitPostMgr.count(filter_conditions=filter_condition, expressions=expressions) if page_size > 5000: page_size = 5000 records = ProjRecruitPostMgr.query( filter_conditions=filter_condition, expressions=expressions, limit=page_size, offset=(page - 1) * page_size, order_list=[ProjRecruitPostMgr.model.modify_time.desc()]) return {'total_count': count, 'datas': to_dict(records)}
def set_proj_tags(proj_id, tags): proj = ProjMgr.get(proj_id) if proj: ProjMgr.update(proj, tags=tags)
def get_proj_by_id(proj_id): """通过项目id获取单个项目""" return to_dict(ProjMgr.get(proj_id))