diff --git a/formity/admin.py b/formity/admin.py index b88f4c4..0d8ae50 100644 --- a/formity/admin.py +++ b/formity/admin.py @@ -1,7 +1,7 @@ from flask import redirect, flash, request, url_for import flask_admin from formity.extensions import admin, db, ModelView, ModelViewHighSecurity, AdminSecurityMixin -from wtforms import TextAreaField +from wtforms import TextAreaField, validators from formity.models import FaceshieldRequest, RequestChange, Status, PostalCode, ExternalUser from spaceauth import current_user import enum @@ -88,6 +88,10 @@ class FaceshieldRequestAdmin(ModelView): ) form_overrides = {'entity_info': TextAreaField, 'extra': TextAreaField, 'remarks': TextAreaField} + form_args = { + 'shipping_name': {'validators': [validators.Length(max=30)]}, + } + form_excluded_columns = ('changelog', 'postalcode_info') column_export_list = column_filters @@ -106,6 +110,10 @@ class FaceshieldRequestAdmin(ModelView): ('hskrk', 'hskrk'), ('hswro', 'hswro'), ], + 'shipping_provider': [ + ('kurjerzy', 'Kurjerzy'), + ('xbs', 'XBS Group'), + ], } can_delete = False diff --git a/formity/models.py b/formity/models.py index 58e4022..94db728 100644 --- a/formity/models.py +++ b/formity/models.py @@ -70,9 +70,13 @@ class FaceshieldRequest(db.Model): shipping_street = db.Column(db.String) shipping_postalcode = db.Column(db.String) shipping_city = db.Column(db.String) + shipping_latitude = db.Column(db.Float) shipping_longitude = db.Column(db.Float) + shipping_provider = db.Column(db.String) + shipping_id = db.Column(db.String) + postalcode_info = db.relationship(PostalCode, primaryjoin='remote(PostalCode.postalcode) == foreign(FaceshieldRequest.shipping_postalcode)') parent_id = db.Column(db.Integer, db.ForeignKey(id)) parent_shipment = db.relationship('FaceshieldRequest', remote_side=id, backref='children') diff --git a/migrations/versions/daa8f858e53a_add_shipping_provider_and_shipping_id.py b/migrations/versions/daa8f858e53a_add_shipping_provider_and_shipping_id.py new file mode 100644 index 0000000..d9c1f58 --- /dev/null +++ b/migrations/versions/daa8f858e53a_add_shipping_provider_and_shipping_id.py @@ -0,0 +1,30 @@ +"""Add shipping_provider and shipping_id + +Revision ID: daa8f858e53a +Revises: d96448542014 +Create Date: 2020-04-17 14:22:46.666021 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'daa8f858e53a' +down_revision = 'd96448542014' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('faceshield_request', sa.Column('shipping_id', sa.String(), nullable=True)) + op.add_column('faceshield_request', sa.Column('shipping_provider', sa.String(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('faceshield_request', 'shipping_provider') + op.drop_column('faceshield_request', 'shipping_id') + # ### end Alembic commands ###