Exemplo n.º 1
0
	def removeChild(self,**kw):
		id = int(kw['id'])
		try:
			Child.get(id).removeUser(identity.current.user)
		except:
			pass
		if identity.current.user.childList.count() == 0:
			cherrypy.status = 500
		return dict()
Exemplo n.º 2
0
def test_child_bulk_save_objects():
    parent1, parent2 = Parent.objects.all()

    children1 = [Child(parent_id=parent1.id) for _ in range(5)]
    children2 = [Child(parent_id=parent2.id) for _ in range(16)]

    Child.bulk_save_objects(children1 + children2, return_defaults=True)

    assert Child.objects.filter(Child.parent_id == parent1.id).count() == 5
    assert Child.objects.filter(Child.parent_id == parent2.id).count() == 16
Exemplo n.º 3
0
def create_child(fname, lname, zipcode, school_id, grade_id, household_id, 
                gender=None, school_program=None, distance_willing_to_travel=None, 
                preferred_days_per_week=None, preferred_total_hours_per_day=None, 
                prefer_paid_teacher=None, prefer_same_school_program_only=None, 
                prefer_same_school_only=None, prefer_same_grade_only=None, 
                prefer_outdoors_only=None, prefer_periodic_covid_testing=None, 
                max_budget_per_hour=None):
    """Add a new child to the children table and return the child."""

    child = Child(fname=fname, lname=lname, gender=gender,
                zipcode=zipcode, school_id=school_id,
                school_program=school_program, grade_id=grade_id,
                household_id=household_id, 
                distance_willing_to_travel=distance_willing_to_travel,
                preferred_days_per_week=preferred_days_per_week,
                preferred_total_hours_per_day=preferred_total_hours_per_day,
                prefer_paid_teacher=prefer_paid_teacher,
                prefer_same_school_program_only=prefer_same_school_program_only,
                prefer_same_school_only=prefer_same_school_only,
                prefer_same_grade_only=prefer_same_grade_only,
                prefer_outdoors_only=prefer_outdoors_only,
                prefer_periodic_covid_testing=prefer_periodic_covid_testing,
                max_budget_per_hour=max_budget_per_hour)
    
    db.session.add(child)
    db.session.commit()

    return child
Exemplo n.º 4
0
    def get(self):
        mail = self.request.get("mail")
        name = self.request.get("name")
        child_id = self.request.get("child_id")

        if child_id:
            child = Child.get_by_id(child_id)
        else:
            child = None

        if mail:
            parent = Parent.get_by_id(mail)
            if parent:
                parent.parent_id = mail
                parent.name = name
                if child_id:
                    parent.child = child
                parent.put()
                ret = parent.to_dict()
            else:
                ret = {"status": "no record"}
        else:
            ret = {"status": "no key"}

        json_string = json.dumps(ret, ensure_ascii=False)
        self.response.content_type = "application/json"
        self.response.out.write(json_string)
Exemplo n.º 5
0
def create_child(parent_id):
    """Create a child"""
    # Check parent
    parent = Parent.query.get(parent_id)
    if not parent:
        return {"error": "Parent not found"}, 404
    # Handle input data
    try:
        json_data = request.get_json()
    except:
        return {"error": "Invalid input data"}, 400
    if not json_data:
        return {"error": "No input data provided"}, 400
    # Validate input data
    try:
        data = child_schema.load(json_data)
    except ValidationError as err:
        return err.messages, 422

    first_name = data["first_name"]
    last_name = data["last_name"]
    child = Child(first_name, last_name, parent_id)
    db.session.add(child)
    db.session.commit()
    return child_schema.dump(child), 201
Exemplo n.º 6
0
	def deleteAssessment(self, **kw):
		id = int(kw['id'])
		
		try:
			scores = Assessment.get(id).scores
			for s in scores:
				Score.delete(s.id)
			Assessment.delete(id)
		except SQLObjectNotFound:
			pass

		if len(Child.get(cherrypy.session['current_child']).assessments) == 0:
			print "*****"
			print len(Child.get(cherrypy.session['current_child']).assessments)
			cherrypy.response.status = 500

		return dict()
Exemplo n.º 7
0
    def get(self):
        child_id = self.request.get("child_id")
        name = self.request.get("name")

        if child_id:
            child = Child.get_by_id(child_id)
            if child:
                ret = {"status": "record already exists"}
            else:
                key = Child(id=child_id, child_id=child_id, name=name).put()
                child = key.get()
                ret = child.to_dict()
        else:
            ret = {"status": "no key"}

        json_string = json.dumps(ret, ensure_ascii=False)
        self.response.content_type = "application/json"
        self.response.out.write(json_string)
Exemplo n.º 8
0
def create_child(child_name, birthdate, gender, photo):
    """Create and return a new user."""

    child = Child(child_name=child_name, birthdate=birthdate, gender=gender, photo=photo)

    db.session.add(child)
    db.session.commit()

    return child
