Add IP/UA logging

master
informatic 2020-03-27 12:41:08 +01:00
parent fec7a4c96d
commit 0249bf1ab6
3 changed files with 39 additions and 3 deletions

View File

@ -19,3 +19,6 @@ class FaceshieldRequest(db.Model):
created = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
updated = db.Column(db.DateTime, default=datetime.utcnow, nullable=False,
onupdate=datetime.utcnow)
ua = db.Column(db.String)
ip = db.Column(db.String)

View File

@ -1,4 +1,4 @@
from flask import Blueprint, render_template, flash
from flask import Blueprint, render_template, flash, request
from formity.extensions import db
from formity.models import FaceshieldRequest
from formity.forms import FaceshieldRequestForm
@ -9,11 +9,14 @@ bp = Blueprint('main', __name__)
def index():
form = FaceshieldRequestForm()
if form.validate_on_submit():
db.session.add(FaceshieldRequest(**{
fr = FaceshieldRequest(**{
k: v
for k, v in form.data.items()
if hasattr(FaceshieldRequest, k)
}))
})
fr.ua = request.headers.get('User-Agent')
fr.ip = request.remote_addr
db.session.add(fr)
db.session.commit()
flash('Zapytanie zostało wysłane.', 'success')

View File

@ -0,0 +1,30 @@
"""Add ua and ip fields
Revision ID: 383ca469a0fe
Revises: 1379dfa9e1d4
Create Date: 2020-03-27 11:38:07.181589
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '383ca469a0fe'
down_revision = '1379dfa9e1d4'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('faceshield_request', sa.Column('ip', sa.String(), nullable=True))
op.add_column('faceshield_request', sa.Column('ua', sa.String(), nullable=True))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('faceshield_request', 'ua')
op.drop_column('faceshield_request', 'ip')
# ### end Alembic commands ###