Add a clean_agrees_to_tos() validator that requires "Yes" if ToS exists.
Also, more user_logic.logic => user_logic fixes. If you are going to import
"as", you might as well make the renaming worthwhile. Maybe we need to add
a section on "import ... from ... as ..." in the style guide?
Patch by: Todd Larsen
Review by: to-be-reviewed
def add_postgis_srs(srs):
"""
This function takes a GDAL SpatialReference system and adds its
information to the PostGIS `spatial_ref_sys` table -- enabling
spatial transformations with PostGIS. This is handy for adding
spatial reference systems not included by default with PostGIS.
For example, the following adds the so-called "Google Maps Mercator
Projection" (available in GDAL 1.5):
>>> add_postgis_srs(SpatialReference(900913))
Note: By default, the `auth_name` is set to 'EPSG' -- this should
probably be changed.
"""
from django.contrib.gis.models import SpatialRefSys
from django.contrib.gis.gdal import SpatialReference
if not isinstance(srs, SpatialReference):
srs = SpatialReference(srs)
if srs.srid is None:
raise Exception('Spatial reference requires an SRID to be compatible with PostGIS.')
# Creating the spatial_ref_sys model.
sr, created = SpatialRefSys.objects.get_or_create(
srid=srs.srid, auth_name='EPSG', auth_srid=srs.srid,
srtext=srs.wkt, proj4text=srs.proj4)