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 from flask import redirect, flash, request, url_for
import flask_admin import flask_admin
from formity.extensions import admin, db, ModelView, ModelViewHighSecurity, AdminSecurityMixin 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 formity.models import FaceshieldRequest, RequestChange, Status, PostalCode, ExternalUser
from spaceauth import current_user from spaceauth import current_user
import enum import enum
@ -88,6 +88,10 @@ class FaceshieldRequestAdmin(ModelView):
) )
form_overrides = {'entity_info': TextAreaField, 'extra': TextAreaField, 'remarks': TextAreaField} form_overrides = {'entity_info': TextAreaField, 'extra': TextAreaField, 'remarks': TextAreaField}
form_args = {
'shipping_name': {'validators': [validators.Length(max=30)]},
}
form_excluded_columns = ('changelog', 'postalcode_info') form_excluded_columns = ('changelog', 'postalcode_info')
column_export_list = column_filters column_export_list = column_filters
@ -106,6 +110,10 @@ class FaceshieldRequestAdmin(ModelView):
('hskrk', 'hskrk'), ('hskrk', 'hskrk'),
('hswro', 'hswro'), ('hswro', 'hswro'),
], ],
'shipping_provider': [
('kurjerzy', 'Kurjerzy'),
('xbs', 'XBS Group'),
],
} }
can_delete = False can_delete = False

View File

@ -70,9 +70,13 @@ class FaceshieldRequest(db.Model):
shipping_street = db.Column(db.String) shipping_street = db.Column(db.String)
shipping_postalcode = db.Column(db.String) shipping_postalcode = db.Column(db.String)
shipping_city = db.Column(db.String) shipping_city = db.Column(db.String)
shipping_latitude = db.Column(db.Float) shipping_latitude = db.Column(db.Float)
shipping_longitude = 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)') postalcode_info = db.relationship(PostalCode, primaryjoin='remote(PostalCode.postalcode) == foreign(FaceshieldRequest.shipping_postalcode)')
parent_id = db.Column(db.Integer, db.ForeignKey(id)) parent_id = db.Column(db.Integer, db.ForeignKey(id))
parent_shipment = db.relationship('FaceshieldRequest', remote_side=id, backref='children') 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 ###