Example #1
0
    def filter(self, keyword=None):
        if not keyword:
            return to_response(200, _result_to_dict(self.table.find()))

        records = {}
        regx = re.compile(".*%s.*" % keyword, re.IGNORECASE)
        search_dict = {"$or": [{"name": regx}, {"email": regx}]}
        return to_response(200, _result_to_dict(self.table.find(search_dict)))
Example #2
0
 def total(self, id):
     member = None
     try:
         member = self.fetch_member(id)
     except InvalidId:
         error_msg = "total@fail: reason: id '%s' not foud" % id
         self.logger.error(error_msg)
         return to_response(500, error_msg)
     result = member.recalc_point()
     return to_response(200, {"result": result})
Example #3
0
 def topup(self, id, point, free, paidtype):
     member = None
     try:
         member = self.fetch_member(id)
     except InvalidId:
         error_msg = "topup@fail: reason: id '%s' not foud" % id
         self.logger.error(error_msg)
         return to_response(500, error_msg)
     result = member.topup(int(point), int(free), paidtype)
     return to_response(200, {"result": result})
Example #4
0
    def register(self, name, address, tel, email):
        member = {
            "name": name,
            "address": address,
            "tel": tel,
            "email": email,
            "total_point": 0,
            "active": True,
            "create_date": datetime.now(),
        }

        if self.table.find({"email": email}).count() > 0:
            msg = "MemberManager.register fail, email duplicate: %s" % email
            self.logger.error(msg)
            return to_response(500, {"msg": msg})

        _id = self.table.insert(member)
        self.logger.info("MemberRegister@%s" % member)
        return to_response(200, _result_to_dict(self.table.find({"_id": _id})))
Example #5
0
 def disable(self, id):
     user = self.table.find_one({"_id": ObjectId(id)})
     user["active"] = False
     self.table.save(user)
     return to_response(200, user)