Ejemplo n.º 1
0
    def test_render_reproject(self):
        session = FakeSession()
        spot_fieldset = FieldSet(Spot, session=session)
        spot_fieldset.the_geom.set(options=[('map_srid', 900913)])

        spot = Spot()
        spot.id = 1
        spot.the_geom = PersistentSpatialElement(PersistentSpatialElement(WKBSpatialElement('010')));

        spot_fieldset = spot_fieldset.bind(spot)

        spot_fieldset.render()
        ok_(isinstance(session.scalar_args[0], functions.wkt), 'The geometry was not queried as WKT');
        ok_(isinstance(session.scalar_args[0].arguments[0], functions.transform), 'The geometry was not reprojected');
Ejemplo n.º 2
0
 def render(self, lang=None):
     if self.readonly:
         html = pretty_html(DefaultFieldSet.render(self))
         for name, engine in templates.engines.items():
             if isinstance(engine, config.engine.__class__):
                 continue
             html_engine = pretty_html(engine('fieldset_readonly', fieldset=self))
             assert html == html_engine, (name, html, html_engine)
         return html
     html = pretty_html(DefaultFieldSet.render(self))
     for name, engine in templates.engines.items():
         if isinstance(engine, config.engine.__class__):
             continue
         html_engine = pretty_html(engine('fieldset', fieldset=self))
         assert html == html_engine, (name, html, html_engine)
     return html
Ejemplo n.º 3
0
 def render(self, lang=None):
     if self.readonly:
         html = pretty_html(DefaultFieldSet.render(self))
         for name, engine in templates.engines.items():
             if isinstance(engine, config.engine.__class__):
                 continue
             html_engine = pretty_html(
                 engine('fieldset_readonly', fieldset=self))
             assert html == html_engine, (name, html, html_engine)
         return html
     html = pretty_html(DefaultFieldSet.render(self))
     for name, engine in templates.engines.items():
         if isinstance(engine, config.engine.__class__):
             continue
         html_engine = pretty_html(engine('fieldset', fieldset=self))
         assert html == html_engine, (name, html, html_engine)
     return html
Ejemplo n.º 4
0
    def test_render_validate(self):
        params = {'Spot--the_geom': 'Point(0 1)'}

        spot_fieldset = FieldSet(Spot, data = params)

        spot_fieldset.validate()
        form = spot_fieldset.render()
        ok_("Point(0 1)'" in form, 'submitted value was not re-displayed in case of validation error')
 def test_deserialize_reproject(self):
     params = {'Spot--the_geom': 'Point(0 1)', 'Spot--name': 'dummy'}
     session = FakeSession()
     
     spot_fieldset = FieldSet(Spot, data = params, session=session)
     spot_fieldset.the_geom.set(options=[('map_srid', 900913)])
     
     spot_fieldset.validate()
     spot_fieldset.sync()
     ok_(isinstance(spot_fieldset.model.the_geom, WKTSpatialElement), 'Geometry was not assigned to model')
     eq_(spot_fieldset.model.the_geom.desc, 'geometry', 'The geometry was not reprojected for the insertion into the db')
     
     spot_fieldset.render()
     ok_(isinstance(session.scalar_args[0], functions.wkt), 'The geometry was not queried as WKT')
     ok_(isinstance(session.scalar_args[0].arguments[0], functions.transform), 'The geometry was not reprojected')
     
     params = {'Spot--the_geom': ' ', 'Spot--name': ''}
     spot_fieldset = FieldSet(Spot, data = params, session=session)
     spot_fieldset.validate()
     spot_fieldset.sync()
     ok_(spot_fieldset.model.the_geom is None, 'Geometry is not set to None for empty strings')
 def test_render_options(self):
     spot_fieldset = FieldSet(Spot)
     spot_fieldset.the_geom.set(options=[
                     ('default_lat', 1),
                     ('default_lon', 2),
                     ('zoom', 3),
                     ('map_width', 4),
                     ('map_height', 5),
                     ('base_layer', 'new OpenLayers.Layer.DummyLayer("OSM")'),
                     ('openlayers_lib', '/js/OpenLayers.js')])
     
     form = spot_fieldset.render()
     
     ok_('1,\n            2,\n            3,            \'Point\',            new OpenLayers.Layer.DummyLayer("OSM"),', form)
     ok_('<script src="/js/OpenLayers.js"></script>' in form)
Ejemplo n.º 7
0
    def test_render_options(self):
        spot_fieldset = FieldSet(Spot)
        spot_fieldset.the_geom.set(options=[
                        ('default_lat', 1),
                        ('default_lon', 2),
                        ('zoom', 3),
                        ('map_width', 4),
                        ('map_height', 5),
                        ('base_layer', 'new OpenLayers.Layer.DummyLayer("OSM")'),
                        ('openlayers_lib', '/js/OpenLayers.js')])

        form = spot_fieldset.render()

        ok_('1,\n            2,\n            3,            \'Point\',            new OpenLayers.Layer.DummyLayer("OSM"),', form)
        ok_('<script src="/js/OpenLayers.js"></script>' in form)
        ok_('init_map(' in form)
Ejemplo n.º 8
0
    def test_render(self):
        session = FakeSession()
        spot_fieldset = FieldSet(Spot, session=session)

        spot = Spot()
        spot.id = 1
        spot.the_geom = PersistentSpatialElement(PersistentSpatialElement(WKBSpatialElement('010')));

        spot_fieldset = spot_fieldset.bind(spot)

        form = spot_fieldset.render()

        ok_("geoformalchemy.init_map(" in form, 'Template was not rendered')
        ok_("'Point'," in form, 'OpenLayers geometry was not mapped correctly ')
        ok_("false," in form, 'Geometry should not be a collection')
        ok_(isinstance(session.scalar_args[0], functions.wkt), 'The geometry was not queried as WKT');
Ejemplo n.º 9
0
    def test_render_additional_options(self):
        spot_fieldset = FieldSet(Spot)
        spot_fieldset.the_geom.set(options=[
                        ('default_lat', 1),
                        ('default_lon', 2),
                        ('zoom', 3),
                        ('map_width', 4),
                        ('map_height', 5),
                        ('base_layer', 'new OpenLayers.Layer.DummyLayer("OSM")'),
                        ('run_js', False),
                        ('insert_libs', False)
                        ])

        form = spot_fieldset.render()

        ok_('<script src="/js/OpenLayers.js"></script>' not in form)
        ok_('init_map(' not in form)