Exemplo n.º 9
0
	def childUpdate(self, **kw):
		field = str(kw['field'])
		type = kw['type']
		id = cherrypy.session['current_child']
		
		if type == 'string':
			value = str(kw['value'])
		elif type == 'int':
			value = int(kw['value'])
		elif type == 'date':
			value = str(kw['value'])
		
		display = value
		
		if field == 'ssid':
			if not value.isdigit():
				cherrypy.response.status = 412
				return "SSID must be all digits"
			if len(value) < 8 or len(value) > 10:
				cherrypy.response.status = 412
				return "SSID must be between 8 and 10 digits"
			if Child.selectBy(ssid=value).count() > 0:
				cherrypy.response.status = 412
				return "SSID already exists"
		
		if field == 'bdate':
			try:
				value = util.valiDate(value)
			except:
				cherrypy.response.status = 412
				return "Invalid date entered"
			
			if value is None:
				cherrypy.response.status = 412
				return "Invalid date entered"
			display = value.strftime("%m/%d/%y")
			 
		Child.get(id).__setattr__(field, value)
		
		return display
Exemplo n.º 10
0
    def get(self):
        child_id = self.request.get("child_id")
        name = self.request.get("name")

        ret = []

        if child_id:
            child = Child.get_by_id(child_id)
            if child:
                ret.append(child.to_dict())
        elif name:
            query = Child.query(Child.name == name)
            for c in query:
                ret.append(c.to_dict())
        else:
            query = Child.query()
            for c in query:
                ret.append(c.to_dict())

        json_string = json.dumps(ret, ensure_ascii=False)
        self.response.content_type = "application/json"
        self.response.out.write(json_string)
Exemplo n.º 11
0
	def index(self, id=None):
		
		id = util.session('current_child', 0, id)
		
		if id == 0:		# no id given
			raise redirect("/")
		
		try:
			current_child = Child.get(id)
		except SQLObjectNotFound:	# Child with given id does not exist
			raise redirect("/")
		
		return dict(child=current_child, shaded=util.shaded)
Exemplo n.º 12
0
    def get(self):
        child_id = self.request.get("child_id")

        if child_id:
            child = Child.get_by_id(child_id)
            if child:
                ret = child.to_dict()
            else:
                ret = {"status": "no record"}
        else:
            ret = {"status": "no key"}

        json_string = json.dumps(ret, ensure_ascii=False)
        self.response.content_type = "application/json"
        self.response.out.write(json_string)
Exemplo n.º 13
0
def add_child():
    if request.method == "POST":
        childs_name = request.form.get('childs_name')
        childs_age = request.form.get('childs_age')
        zipcode = request.form.get('zipcode')
        #parent_id = Child.query.filter_by(parents.parent_id==parent_id).first()

        new_child = Child(childs_name=childs_name,
                          childs_age=childs_age,
                          zipcode=zipcode)
        db.session.add(new_child)
        db.session.commit()

        childs_id = new_child.childs_id
        session["childs_id"] = childs_id

        return redirect(f'/children/{new_child.childs_id}')
Exemplo n.º 14
0
def create_child(child_fname, child_lname, grade, school_id,
                parent_id):

    """Create and return a new CHILD """
    print("In crud.py - create child ", child_fname, child_lname,
        grade, school_id, parent_id)

    child = Child(child_fname = child_fname, 
                    child_lname = child_lname, 
                    grade = grade, 
                    school_id = school_id,
                    parent_id = parent_id
                    )

    db.session.add(child)
    db.session.commit()

    return child
Exemplo n.º 15
0
def test_update():
    parent = Parent()
    parent.save()

    assert parent.id != None
    assert Parent.objects.count() == 4

    # Update
    child = Child()
    child.save()

    assert child.parent_id is None
    child.parent_id = parent.id
    child.save()

    assert Child.objects.count() == 22
    assert child.parent_id == parent.id
Exemplo n.º 16
0
def create_child(fname, lname, ethnicity, date_missing, missing_age, age_2021):
    # """Create and return a new child.
    # e.g.

    #     >>>create_child(fname='Alex', lname='Jones', ethnicity='Hispanic',  missing_age=2, age_2021=18)
    #     <Child name=Alex Jones missing_age=2>

    # """

    new_child = Child(fname=fname,
                      lname=lname,
                      ethnicity=ethnicity,
                      date_missing=date_missing,
                      missing_age=missing_age,
                      age_2021=age_2021)

    db.session.add(new_child)
    db.session.commit()

    return new_child
Exemplo n.º 17
0
def load_children():
    """Load chidlren from c.user into database."""

    print("Children")

    # Delete all rows in table, so if we need to run this a second time,

    # Read u.user file and insert data
    for row in open("data/c.user"):
        row = row.rstrip()
        childs_id, childs_name, childs_age, zipcode, parent_id = row.split("|")

        child = Child(childs_id=childs_id,
                      childs_name=childs_name,
                      childs_age=childs_age,
                      zipcode=zipcode)

        # We need to add to the session or it won't ever be stored
        db.session.add(child)

    # commiting work
    db.session.commit()
Exemplo n.º 18
0
def test_type_error_bulk_save_objects():
    with pytest.raises(TypeError):
        Child.bulk_save_objects([Parent(), Child()])