def handle(self, provider, mail): from applications.order.service import OrderService from db import db order = OrderService.create_order(date_start=self.date_from, date_end=self.date_to, provider_id=provider.id) products = self.get_products() mail.order = order db.session.add(mail) for product in products: OrderService.handle_orderitem( full_name=product.full_name, name=product.name, number_local=product.number_local, number_global=product.number_global, date=product.date, remission=product.remission, NDS=product.NDS, price_prev=product.price_prev, price_post=product.price_post, order=order)
def post_save(self, obj, data, create_new=False): if obj.id: if datetime.now().date() > HelperService.convert_to_pydate( obj.date_end).date(): raise BaseCanoniseResource.CanonException( u"Нельзя редактировать заказ с истекшим сроком.") OrderService.set_handling(obj.id) items = data['items'] if 'items' in data else [] for item in items: OrderService.set_count_by_id(item['id'], item['count']) super(OrderCanon, self).post_save(obj, data, create_new=create_new)