def post(self): # while True: # number = random.randrange(1000000, 9999999) # make sure id works data = request.form dt = datetime.datetime.today().year agent_email = data['email'] agent = PolingAgent.query.filter_by(agent_email=data['email']).first() agent_name = agent.name complainant_phone = agent.phone_number agent_idn0 = agent.nin agent_staff = data['agent_staff'] district = data['district'] complainant_location = data['complainant_location'] number = random.randrange(1000000, 9999999) id_ = 'EC-' + str(number) + '-' + str(dt) + '-' + district no = Complaints.query.filter_by(complaints_refn0=id_).count() try: while True: if no == 0: complaints_refn0 = id_ break else: pass except Exception: return {'error': 'reference already exists'} nature_complaint = data['nature_complaint'] complaint = data['complaint'] date = str(datetime.datetime.today()) districtagent_name = '' districtagent_email = '' districtagent_idn0 = '' districtagent_post = '' districtagent_signet = '' status = 'Pending' districtagent_resolutions = '' classify_complaint = '' district_description = '' headagent_name = '' headagent_email = '' headagent_idn0 = '' head_post = '' head_signet = '' headresolution = '' headdescription = '' headclassification = '' date_submit = '' comments = '' file = request.files['file'] filename = secure_filename(file.name) fileext = filename.splite('.')[1] newfilename = str(id_) + '.' + fileext file.save(os.path.join(app.config['UPLOAD_FOLDER'], newfilename)) complaint = Complaints(agent_email=agent_email, agent_name=agent_name, complainant_phone=complainant_phone, agent_idn0=agent_idn0, agent_staff=agent_staff, district=district, complainant_location=complainant_location, complaints_refn0=complaints_refn0, nature_complaint=nature_complaint, date=date, districtagent_name=districtagent_name, districtagent_email=districtagent_email, districtagent_idn0=districtagent_idn0, districtagent_post=districtagent_post, files=newfilename, districtagent_signet=districtagent_signet, status=status, district_resolutions=districtagent_resolutions, classify_complaint=classify_complaint, district_description=district_description, headagent_name=headagent_name, headagent_email=headagent_email, headagent_idn0=headagent_idn0, head_post=head_post, head_signet=head_signet, headresolution=headresolution, headdescription=headdescription, headclassification=headclassification, date_submit=date_submit, comments=comments, complaint=complaint) db.session.add(complaint) db.session.commit()