Пример #1
0
def registration_parent_data():
    if request.method == 'POST':
        first_name = request.form['first_name']
        last_name = request.form['last_name']
        mail_addres = request.form['mail_addres']
        password = request.form['password']
        check_pass = request.form['check_pass']
        addres1 = request.form['addr11']
        addres2 = request.form['Address2']
        buzer_number = request.form['buzer_number']
        school_name = request.form['school_name']

        if password != check_pass:
            return redirect(url_for('registration_parent'))

        # 緯度経度から住所を出す
        lat, lon = atik.address_to_latlon(addres1 + addres2)
        # 学校名から緯度経度を出す
        school_latlon = geocoder.osm(school_name, timeout=5.0)
        # 学校名でヒットしなかった場合はとりあえず自宅の座標を入れる
        if school_latlon is None:
            school_lat = lat
            school_lon = lon
        school_lat = school_latlon.latlng[0]
        school_lon = school_latlon.latlng[1]

        db = DB()
        # parent_ID作成用に現在の登録者数取得
        sql = 'select * from parent'
        ID_count = len(db.select(sql))
        # parentに登録
        data = (
            'P' + str(10000 + ID_count),
            buzer_number,
            addres1 + addres2,
            lat,
            lon,
            first_name + last_name,
            mail_addres,
            password,
            school_name,
            school_lat,
            school_lon,
        )
        sql = 'insert into parent values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)'
        db.insert_update(sql, data)
        db.end_DB()

        # 登録確認メール送信
        mail = My_Mail(app)
        mail.p_registration_mail([mail_addres], first_name + last_name,
                                 'P' + str(10000 + ID_count))
        return redirect(url_for('home'))
Пример #2
0
def registration_safehouse_data():
    if request.method == 'POST':
        first_name = request.form['first_name']
        last_name = request.form['last_name']
        mail_addres = request.form['mail_address']
        password = request.form['password']
        check_pass = request.form['check_pass']
        addres1 = request.form['addr11']
        addres2 = request.form['address']

        if password != check_pass:
            return redirect(url_for('registration_parent'))

        # safeguardの画像保存
        img_path = None
        if 'uploadfile' in request.files:
            imgfile = request.files['uploadfile']
            if imgfile and allowed_file(imgfile.filename):
                filename = secure_filename(imgfile.filename)
                img_path = os.path.join(upload_folder, filename)
                imgfile.save(img_path)

        # 住所を緯度経度変換
        lat, lon = atik.address_to_latlon(addres1 + addres2)
        db = DB()
        # safeguard_ID作成のために現在の登録数を取得
        sql = 'select * from safeguard'
        ID_count = len(db.select(sql))
        # safeguardの登録
        data = ('S' + str(10000 + ID_count), addres1 + addres2, lat, lon,
                first_name + last_name, mail_addres, password, img_path)
        sql = 'insert into safeguard values (%s,%s,%s,%s,%s,%s,%s,%s)'
        db.insert_update(sql, data)
        db.end_DB()

        # 登録確認メールの送信
        mail = My_Mail(app)
        mail.s_registration_mail([mail_addres], first_name + last_name,
                                 'S' + str(10000 + ID_count))
        return redirect(url_for('home'))