def record_rsvp(request):
  dbsession = DBSession()
  query = dbsession.query(User)
  query = query.filter(User.family_id == request.params['family_id'])
  entries = query.all()

  if not entries:
    return {"error_message": "An error occurred recording your RSVP.  Please try again later."}

  family_name = ""
  num_garba = int(request.params["num_garba"])
  num_wedding = int(request.params["num_wedding"])
  num_reception = int(request.params["num_reception"])
  accepted = int(request.params["accepted"])
  for entry in entries:
    family_name = entry.family_name
    entry.declined = 1 if accepted == 0 else 0
    entry.accepted = 1 if accepted == 1 else 0
    if accepted:
      entry.num_rsvp_garba = num_garba
      entry.num_rsvp_wedding = num_wedding
      entry.num_rsvp_reception = num_reception
    else:
      entry.num_rsvp_garba = 0
      entry.num_rsvp_wedding = 0
      entry.num_rsvp_reception = 0

    dbsession.add(entry);
  response = dict(family_name=family_name,
                  accepted=accepted,
                  num_rsvp_garba=num_garba,
                  num_rsvp_wedding=num_wedding,
                  num_rsvp_reception=num_reception)
  return response