def get_detail(cls, **kwargs): instance = cls.get_object(**kwargs) if isinstance(instance, Exception): return instance detail = model_to_dict(instance) detail['dishes_ids'] = json.loads(detail['dishes_ids']) return detail
def perfect_detail(self): is_recommend = self.is_recommend reply_message = '' if is_recommend: reply = ReplyComment.get_object(comment_id=self.pk) reply_message = reply.message source_ins = self.get_source_object(source_type=self.source_type, source_id=self.source_id) if isinstance(source_ins, Exception): return source_ins else: source_title = source_ins.title user = User.get_object(pk=self.user_id) user_nickname = '' if not isinstance(user, Exception): user_nickname = user.nickname detail = model_to_dict(self) detail['is_recommend'] = is_recommend detail['reply_message'] = reply_message detail['source_title'] = source_title detail['user_nickname'] = user_nickname detail['user_head_picture'] = user.head_picture return detail
def perfect_data(self): detail = model_to_dict(self) try: detail['access_token_data'] = json.loads( detail['access_token_data']) except: pass return detail
def perfect_detail(self): report_detail = Report.get_detail(pk=self.report_id) if isinstance(report_detail, Exception): return report_detail detail = model_to_dict(self) for pop_key in ['created', 'updated']: report_detail.pop(pop_key) detail.update(**report_detail) return detail
def get_detail(cls, **kwargs): instance = cls.get_object(**kwargs) if isinstance(instance, Exception): return instance detail = model_to_dict(instance) detail['dishes_ids'] = json.loads(detail['dishes_ids']) detail['is_master'] = True detail['consumer_id'] = None detail['notes'] = None return detail
def get_detail(cls, **kwargs): instance = cls.get_object(**kwargs) if isinstance(instance, Exception): return instance dime_instance = Dimension.get_object(pk=instance.dimension_id) if isinstance(dime_instance, Exception): return dime_instance detail = model_to_dict(instance) detail['dimension_name'] = dime_instance.name return detail
def make_instances_to_dict(cls, orders_list, set_payment_mode=None): if isinstance(orders_list, cls): orders_list = list(orders_list) detail_list = [] for orders in orders_list: item_dict = model_to_dict(orders) item_dict['dishes_ids'] = json.loads(item_dict['dishes_ids']) item_dict['is_master'] = False if set_payment_mode: item_dict['payment_mode'] = set_payment_mode detail_list.append(item_dict) return detail_list
def make_instances_to_dict(cls, orders_list): if isinstance(orders_list, cls): orders_list = [orders_list] detail_list = [] for orders in orders_list: item_dict = model_to_dict(orders) item_dict['dishes_ids'] = json.loads(item_dict['dishes_ids']) item_dict['is_master'] = True item_dict['consumer_id'] = None item_dict['notes'] = None if orders.payment_status == ORDERS_PAYMENT_STATUS['paid']: item_dict['payment_status'] = ORDERS_PAYMENT_STATUS['paid'] detail_list.append(item_dict) return detail_list
def make_orders_by_dishes_ids(cls, request, dishes_ids, created=None): meal_ids = [] total_amount = '0' member_discount = '0' other_discount = '0' for item in dishes_ids: object_data = cls.get_dishes_by_id(item['dishes_id']) if isinstance(object_data, Exception): return object_data object_dict = model_to_dict(object_data) object_dict['count'] = item['count'] meal_ids.append(object_dict) total_amount = str( Decimal(total_amount) + Decimal(object_data.price) * item['count']) food_court_obj = FoodCourt.get_object(pk=request.user.food_court_id) if isinstance(food_court_obj, Exception): return food_court_obj orders_data = { 'user_id': request.user.id, 'orders_id': OrdersIdGenerator.get_orders_id(), 'food_court_id': request.user.food_court_id, 'food_court_name': food_court_obj.name, 'business_name': request.user.business_name, 'dishes_ids': json.dumps(meal_ids, ensure_ascii=False, cls=DatetimeEncode), 'total_amount': total_amount, 'member_discount': member_discount, 'other_discount': other_discount, 'payable': str( Decimal(total_amount) - Decimal(member_discount) - Decimal(other_discount)) } if created: orders_data['created'] = created return orders_data
def get_detail(cls, **kwargs): instance = cls.get_object(**kwargs) if isinstance(instance, Exception): return instance tag_ins = Tag.get_object(pk=instance.tag_id) if isinstance(tag_ins, Exception): return tag_ins attr_ins = Attribute.get_object(pk=instance.attribute_id) if isinstance(attr_ins, Exception): return attr_ins detail = model_to_dict(instance) detail['tag_name'] = tag_ins.name detail['attribute_name'] = attr_ins.name return detail
def perfect_detail(self): detail = model_to_dict(self) if hasattr(self, 'AdminMeta'): if hasattr(self.AdminMeta, 'json_fields'): for field in self.AdminMeta.json_fields: if field == 'tags': tag_ids = json.loads(detail[field]) detail[field] = self.get_perfect_tags(tag_ids) else: detail[field] = json.loads(detail[field]) media = MediaCache().get_media_by_id(self.media_id) if isinstance(media, Exception): return media detail['media_picture'] = media.picture return detail
def filter_details(cls, **kwargs): instances = cls.filter_objects(**kwargs) if isinstance(instances, Exception): return instances details = [] dime_dict = {} for ins in instances: dime_ins = dime_dict.get(ins.dimension_id) if not dime_ins: dime_ins = Dimension.get_object(pk=ins.dimension_id) if isinstance(dime_ins, Exception): continue dime_dict[ins.dimension_id] = dime_ins item_detail = model_to_dict(ins) item_detail['dimension_name'] = dime_ins.name details.append(item_detail) return details
def filter_perfect_objects(cls, **kwargs): instances = cls.filter_objects(**kwargs) if isinstance(instances, Exception): return instances details = [] coupons_dict = {} for ins in instances: coupons = coupons_dict.get(ins.coupons_id) if not coupons: coupons = CouponsConfig.get_object(pk=ins.coupons_id) coupons_dict[ins.coupons_id] = coupons detail = model_to_dict(ins) update_dict = { 'coupons_name': coupons.name, 'coupons_type': coupons.type, } detail.update(update_dict) details.append(detail) return details
def perfect_detail(self): is_recommend = self.is_recommend reply_message = '' created_for_admin = None if is_recommend: reply = ReplyComment.get_object(comment_id=self.pk) reply_message = reply.message created_for_admin = reply.updated source_ins = self.get_source_object(source_type=self.source_type, source_id=self.source_id) if isinstance(source_ins, Exception): source_title = '' else: source_title = source_ins.title item_dict = model_to_dict(self) item_dict['is_recommend'] = is_recommend item_dict['reply_message'] = reply_message item_dict['source_title'] = source_title item_dict['created_for_user'] = item_dict['created'] item_dict['created_for_admin'] = created_for_admin return item_dict
def filter_details(cls, **kwargs): instances = cls.filter_objects(**kwargs) if isinstance(instances, Exception): return instances tag_ins_dict = {} attr_ins_dict = {} details = [] for ins in instances: tag_ins = tag_ins_dict.get(ins.tag_id) if not tag_ins: tag_ins = Tag.get_object(pk=ins.tag_id) if isinstance(tag_ins, Exception): continue attr_ins = attr_ins_dict.get(ins.attribute_id) if not attr_ins: attr_ins = Attribute.get_object(pk=ins.attribute_id) if isinstance(attr_ins, Exception): continue item_detail = model_to_dict(ins) item_detail['tag_name'] = tag_ins.name item_detail['attribute_name'] = attr_ins.name details.append(item_detail) return details