示例#1
0
def org_record_to_dict(record, mode, level):
    dict = {
        'total_device_count': record['total_device_count'],
        'did': record['did'] if record.has_key('did') else None,
        'total_popularize_count': record['total_popularize_count'],
        'total_app_count': record['total_app_count']
    }

    empty_value = {'code': '', 'name': ''}
    levels = available_levels(mode, level)
    for level in levels:
        if level == 'region':
            region = utils.get_model_by_pk(Region.objects, record['region'])
            dict['region'] = region.name if region else None
        elif level == 'company':
            company = utils.get_model_by_pk(Company.objects, record['company'])
            if company:
                dict['company'] = { 'code': company.code, 'name': company.name } 
            else:
                dict['company'] = empty_value
        elif level == 'store':
            store = utils.get_model_by_pk(Store.objects, record['store'])
            if store:
                dict['store'] = { 'code': store.code, 'name': store.name } 
            else:
                dict['store'] = empty_value
        elif level == 'emp':
            emp = utils.get_model_by_pk(Employee.objects, record['uid'])
            if emp:
                dict['emp'] = {'username': emp.username, 'realname': emp.realname } 
            else:
                dict['emp'] = {'username': None, 'realname': None}
        else:
            dict['did'] = record['did']
    return dict
示例#2
0
def log_to_dict(log):
    dict = {
        'brand': log.brand,
        'model': log.model,
        'device': log.did,
        'date': str(log.date)
    }

    apps = App.objects.filter(package=log.appPkg)
    app = apps[0] if len(apps) != 0 else None
    dict["app"] = {
        'id': app.pk if app else log.appID, 
        'package': app.package if app else log.appPkg,
        'name': app.name if app else None,
        'popularize': app.popularize if app else None
    }

    emp = utils.get_model_by_pk(Employee.objects, log.uid)
    organizations = [None, None, None]
    if emp:
        dict["emp"] = emp.username
        for i, item in enumerate(emp.organizations()):
            organizations[i] = item.name
    else:
        dict["emp"] = None
    dict["region"], dict["company"], dict["store"] = organizations

    return dict;
示例#3
0
    def filter(self):
        user_org = self.user.org()

        if self.emp_id:
            emp = utils.get_model_by_pk(Employee.objects, self.emp_id) 
            if emp and emp.belong_to(user_org):
                return self.logs.filter(uid=self.emp_id)
            else: 
                return self.logs.none()

        if self.org_id:
            org = utils.get_model_by_pk(Organization.objects, self.org_id) 
            org = org.cast() if org else None
            if org and org.belong_to(user_org):
                return self.logs.filter_by_organization(org)
            else:
                return self.logs.none()

        return self.logs.filter_by_organization(user_org)
示例#4
0
def device_record_to_dict(record):
    emp = utils.get_model_by_pk(Employee.objects, record['uid'])
    username = emp.username if emp else None
    return {
        'brand': record['brand'],
        'model': record['model'],
        'device': record['did'],
        'total_popularize_count': record['total_popularize_count'],
        'total_app_count': record['total_app_count'],
        'emp': username
    }
示例#5
0
    def filter(self):
        if self.emp_id:
            return self.logs.filter(uid=self.emp_id)

        if not self.org_id:
            return self.logs

        org = utils.get_model_by_pk(Organization.objects, self.org_id)
        if not org:
            return self.logs

        return self.logs.filter_by_organization(org.cast())
示例#6
0
def installed_capacity_to_dict(capacity):
    logger.debug(capacity) 
    dict = {}
    apps = App.objects.filter(package=capacity['appPkg'])
    app = apps[0] if len(apps) != 0 else None
    dict["app"] = {
        'id': capacity['appID'],
        'package': capacity['appPkg'],
        'name': capacity['appName'],
    }
    emp = utils.get_model_by_pk(Employee.objects, capacity['uid'])
    organizations = [None, None, None]
    if emp:
        dict["empid"] = emp.username
        dict["emp"] = emp.realname
        for i, item in enumerate(emp.organizations()):
            organizations[i] = item.name
    else:
        dict["empid"] = None
        dict["emp"] = None
    dict["region"], dict["company"], dict["store"] = organizations
    dict["count"] = capacity['count']
    return dict;