From 52503faa551d19883c0b4a8d0cd89e1a18f85432 Mon Sep 17 00:00:00 2001 From: mrsaicharan1 Date: Sun, 23 Jun 2019 07:50:01 +0530 Subject: [PATCH 1/2] Added backend/model config for admin invoice Added model fields Added schema fields in Admin API schema Migration file Added server defaults removed server default --- app/api/schema/settings.py | 12 ++++++++ app/models/setting.py | 36 +++++++++++++++++++++- migrations/versions/b08a4ffff5dd_.py | 46 ++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 migrations/versions/b08a4ffff5dd_.py diff --git a/app/api/schema/settings.py b/app/api/schema/settings.py index 69c2d727a1..3bbaffe8d2 100644 --- a/app/api/schema/settings.py +++ b/app/api/schema/settings.py @@ -196,3 +196,15 @@ class Meta: smtp_password = fields.Str(allow_none=True) smtp_port = fields.Integer(allow_none=True) smtp_encryption = fields.Str(allow_none=True) # Can be tls, ssl, none + + # Admin Invoice Details + admin_billing_contact_name = fields.Str(allow_none=True) + admin_billing_phone = fields.Str(allow_none=True) + admin_billing_email = fields.Email(allow_none=True) + admin_billing_country = fields.Str(allow_none=True) + admin_billing_tax_info = fields.Str(allow_none=True) + admin_company = fields.Str(allow_none=True) + admin_billing_address = fields.Str(allow_none=True) + admin_billing_city = fields.Str(allow_none=True) + admin_billing_company_zip = fields.Str(allow_none=True) + admin_billing_additional_info = fields.Str(allow_none=True) diff --git a/app/models/setting.py b/app/models/setting.py index 2f61f7c7b1..fa2d28ffcf 100644 --- a/app/models/setting.py +++ b/app/models/setting.py @@ -129,6 +129,19 @@ class Setting(db.Model): facebook_url = db.Column(db.String) youtube_url = db.Column(db.String) + # + # Admin Invoice Details + # + admin_billing_contact_name = db.Column(db.String) + admin_billing_phone = db.Column(db.String) + admin_billing_email = db.Column(db.String) + admin_billing_country = db.Column(db.String) + admin_billing_tax_info = db.Column(db.String) + admin_company = db.Column(db.String) + admin_billing_address = db.Column(db.String) + admin_billing_city = db.Column(db.String) + admin_billing_company_zip = db.Column(db.String) + admin_billing_additional_info = db.Column(db.String) # # Generators # @@ -197,7 +210,17 @@ def __init__(self, omise_live_public=None, omise_live_secret=None, alipay_publishable_key=None, - alipay_secret_key=None): + alipay_secret_key=None, + admin_billing_contact_name=None, + admin_billing_phone=None, + admin_billing_email=None, + admin_billing_country=None, + admin_billing_tax_info=None, + admin_company=None, + admin_billing_address=None, + admin_billing_city=None, + admin_billing_company_zip=None, + admin_billing_additional_info=None): self.app_environment = app_environment self.aws_key = aws_key self.aws_secret = aws_secret @@ -268,6 +291,17 @@ def __init__(self, self.alipay_publishable_key = alipay_publishable_key self.alipay_secret_key = alipay_secret_key + # Admin Invoice Details + self.admin_billing_contact_name = admin_billing_contact_name + self.admin_billing_phone = admin_billing_phone + self.admin_billing_country = admin_billing_country + self.admin_billing_tax_info = admin_billing_tax_info + self.admin_company = admin_company + self.admin_billing_address = admin_billing_address + self.admin_billing_city = admin_billing_city + self.admin_billing_company_zip = admin_billing_company_zip + self.admin_billing_additional_info = admin_billing_additional_info + @hybrid_property def is_paypal_activated(self): if self.paypal_mode == 'sandbox' and self.paypal_sandbox_client and self.paypal_sandbox_secret: diff --git a/migrations/versions/b08a4ffff5dd_.py b/migrations/versions/b08a4ffff5dd_.py new file mode 100644 index 0000000000..27b6762f1c --- /dev/null +++ b/migrations/versions/b08a4ffff5dd_.py @@ -0,0 +1,46 @@ +"""empty message + +Revision ID: b08a4ffff5dd +Revises: 43e8c59337ae +Create Date: 2019-06-26 18:20:41.181139 + +""" + +from alembic import op +import sqlalchemy as sa +import sqlalchemy_utils + + +# revision identifiers, used by Alembic. +revision = 'b08a4ffff5dd' +down_revision = '43e8c59337ae' + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('settings', sa.Column('admin_billing_additional_info', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_address', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_city', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_contact_name', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_country', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_email', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_phone', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_tax_info', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_billing_zip', sa.String(), nullable=True)) + op.add_column('settings', sa.Column('admin_company', sa.String(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('settings', 'admin_company') + op.drop_column('settings', 'admin_billing_zip') + op.drop_column('settings', 'admin_billing_tax_info') + op.drop_column('settings', 'admin_billing_phone') + op.drop_column('settings', 'admin_billing_email') + op.drop_column('settings', 'admin_billing_country') + op.drop_column('settings', 'admin_billing_contact_name') + op.drop_column('settings', 'admin_billing_city') + op.drop_column('settings', 'admin_billing_address') + op.drop_column('settings', 'admin_billing_additional_info') + # ### end Alembic commands ### From 42880012619e7ed7990857007e6caa06a989fb9b Mon Sep 17 00:00:00 2001 From: mrsaicharan1 Date: Thu, 27 Jun 2019 20:40:11 +0530 Subject: [PATCH 2/2] Refactor field schema names change field name --- app/api/schema/settings.py | 2 +- app/models/setting.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/api/schema/settings.py b/app/api/schema/settings.py index 3bbaffe8d2..d4e187c3c2 100644 --- a/app/api/schema/settings.py +++ b/app/api/schema/settings.py @@ -206,5 +206,5 @@ class Meta: admin_company = fields.Str(allow_none=True) admin_billing_address = fields.Str(allow_none=True) admin_billing_city = fields.Str(allow_none=True) - admin_billing_company_zip = fields.Str(allow_none=True) + admin_billing_zip = fields.Str(allow_none=True) admin_billing_additional_info = fields.Str(allow_none=True) diff --git a/app/models/setting.py b/app/models/setting.py index fa2d28ffcf..8ec3eab489 100644 --- a/app/models/setting.py +++ b/app/models/setting.py @@ -140,7 +140,7 @@ class Setting(db.Model): admin_company = db.Column(db.String) admin_billing_address = db.Column(db.String) admin_billing_city = db.Column(db.String) - admin_billing_company_zip = db.Column(db.String) + admin_billing_zip = db.Column(db.String) admin_billing_additional_info = db.Column(db.String) # # Generators @@ -219,7 +219,7 @@ def __init__(self, admin_company=None, admin_billing_address=None, admin_billing_city=None, - admin_billing_company_zip=None, + admin_billing_zip=None, admin_billing_additional_info=None): self.app_environment = app_environment self.aws_key = aws_key @@ -299,7 +299,7 @@ def __init__(self, self.admin_company = admin_company self.admin_billing_address = admin_billing_address self.admin_billing_city = admin_billing_city - self.admin_billing_company_zip = admin_billing_company_zip + self.admin_billing_zip = admin_billing_zip self.admin_billing_additional_info = admin_billing_additional_info @hybrid_property