Beispiel #1
0
def upload_status(item):
    item['first_created'] = unixto_string(item.get('first_created'))
    item['last_modified'] = unixto_string(item.get('last_modified'))
    server_names = [_LOCAL, _EC2]
    for server in server_names:
        last_release_server = "last_release_%s" % server
        if item.get(last_release_server):
            item[last_release_server] = unixto_string(
                item.get(last_release_server))
        else:
            item[last_release_server] = ''
    return item
Beispiel #2
0
def get_userlog(req_query={}, db='usermanage'):
    # db = _DB
    return_data = {}
    cond = search_cond(req_query)
    client = MongoClient(host=USER_DBIP, port=27017)
    userlog = client[db]['userlog']
    pageindex = req_query.get('index')
    pagesize = req_query.get('limit')
    sort_field = req_query.get('sort_field', '_id')
    sort_way = req_query.get('sort_way', -1)
    total = userlog.find(cond).count()
    raw_res = userlog.find(
        cond).sort(sort_field, sort_way).skip(
        pageindex * pagesize).limit(pagesize)
    log_list = []
    for res in raw_res:
        new_dict = {
            'id': res.get('_id'),
            'username': res.get('username'),
            'optime': unixto_string(res.get('optime')),
            'appname': res.get('appname'),
            'modelname': res.get('modelname'),
            'action': res.get('action'),
            'modelid': res.get('modelid'),
            'modeltitle': res.get('modeltitle'),
            'memo': res.get('memo')}
        log_list.append(new_dict)
    return_data['results'] = log_list
    return_data['total'] = total
    return return_data
Beispiel #3
0
def icon_get(appname, iconid):
    cond = {"_id": iconid}
    icon = Icon.find_one(appname, cond, Icon.fields)
    if not icon:
        return json_response_error(PARAM_ERROR, msg='%s not in db' % (iconid))
    icon["id"] = icon.pop("_id")
    icon["last_modified"] = unixto_string(icon.get("last_modified"))
    return json_response_ok(icon)
Beispiel #4
0
def user_list(appname, page=0, page_size=PAGE_SIZE, searchKeyword=None):
    """
        list api for show user list.

        Request URL:  /appname/auth/user/list

        Http Method:  GET

        Parameters : None

        Return :
        {
        "status":0
        "data":{
                "items":[
                {
                "_id":"2",
                "user_name":"admin",
                "email":"*****@*****.**",
                "permission_list":[19,20,21,22]
                },
                {
                    "_id":4,
                    "user_name":"translator",
                    "email":"*****@*****.**",
                    "permission_list":[22,23]
                }
                ]
                }
            }

     """
    cond = {}
    if searchKeyword:
        cond = search_cond(appname, searchKeyword)
    fields = {"password": 0, "super": 0, "permission_list": 0, "department": 0, "is_superuser": 0}
    sort = [("last_login", -1)]
    user_cursor = User.find_users(appname, cond, fields)
    if sort is not None:
        user_cursor = user_cursor.sort(sort)
    user_cursor = user_cursor.skip(page * page_size).limit(page_size)
    total = User.find_users(appname, cond).count()
    users = []
    for item in user_cursor:
        item["id"] = item.pop("_id")
        item["last_login"] = unixto_string(item.get("last_login"))
        item["role"] = get_role(appname, item["group_id"])
        users.append(item)
    data = {}
    data.setdefault("items", users)
    data.setdefault("total", total)
    return json_response_ok(data)
Beispiel #5
0
def common_list(appname, modelname, query_dict):
    model_list = []
    page_models = CommonBase.list_base(appname, modelname, query_dict)
    items = page_models['results']
    total = page_models['total']
    for item in items:
        if item.get('aosruledata'):
            item.update(
                CommonBase.fetch_lcpn(appname, item.get('aosruledata')))
        item['first_created'] = unixto_string(item.get('first_created'))
        item['last_modified'] = unixto_string(item.get('last_modified'))
        if item.get('last_release_ec2'):
            item['last_release_ec2'] = unixto_string(
                item.get('last_release_ec2'))
        else:
            item['last_release_ec2'] = ''
        if item.get('icon') is not None:
            item["icon"] = get_icon_url(appname, item['icon']['id'])
        model_list.append(item)
    data = {}
    data['total'] = total
    data['items'] = model_list
    return json_response_ok(data, msg='get model list')
Beispiel #6
0
def update_status_by_id(appname, projectname, modulename, id, status):
    coll = get_coll_by_module(appname, projectname, modulename)
    cond = {"_id": id}
    field = {
        "_id": 0, "checked": 1, "last_modified": 1,
        "upload_local": 1, "upload_ec2": 1}
    info = ArmoryMongo[projectname][coll].find_one(cond, field)
    if info:
        info["checked"] = status
        info["last_modified"] = now_timestamp()
        ArmoryMongo[projectname][coll].update(cond, {'$set': info})
        info["release"] = get_status(info)
        info["last_modified"] = unixto_string(info["last_modified"])
        info["id"] = id
        return info
    else:
        return None
Beispiel #7
0
def info_mod(appname, MODELNAME, data):
    info_id = data.pop("id")
    old_info = MODELNAME.find_one(appname, {"title": data["title"]})
    if old_info and old_info["_id"] != info_id:
        return json_response_error(PARAM_ERROR, msg="the title exist")

    cond = {"_id": info_id}
    info = MODELNAME.find_one(appname, cond, MODELNAME.fields)
    if not info:
        return json_response_error(PARAM_ERROR, "invalid id: %s" % info_id)

    data["last_modified"] = now_timestamp()
    MODELNAME.update(appname, cond, data)
    _LOGGER.info("update %s:%s success", MODELNAME.model_name, info_id)

    data["last_modified"] = unixto_string(data.get("last_modified"))
    data["id"] = info_id
    return json_response_ok(data)
Beispiel #8
0
def user_info(appname, gid):
    """
        get user info by group id

        Parameters : groupid

        Return :
        {
            "items":[
                {
                    "id":2,
                    "user_name":"*****@*****.**",
                    "role":[19,20,21,22],
                    "last_login":"******",
                    "total_login": 2,
                    "mark": ""
                },
                {
                    "id":2,
                    "user_name":"*****@*****.**",
                    "role":[19,20,21,22],
                    "last_login":"******",
                    "total_login": 2,
                    "mark": ""
                }
            ]
        }

     """
    cond = {"group_id": gid}
    fields = {"password": 0, "super": 0, "permission_list": 0, "department": 0, "is_superuser": 0}
    sort = [("last_login", -1)]
    user_cursor = User.find_users(appname, cond, fields).sort(sort)
    users = []
    for item in user_cursor:
        item["id"] = item.pop("_id")
        item["last_login"] = unixto_string(item.get("last_login"))
        item["role"] = get_role(appname, item["group_id"])
        users.append(item)
    return users
Beispiel #9
0
def get_list_page_info(item):
    item["id"] = item.pop("_id")
    item["first_created"] = unixto_string(item.get("first_created"))
    item["last_modified"] = unixto_string(item.get("last_modified"))
    return item