from minibase.blueprints.geography.models import Country, City, State, Region, Subregion import minibase.blueprints.database.utils as dbUtils from sqlalchemy import case def queryCountryNames(): choices = Country.query.order_by(Country.name.asc()) return choices def queryCountryNamesWithDefault(defId): choices = dbUtils.queryNameWithDefaultId(Country, defId) return choices def queryStateNames(): choices = State.query.order_by(State.name.asc()) return choices def queryStateNamesWithDefault(defId): choices = dbUtils.queryNameWithDefaultId(State, defId) return choices def queryStateNamesOfCuntryWithDefId(defId, Filterid): table = State choices = table.query.order_by(case((table.id == defId, 0), else_=1), table.name.asc()).filter_by(country_id=Filterid) return choices def queryCityNames(): choices = City.query.order_by(City.name.asc()) return choices def queryCityNamesWithDefault(defId): choices = dbUtils.queryNameWithDefaultId(City, defId) return choices def queryCiytNamesOfStateWithDefId(defId, Filterid): table = City choices = table.query.order_by(case((table.id == defId, 0), else_=1), table.name.asc()).filter_by(state_id=Filterid) return choices