Add ‘GP’ as an org type

Although their allowances are the same as what we call `nhs_local` it
makes more sense to store them separately because:
- we already present them as two separate choices to the user
- we may want to handle them differently in the future, eg in terms of
  what branding choices are available to them
This commit is contained in:
Chris Hill-Scott
2019-08-27 15:45:59 +01:00
parent d3449c37da
commit a5b36457f2
3 changed files with 48 additions and 3 deletions

View File

@@ -326,11 +326,11 @@ class Domain(db.Model):
ORGANISATION_TYPES = [ ORGANISATION_TYPES = [
"central", "local", "nhs_central", "nhs_local", "emergency_service", "school_or_college", "other", "central", "local", "nhs_central", "nhs_local", "gp", "emergency_service", "school_or_college", "other",
] ]
CROWN_ORGANISATION_TYPES = ["nhs_central"] CROWN_ORGANISATION_TYPES = ["nhs_central"]
NON_CROWN_ORGANISATION_TYPES = ["local", "nhs_local", "emergency_service", "school_or_college"] NON_CROWN_ORGANISATION_TYPES = ["local", "nhs_local", "gp", "emergency_service", "school_or_college"]
class OrganisationTypes(db.Model): class OrganisationTypes(db.Model):

View File

@@ -0,0 +1,42 @@
import os
"""
Revision ID: 0305_add_gp_org_type
Revises: 0304_remove_org_to_service
Create Date: 2019-07-24 16:18:27.467361
"""
from alembic import op
revision = '0305_add_gp_org_type'
down_revision = '0304_remove_org_to_service'
GP_ORG_TYPE_NAME = 'gp'
def upgrade():
op.execute("""
INSERT INTO
organisation_types
(name, is_crown, annual_free_sms_fragment_limit)
VALUES
('{}', false, 25000)
""".format(GP_ORG_TYPE_NAME))
def downgrade():
op.execute("""
UPDATE
organisation
SET
organisation_type = 'nhs_local'
WHERE
organisation_type = '{}'
""".format(GP_ORG_TYPE_NAME))
op.execute("""
DELETE FROM
organisation_types
WHERE
name = '{}'
""".format(GP_ORG_TYPE_NAME))

View File

@@ -204,7 +204,10 @@ def test_post_create_organisation_existing_name_raises_400(admin_request, sample
'name': 'Service name', 'name': 'Service name',
'crown': False, 'crown': False,
'organisation_type': 'foo', 'organisation_type': 'foo',
}, 'organisation_type foo is not one of [central, local, nhs_central, nhs_local, emergency_service, school_or_college, other]'), # noqa }, (
'organisation_type foo is not one of '
'[central, local, nhs_central, nhs_local, gp, emergency_service, school_or_college, other]'
)),
)) ))
def test_post_create_organisation_with_missing_data_gives_validation_error( def test_post_create_organisation_with_missing_data_gives_validation_error(
admin_request, admin_request,