Beispiel #1
0
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))
Beispiel #2
0
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')
Beispiel #3
0
 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)}
Beispiel #4
0
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')
Beispiel #5
0
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))
Beispiel #6
0
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='项目级别权限分配失败')
Beispiel #7
0
 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)}
Beispiel #8
0
def set_proj_tags(proj_id, tags):
    proj = ProjMgr.get(proj_id)
    if proj:
        ProjMgr.update(proj, tags=tags)
Beispiel #9
0
 def get_proj_by_id(proj_id):
     """通过项目id获取单个项目"""
     return to_dict(ProjMgr.get(proj_id))