def save_status(self): product_id = self.request.POST['product_id'] product = Product.load(product_id) self.forbid_if(not product or product.company.enterprise_id != self.enterprise_id) event = StatusEvent.load(self.request.POST['event_id']) self.forbid_if(not event or (not event.is_system and event.enterprise_id != self.enterprise_id)) note = self.request.POST.get('note') Status.add(None, product, event, note, self.request.ctx.user) return HTTPFound('/crm/product/show_history/%s' % product_id)
def save_status(self): purchase_order_id = self.request.matchdict.get('purchase_order_id') purchase = PurchaseOrder.load(purchase_order_id) self.forbid_if(not purchase or purchase.company.enterprise_id != self.enterprise_id) event = StatusEvent.load(self.request.POST.get('event_id')) self.forbid_if(not event or not self.request.POST.get('event_id') or (not event.is_system and event.enterprise_id != self.enterprise_id)) note = self.request.POST.get('note') Status.add(None, purchase, event, note, self.request.ctx.user) self.flash("Saved status") return HTTPFound('/crm/purchase/edit/%s' % purchase_order_id)
def _edit_impl(self): event_id = self.request.matchdict.get('event_id') event = None if event_id: event = StatusEvent.load(event_id) self.forbid_if(not event or event.enterprise_id != self.enterprise_id) else: event = StatusEvent() return { 'event' : event, 'event_types' : StatusEvent.get_status_types() }
def save(self): evt = StatusEvent.load(self.request.POST.get('event_id')) if not evt: evt = StatusEvent() evt.enterprise_id = self.enterprise_id else: self.forbid_if(evt.enterprise_id != self.enterprise_id) evt.bind(self.request.POST, True) evt.save() evt.flush() self.flash('Successfully saved %s.' % evt.short_name) return HTTPFound('/crm/event/edit/%s' % evt.event_id)
def save_status(self): customer_id = self.request.matchdict.get('customer_id') customer = Customer.load(customer_id) self.forbid_if(not customer or customer.campaign.company.enterprise_id != self.enterprise_id) event = StatusEvent.load(self.request.POST.get('event_id')) self.forbid_if(not event or not self.request.POST.get('event_id') or (not event.is_system and event.enterprise_id is not None and event.enterprise_id != self.enterprise_id)) order = None note = self.request.POST.get('note') if self.request.POST.get('order_id'): order = CustomerOrder.load(self.request.POST.get('order_id')) self.forbid_if(not order or order.campaign.company.enterprise_id != self.enterprise_id) Status.add(customer, order, event, note, self.request.ctx.user) self.flash('Statused Order to %s' % event.display_name) elif self.request.POST.get('order_item_id'): order_item = OrderItem.load(self.request.POST.get('order_item_id')) self.forbid_if(not order_item or order_item.order.campaign.company.enterprise_id != self.enterprise_id) Status.add(customer, order_item, event, note, self.request.ctx.user) self.flash('Statused Item to %s' % event.display_name) else: Status.add(customer, customer, event, note, self.request.ctx.user) self.flash('Statused Customer to %s' % event.display_name) customer.invalidate_caches() return self.find_redirect()