def make_facets(self,query): facets = [] # ActionTypes Facets if Validators.bool( Config.get('enable_facet_casetypes', purify=True) ): actiontypes = ActionTypes.loadAll(order='actiontype asc'); _types = {'name' : 'actiontypes' , 'clean_name': 'Case Types', 'data' :[]}; for at in actiontypes: subquery = query.filter(Cases.actiontype==at.id) _types['data'].append({'facet':at.actiontype, 'id': at.id, 'count':self.fast_count(subquery)}) facets.append(_types) # County Facets if Validators.bool( Config.get('enable_facet_counties', purify=True) ): counties = Counties.loadAll(order='county asc'); _counties = {'name' : 'counties' , 'clean_name': 'Counties', 'data' :[]}; for county in counties: subquery = query.filter(Cases.county==county.id) _counties['data'].append({'facet':county.county, 'id': county.id, 'count':self.fast_count(subquery)}) facets.append(_counties) # Roles Facets if Validators.bool( Config.get('enable_facet_roles', purify=True) ): roles = Roles.loadAll(order='role asc'); _roles = {'name' : 'roles' , 'clean_name': 'Roles', 'data' :[]}; for role in roles: subquery = query.filter(Entities.role==role.id) _roles['data'].append({'facet':role.role, 'id': role.id, 'count':self.fast_count(subquery)}) facets.append(_roles) # Courts Facets if Validators.bool( Config.get('enable_facet_courts', purify=True) ): courts = Courts.loadAll(order='court asc'); _court = {'name' : 'courts' , 'clean_name': 'Courts', 'data' :[]}; for court in courts: subquery = query.filter(Cases.court==court.id) _court['data'].append({'facet':court.court, 'id': court.id, 'count':self.fast_count(subquery)}) facets.append(_court) # Archive Facets if Validators.bool( Config.get('enable_facet_archives', purify=True) ): archives = Archives.loadAll(order='name asc'); _archives = {'name' : 'archives' , 'clean_name': 'Archives', 'data' :[]}; for archive in archives: subquery = query.filter(Cases.archive==archive.id) _archives['data'].append({'facet':archive.name, 'id': archive.id, 'count':self.fast_count(subquery)}) facets.append(_archives) return facets
def basket(self): self.set('records', []) if 'submit' in self.request.params: return self.create_invoice() else: items = self.request.cookies.get('basket',False) if items: items = json.loads(urllib2.unquote(items)) results = [] price, total_price = 0.0, 0.0 for k,v in items.items(): entity = DBSession.query(Entities,Roles).filter(Entities.case_id==int(v)).filter(Entities.role==Roles.id).first() price = float(entity.Roles.price) total_price += price results.append({ 'id': v, 'price': '${:,.2f}'.format(price), }) self.set('records', results) self.set('total_price', '${:,.2f}'.format(total_price)) self.set('message_before_ordering', Config.get('message_before_ordering')) return self.response
def register(self): if Validators.bool(Config.get('enable_registration')): self.set('issue',None) self.set('allow_registration',True) if 'submit' in self.request.params: email = self.request.params.get('email','') password = self.request.params.get('pass','') repassword = self.request.params.get('repass','') if Users.load(email=email): self.set('issue','This email is already in use.') return self.response if not Validators.email(email): self.set('issue','Your email is not valid.') return self.response if not Validators.password(password): self.set('issue','Your passwor id not valid.') return self.response if repassword != password: self.set('issue','Your passwords do not match.') return self.response user = Users(email=email,password=password) user.add_user() return HTTPFound(location=route_url('login', self.request)) else: self.set('issue','Registration is disabled') self.set('allow_registration',None) return self.response
def send(cls, request, to, subject, body, signature='', link=''): try: sys_email = Config.get('system_email') body = body + '\n\n' + link + '\n\n' + signature message = Message(subject=subject, sender=sys_email, recipients=to, body=body) mailer = get_mailer(request) mailer.send(message) return True except Exception as e: print "ERROR" + str(e) return False
def home(self): self.set('courtrecord_info', Config.get('homepage_courtrecords')) self.set('naturalizations_info', Config.get('homepage_naturalizations')) self.set('record_info', Config.get('homepage_record_info')) self.set('warning_info', Config.get('homepage_warning_info')) return self.response