Beispiel #1
0
    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()