Initial shipping automation work

master
informatic 2020-04-17 17:18:44 +02:00
parent cb6409fe99
commit c0df7cd026
3 changed files with 43 additions and 1 deletions

View File

@ -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

View File

@ -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')

View File

@ -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 ###