Пример #1
0
    def delete(self, *args, **kwargs):
        """admin only, web only"""
        phone_id = self.get_argument("phoneId", default="")
        if not phone_id:
            result = {"errno": 1, "reason": "missing argument"}
        else:
            phone = get_phone_by_phone_id(self.session, phone_id)
            if not phone:
                result = {"errno": 1, "reason": "phone do not exist"}
            else:
                phone.active = False
                self.session.commit()
                result = {"errno": 0}

        return self.write(json.dumps(result))
    def post(self, *args, **kwargs):
        """admin only"""
        result = {
            "errno": 0,
            "reason": ""
        }
        try:
            key = self.get_argument("key")
            user = get_user_by_key(self.session, key)
            if not user:
                result["errno"] = 1
                result["reason"] = u"非法key"
            elif not user.admin:
                result["errno"] = 1
                result["reason"] = u"用户不是管理员"
            else:
                phone_id = self.get_argument("phoneId")
                identifier = self.get_argument("identifier")
                product = self.get_argument("product", default="")
                mode = self.get_argument("mode", default="")
                dpi = self.get_argument("dpi", default="")
                osv = self.get_argument("osv", default="")
                osvalias = self.get_argument("osvalias", default="")
                belongs = self.get_argument("belongs", default="")

                phone = get_phone_by_phone_id(self.session, phone_id)

                if phone:
                    result["errno"] = 1
                    result["reason"] = u"phoneId已存在"
                else:
                    new_phone = register_phone(self.session, phone_id, identifier,
                                               product, mode, dpi, osv, osvalias, belongs)
                    if new_phone:
                        set_borrower(self.session, new_phone, user)
                    else:
                        result["errno"] = 1
                        result["reason"] = u"注册设备失败"
        except tornado.web.MissingArgumentError:
            result["errno"] = 1
            result["reason"] = u"缺少字段"

        return self.write(json.dumps(result))
Пример #3
0
    def get(self, *args, **kwargs):
        result = {
            "errno": 0,
            "reason": "",
            "phone_info": []
        }
        phone_id = self.get_argument("phoneId", default="")

        if not phone_id:
            phones = get_all_phone(self.session)
            for phone in phones:
                usage = get_phone_usage(self.session, phone)
                result["phone_info"].append(dict(
                    phoneId=phone.phone_id,
                    identifier=phone.identifier,
                    product=phone.product,
                    mode=phone.mode,
                    dpi=phone.dpi,
                    osv=phone.osv,
                    osvalias=phone.osv_alias,
                    belongs=phone.belongs,
                    currentuser=usage.email if usage is not None else ""
                ))
        else:
            phone = get_phone_by_phone_id(self.session, phone_id)
            usage = get_phone_usage(self.session, phone)
            if not phone:
                result["phone_info"] = []
            else:
                result["phone_info"] = [dict(
                    qiyi_id=phone.qiyi_id,
                    phoneId=phone.phone_id,
                    identifier=phone.identifier,
                    product=phone.product,
                    mode=phone.mode,
                    dpi=phone.dpi,
                    osv=phone.osv,
                    osvalias=phone.osv_alias,
                    belongs=phone.belongs,
                    currentuser=usage.email if usage is not None else ""
                )]
        return self.write(json.dumps(result))
    def post(self, *args, **kwargs):
        result = {
            "errno": 0,
            "reason": ""
        }

        try:
            key = self.get_argument("key")
            phone_id = self.get_argument("phoneId")
            user = get_user_by_key(self.session, key)
            phone = get_phone_by_phone_id(self.session, phone_id)

            if not user:
                result["errno"] = 1
                result["reason"] = u"非法key"
            elif not phone:
                result["errno"] = 1
                result["reason"] = u"非法phoneId"
            elif user.blacklist is True:
                result["errno"] = 1
                result["reason"] = u"该用户在黑名单"
            elif user.active is False:
                result["errno"] = 1
                result["reason"] = u"该用户不可操作"
            elif phone.active is False:
                result["errno"] = 1
                result["reason"] = u"该设备不可用"
            else:
                if set_borrower(self.session, phone, user):
                    pass
                else:
                    result["errno"] = 1
                    result["reason"] = u"设置失败"
        except tornado.web.MissingArgumentError:
            result["errno"] = 1
            result["reason"] = u"缺少参数"
            return self.write(json.dumps(result))

        return self.write(json.dumps(result))
Пример #5
0
    def post(self, *args, **kwargs):
        """admin only, web only"""
        result = {
            "errno": 0,
            "reason": ""
        }

        try:
            qiyi_id = self.get_argument("qiyi-id")
            phone_id = self.get_argument("id")
            identifier = self.get_argument("identifier")
            product = self.get_argument("product")
            mode = self.get_argument("mode")
            dpi = self.get_argument("dpi")
            osv = self.get_argument("osv")
            osvalias = self.get_argument("osv-alias")
            # belongs = self.get_argument("belongs")
            phone = get_phone_by_phone_id(self.session, phone_id)
            if not phone:
                result["errno"] = 1
                result["reason"] = "invalid phone_id"
            else:
                phone.identifier = identifier
                phone.product = product
                phone.mode = mode
                phone.dpi = dpi
                phone.osv = osv
                phone.osv_alias = osvalias
                phone.qiyi_id = qiyi_id
                # phone.belongs = belongs
                self.session.commit()
        except tornado.web.MissingArgumentError:
            result["errno"] = 1
            result["reason"] = "missing argument"

        return self.write(json.dumps(result))