def __init__(self, name, address, telephone, location, plan_ids, speciality_ids): self.name = name self.address = address self.telephone = telephone self.location = location if plan_ids is not None: aux_plan_ids = [] if isinstance(plan_ids, str): aux_plan_ids.append(plan_ids) else: aux_plan_ids = plan_ids for p_id in aux_plan_ids: plan = session.query(Plan).get(p_id) if plan is not None: self.plans.append(plan) if speciality_ids is not None: aux_speciality_ids = [] if isinstance(speciality_ids, str): aux_speciality_ids.append(speciality_ids) else: aux_speciality_ids = speciality_ids for s_id in aux_speciality_ids: speciality = session.query(Speciality).get(s_id) if speciality is not None: self.specialities.append(speciality)
def update(self, data): self.name = data.get('name') self.address = data.get('address') self.telephone = data.get('telephone') self.location = data.get('location') self.plans = [] self.specialities = [] if data.get('plan_ids') is not None: plan_ids = [] if isinstance(data.get('plan_ids'), str): plan_ids.append(data.get('plan_ids')) else: plan_ids = data.get('plan_ids') for p_id in plan_ids: plan = session.query(Plan).get(p_id) if plan is not None: self.plans.append(plan) if data.get('speciality_ids') is not None: speciality_ids = [] if isinstance(data.get('speciality_ids'), str): speciality_ids.append(data.get('speciality_ids')) else: speciality_ids = data.get('speciality_ids') for s_id in speciality_ids: speciality = session.query(Speciality).get(s_id) if speciality is not None: self.specialities.append(speciality)
def get_appointments_query(member_id=None, doctor_id=None): query = session.query(models.Appointment) if member_id is not None: query = query.filter(models.Appointment.member_id == member_id) if doctor_id is not None: query = query.filter(models.Appointment.doctor_id == doctor_id) query = query.filter(models.Appointment.deleted_at == None)\ .order_by(models.Appointment.start.asc()) return query
def get_filtered_doctors(plan_id, speciality_id, lat, long): query = session.query( models.Doctor).filter(models.Doctor.deleted_at == None) if speciality_id: query = query.filter( models.Doctor.specialities.any(id=speciality_id)) if plan_id: query = query.filter(models.Doctor.plans.any(id=plan_id)) results = query.all() if long and lat: results = map_distance_sorted(results, lat, long) return results
def get_slots(self): query = session.query(Appointment) \ .filter(Appointment.doctor_id == self.doctor_id) \ .filter(extract('day', Appointment.start) == self.start.day) \ .filter(extract('month', Appointment.start) == self.start.month) \ .filter(extract('year', Appointment.start) == self.start.year) \ .filter(Appointment.deleted_at == None) appointments = query.all() slots = self.get_available_slots(appointments) return { 'day': self.start.day, 'slots': [{ 'start': s.start, 'end': s.end } for s in slots] }
def update(self, data): self.name = data.get('name') self.address = data.get('address') self.telephone = data.get('telephone') self.location = data.get('location') self.extradata = data.get('extradata') self.plans = [] if data.get('plan_ids') is not None: aux_plan_ids = [] if isinstance(data.get('plan_ids'), str): aux_plan_ids.append(data.get('plan_ids')) else: aux_plan_ids = data.get('plan_ids') for id in aux_plan_ids: plan = session.query(Plan).get(id) if plan is not None: self.plans.append(plan)
def __init__(self, name, address, telephone, location, extradata, plan_ids): self.name = name self.address = address self.telephone = telephone self.location = location self.extradata = extradata self.plans = [] if plan_ids is not None: aux_plan_ids = [] if isinstance(plan_ids, str): aux_plan_ids.append(plan_ids) else: aux_plan_ids = plan_ids for id in aux_plan_ids: plan = session.query(Plan).get(id) if plan is not None: self.plans.append(plan)
def get_plan(plan_id): return session.query(models.Plan).get(plan_id)
def get(username=None): print(username) if username is None: return None return session.query(User).filter(User.username == username).first()
def get_member(member_id): return session.query(models.Member).get(member_id)
def get_all_specialities(): query = session.query( models.Speciality).filter(models.Speciality.deleted_at == None) return query.all()
def get_speciality(speciality_id): return session.query(models.Speciality).get(speciality_id)
def get_appointment(appointment_id): return session.query(models.Appointment).get(appointment_id)
def get_member_by_number(member_number): query = session.query(models.Member) \ .filter(models.Member.member_number == member_number) \ .filter(models.Member.deleted_at == None) return query.first()
def get_all_news(): query = session.query( models.News).filter(models.News.deleted_at == None) return query.all()
def get_all_doctors(): query = session.query(models.Doctor).filter(models.Doctor.deleted_at == None) return query.all()
def get_doctor(doctor_id): return session.query(models.Doctor).get(doctor_id)
def get_all_health_centers(): query = session.query( models.HealthCenter).filter(models.HealthCenter.deleted_at == None) return query.all()
def get_health_center(health_center_id): return session.query(models.HealthCenter).get(health_center_id)
def get_all_members(): query = session.query(models.Member).filter(models.Member.deleted_at == None) return query.all()
def get_all_plans(): query = session.query( models.Plan).filter(models.Plan.deleted_at == None) return query.all()
def get_news(news_id): return session.query(models.News).get(news_id)