def _show_prep(self, report_id): report = Report.load(report_id) campaigns = products = companies = users = vendors = None if report.show_campaign_id: campaigns = util.select_list(Campaign.find_all(self.enterprise_id), 'campaign_id', 'name', True) if report.show_vendor_id: vendors = util.select_list(Vendor.find_all(self.enterprise_id), 'vendor_id', 'name', True) if report.show_company_id: companies = util.select_list(Company.find_all(self.enterprise_id), 'company_id', 'name', True) if report.show_user_id: users = util.select_list(Users.find_all(self.enterprise_id), 'user_id', 'user_id', True) if report.show_product_id: products = util.select_list(Product.find_all(self.enterprise_id), 'product_id', 'name', True) return { 'today' : util.today_date(), 'tomorrow' : util.tomorrow(), 'thirty_ago' : util.today_date() - datetime.timedelta(days=30), 'rpt_end_dt' : self.request.GET.get('rpt_end_dt'), 'rpt_start_dt' : self.request.GET.get('rpt_start_dt'), 'enterprise_id' : self.enterprise_id, 'report' : report, 'campaigns' : campaigns, 'products' : products, 'companies' : companies, 'users' : users, 'vendors' : vendors }
def show_search(self): return { 'company_name' : None, 'fname' : None, 'lname' : None, 'email' : None, 'phone' : None, 'customers' : None, 'user_assigned' : None, 'users' : util.select_list(Users.find_all(self.enterprise_id), 'user_id', ['fname', 'lname'], True) }
def _edit_impl(self): customer_id = self.request.matchdict.get('customer_id') customer = None if customer_id: customer = Customer.load(customer_id) self.forbid_if(not customer or customer.campaign.company.enterprise_id != self.enterprise_id) self._add_to_recent(customer) else: customer = Customer() customer.campaign = self.request.ctx.site.company.default_campaign return { 'customer' : customer, 'users' : util.select_list(Users.find_all(self.enterprise_id), 'user_id', ['fname', 'lname'], True), 'phases' : util.select_list(CustomerPhase.find_all(self.enterprise_id), 'phase_id', 'display_name', True), 'campaigns' : util.select_list(Campaign.find_all(self.enterprise_id), 'campaign_id', 'name') }
def search(self): ret = { 'company_name' : None, 'fname' : None, 'lname' : None, 'email' : None, 'phone' : None, 'customers' : None, 'user_assigned' : None, 'users' : util.select_list(Users.find_all(self.enterprise_id), 'user_id', ['fname', 'lname'], True) } ret['company_name'] = self.request.POST.get('company_name', self.request.GET.get('company_name')) ret['fname'] = self.request.POST.get('fname', self.request.GET.get('fname')) ret['lname'] = self.request.POST.get('lname', self.request.GET.get('lname')) ret['email'] = self.request.POST.get('email', self.request.GET.get('email')) ret['phone'] = self.request.POST.get('phone', self.request.GET.get('phone')) ret['user_assigned'] = self.request.POST.get('user_assigned', self.request.GET.get('user_assigned')) ret['customers'] = Customer.search(self.enterprise_id, ret['company_name'], ret['fname'], ret['lname'], ret['email'], ret['phone'], ret['user_assigned']) if 'customers' in ret and len(ret['customers']) == 1: ret = HTTPFound('/crm/customer/edit/%s' % ret['customers'][0].customer_id) return ret
def list(self): return {'users' : Users.find_all(self.enterprise_id)}