コード例 #1
0
ファイル: product.py プロジェクト: anonymoose/pvscore
 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)
コード例 #2
0
ファイル: purchase.py プロジェクト: anonymoose/pvscore
 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)
コード例 #3
0
ファイル: event.py プロジェクト: anonymoose/pvscore
 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()
         }
コード例 #4
0
ファイル: event.py プロジェクト: anonymoose/pvscore
    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)
コード例 #5
0
ファイル: customer.py プロジェクト: anonymoose/pvscore
 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()