Revert "[#151837054] Add new column free_sms_fragment_limit in the Services table"

This commit is contained in:
Venus Bailey
2017-10-16 12:43:05 +01:00
committed by GitHub
parent e32350967e
commit 616a6f8ef8
8 changed files with 17 additions and 135 deletions

View File

@@ -305,27 +305,3 @@ class PopulateServiceLetterContact(Command):
db.session.commit()
print("Populated letter contacts for {} services".format(result.rowcount))
class PopulateServiceAndServiceHistoryFreeSmsFragmentLimit(Command):
def run(self):
services_to_update = """
UPDATE services
SET free_sms_fragment_limit = 250000
WHERE free_sms_fragment_limit IS NULL
"""
services_history_to_update = """
UPDATE services_history
SET free_sms_fragment_limit = 250000
WHERE free_sms_fragment_limit IS NULL
"""
services_result = db.session.execute(services_to_update)
services_history_result = db.session.execute(services_history_to_update)
db.session.commit()
print("Populated free sms fragment limits for {} services".format(services_result.rowcount))
print("Populated free sms fragment limits for {} services history".format(services_history_result.rowcount))

View File

@@ -211,7 +211,6 @@ class Service(db.Model, Versioned):
_letter_contact_block = db.Column('letter_contact_block', db.Text, index=False, unique=False, nullable=True)
sms_sender = db.Column(db.String(11), nullable=False, default=lambda: current_app.config['FROM_NUMBER'])
organisation_id = db.Column(UUID(as_uuid=True), db.ForeignKey('organisation.id'), index=True, nullable=True)
free_sms_fragment_limit = db.Column(db.BigInteger, index=False, unique=False, nullable=True)
organisation = db.relationship('Organisation')
dvla_organisation_id = db.Column(
db.String,
@@ -231,6 +230,10 @@ class Service(db.Model, Versioned):
association_proxy('permissions', 'service_permission_types')
@staticmethod
def free_sms_fragment_limit():
return current_app.config['FREE_SMS_TIER_FRAGMENT_COUNT']
@classmethod
def from_json(cls, data):
"""

View File

@@ -175,17 +175,20 @@ class ProviderDetailsHistorySchema(BaseSchema):
class ServiceSchema(BaseSchema):
free_sms_fragment_limit = fields.Method(method_name='get_free_sms_fragment_limit')
created_by = field_for(models.Service, 'created_by', required=True)
organisation = field_for(models.Service, 'organisation')
branding = field_for(models.Service, 'branding')
dvla_organisation = field_for(models.Service, 'dvla_organisation')
free_sms_fragment_limit = field_for(models.Service, 'free_sms_fragment_limit')
permissions = fields.Method("service_permissions")
override_flag = False
reply_to_email_address = fields.Method(method_name="get_reply_to_email_address")
sms_sender = fields.Method(method_name="get_sms_sender")
letter_contact_block = fields.Method(method_name="get_letter_contact")
def get_free_sms_fragment_limit(selfs, service):
return service.free_sms_fragment_limit()
def service_permissions(self, service):
return [p.permission for p in service.permissions]
@@ -200,7 +203,7 @@ class ServiceSchema(BaseSchema):
class Meta:
model = models.Service
dump_only = ['reply_to_email_address', 'letter_contact_block']
dump_only = ['free_sms_fragment_limit', 'reply_to_email_address', 'letter_contact_block']
exclude = (
'updated_at',
'created_at',
@@ -249,6 +252,11 @@ class ServiceSchema(BaseSchema):
class DetailedServiceSchema(BaseSchema):
statistics = fields.Dict()
free_sms_fragment_limit = fields.Method(method_name='get_free_sms_fragment_limit')
def get_free_sms_fragment_limit(selfs, service):
return service.free_sms_fragment_limit()
class Meta:
model = models.Service
exclude = (

View File

@@ -138,10 +138,6 @@ def create_service():
errors = {'user_id': ['Missing data for required field.']}
raise InvalidRequest(errors, status_code=400)
# TODO: to be removed when front-end is updated
if 'free_sms_fragment_limit' not in data:
data['free_sms_fragment_limit'] = current_app.config['FREE_SMS_TIER_FRAGMENT_COUNT']
# validate json with marshmallow
service_schema.load(request.get_json())