def dispatch_request(self, person_id): Usr = users.get_current_user() if Usr.email() == '*****@*****.**' or Usr.email() == '*****@*****.**': person = Person.get_by_id(person_id) form = PersonForm(obj=person.key.id()) form.title.data = person.title form.first.data = person.first form.last.data = person.last form.rsvp.data = person.rsvp form.food.data = person.food form.party.data = person.party if request.method == "POST" and form.validate_on_submit(): person.title = form.data.get('title') person.first = form.data.get('first') person.last = form.data.get('last') person.rsvp = form.data.get('rsvp') person.food = form.data.get('food') person.party = form.data.get('party') person.put() flash(u'Person %s successfully saved.' % person_id, 'success') return redirect(url_for('admin')) return render_template('edit_person.html', person=person, form=form) else: flash(u'Sorry, no admission!') return redirect(url_for('index'))
def edit(id): person = Person.query.get_or_404(id) personForm = PersonForm(obj=person) if request.method == 'POST': if personForm.validate_on_submit(): personForm.populate_obj(person) app.logger.debug(f'Update Person: {person}') db.session.commit() return redirect(url_for('index')) return render_template('edit.html', form=personForm)
def add(): person = Person() personForm = PersonForm(obj=person) if request.method == 'POST': if personForm.validate_on_submit(): personForm.populate_obj(person) app.logger.debug(f'Insert Person: {person}') db.session.add(person) db.session.commit() return redirect(url_for('index')) return render_template('add.html', form=personForm)
def home(): form = PersonForm() if form.validate_on_submit(): # Get User input fname = request.form.get('fname') lname = request.form.get('lname') id_num = request.form.get('id_num') sex = request.form.get('sex') dob = request.form.get('dob') phone = request.form.get('phone') ethnicity = request.form.get('ethnicity') marital_status = request.form.get('marital_status') medical = request.form.get('medical') # Verifier info v_fname = request.form.get('v_fname') v_lname = request.form.get('v_lname') v_id = request.form.get('v_id') v_phone = request.form.get('v_phone') v_address = request.form.get('v_address') v_city = request.form.get('v_city') v_state = request.form.get('v_state') v_zipcode = request.form.get('v_zipcode') # Shelter History Info shelter = request.form.get('shelter') date_in = request.form.get('date_in') date_out = request.form.get('date_out') plan = request.form.get('plan') # Create the SQL statement # Person info stmt = sqlalchemy.text("INSERT INTO Person(Fname,Lname,id,sex,dob,phone,ethnicity,admission_id,marital_status,med_id,verifier_id,history_id)" "VALUES(:Fname,:Lname,:id,:sex,:dob,:phone,:ethnicity,:admission_id,:marital_status,:med_id,:verifier_id,:history_id)") # Verifier Info stmt2 = sqlalchemy.text("INSERT INTO Verifier(verifier_id,Fname,Lname,phone,Vaddress_id)" "VALUES(:verifier_id,:Fname,:Lname,:phone,:Vaddress_id)") # Verifier Address stmt3 = sqlalchemy.text("INSERT INTO VerifierAddress(Vaddress_id, address, state, city, zipcode)" "VALUES(:Vaddress_id, :address, :state, :city, :zipcode)") # Shelter History for Person stmt4 = sqlalchemy.text("INSERT INTO ShelterHistory(history_id,shelterID,date_in,date_out)" "VALUES(:history_id,:shelterID,:date_in,:date_out)") # Person's medical details stmt5 = sqlalchemy.text("INSERT INTO Medical(med_id,allergy)" "VALUES(:med_id,:allergy)") # Free trial or subscription plan stmt6 = sqlalchemy.text("INSERT INTO FreeTrial(trial_id,trial_start,trial_end)" "VALUES(:trial_id,:trial_start,:trial_end)") stmt7 = sqlalchemy.text("INSERT INTO Subscription(subscription_id, start, end)" "VALUES(:subscription_id, :start, :end)") stmt8 = sqlalchemy.text("INSERT INTO Admission(admission_id,trial_id,subscription_id)" "VALUES(:admission_id,:trial_id,:subscription_id)") # To check if verifier data already exist or not stmt9 = sqlalchemy.text("SELECT verifier_id FROM Verifier where verifier_id=:verifier_id") try: with db.connect() as conn: conn.execute(stmt,Fname=fname,Lname=lname,id=id_num,sex=sex,dob=dob,phone=phone,ethnicity=ethnicity,admission_id=id_num,marital_status=marital_status,med_id=id_num,verifier_id=v_id,history_id=id_num) conn.execute(stmt8,admission_id=id_num,trial_id=id_num,subscription_id=id_num) # Check if Verifier already exists or not # If verifier doesn't exist, enter verifier data into table # else ignore if exists verifier_check = conn.execute(stmt9, verifier_id=v_id) if verifier_check[0] != '': conn.execute(stmt2,verifier_id=v_id, Fname=v_fname, Lname=v_lname, phone=v_phone, Vaddress_id=v_id) conn.execute(stmt3, Vaddress_id=v_id, address=v_address, state=v_state, city=v_city, zipcode=v_zipcode) # If there are medical details, insert data into table if medical != '': conn.execute(stmt5, med_id=id_num,allergy=medical) # If there is shelter history, insert data into table if shelter != '0': conn.execute(stmt4, history_id=id_num, shelterID=shelter, date_in=date_in, date_out=date_out) # Add to Free Trial if plan == 'F': start_date = date.today() end_date = date.today() + timedelta(7) conn.execute(stmt6,trial_id=id_num, trial_start=start_date, trial_end=end_date) # Add to Subscription if plan == 'S': start_date = date.today() end_date = date.today() + timedelta(30) conn.execute(stmt7,subscription_id=id_num, start=start_date, end=end_date) except Exception as e: logger.exception(e) return redirect(url_for('success')) return render_template('home.html',form=form)