Пример #1
0
    def setUp(self):
        self.p = Point(-8515941.0, 4953519.0)
        self.instances = [
            make_instance(point=self.p),
            make_instance(point=self.p)
        ]
        self.commander_users = [
            make_commander_user(i, username='******' % i.pk)
            for i in self.instances]
        for i in range(len(self.instances)):
            set_write_permissions(self.instances[i], self.commander_users[i],
                                  'Plot', ['udf:Test choice'])
        self.choice_udfds = [
            UserDefinedFieldDefinition.objects.create(
                instance=i,
                model_type='Plot',
                datatype=json.dumps({'type': 'choice',
                                     'choices': ['a', 'b', 'c']}),
                iscollection=False,
                name='Test choice') for i in self.instances]

        self.plots = [
            Plot(geom=self.p, instance=i) for i in self.instances]

        for i in range(len(self.plots)):
            self.plots[i].save_with_user(self.commander_users[i])

        psycopg2.extras.register_hstore(connection.cursor(), globally=True)
Пример #2
0
    def setUp(self):
        self.p1 = Point(0, 0)
        self.p2 = Point(5, 5)

        self.instance1 = make_instance(point=self.p1)
        self.user = make_user_with_default_role(self.instance1, 'auser')
        self.global_role = self.instance1.default_role

        self.instance2 = make_instance(name='i2')
        self.instance2.save()

        iuser = InstanceUser(instance=self.instance2,
                             user=self.user,
                             role=self.global_role)
        iuser.save_with_user(self.user)

        for i in [self.instance1, self.instance2]:
            FieldPermission(model_name='Plot',
                            field_name='geom',
                            permission_level=FieldPermission.WRITE_DIRECTLY,
                            role=self.global_role,
                            instance=i).save()
            FieldPermission(model_name='Tree',
                            field_name='plot',
                            permission_level=FieldPermission.WRITE_DIRECTLY,
                            role=self.global_role,
                            instance=i).save()

        self.plot1 = Plot(geom=self.p1, instance=self.instance1)

        self.plot1.save_with_user(self.user)

        self.plot2 = Plot(geom=self.p2, instance=self.instance2)

        self.plot2.save_with_user(self.user)

        tree_combos = [
            (self.plot1, self.instance1, True),
            (self.plot1, self.instance1, False),
            (self.plot2, self.instance2, True),
            (self.plot2, self.instance2, False),
        ]

        for tc in tree_combos:
            plot, instance, readonly = tc
            t = Tree(plot=plot, instance=instance, readonly=readonly)

            t.save_with_user(self.user)
Пример #3
0
    def setUp(self):
        self.p = Point(-7615441.0, 5953519.0)

        self.instance = make_instance(point=self.p)
        self.user = make_commander_user(self.instance)

        self.plot = Plot(geom=self.instance.center, instance=self.instance)
Пример #4
0
    def setUp(self):
        region = ITreeRegion.objects.get(code='NoEastXXX')
        p = region.geometry.point_on_surface

        self.instance = make_instance(is_public=True, point=p)

        self.user = make_commander_user(self.instance)

        self.species = Species(otm_code='CEAT',
                               genus='cedrus',
                               species='atlantica',
                               max_dbh=2000,
                               max_height=100,
                               instance=self.instance)
        self.species.save_with_user(self.user)

        self.plot = Plot(geom=p, instance=self.instance)

        self.plot.save_with_user(self.user)

        self.tree = Tree(plot=self.plot,
                         instance=self.instance,
                         readonly=False,
                         species=self.species,
                         diameter=1630)

        self.tree.save_with_user(self.user)
Пример #5
0
 def setUp(self):
     super(CommentTestMixin, self).setUp()
     self.instance = make_instance()
     self.user = make_commander_user(self.instance)
     self.admin = make_admin_user(self.instance)
     self.plot = Plot(geom=self.instance.center, instance=self.instance)
     self.plot.save_with_user(self.user)
Пример #6
0
    def setUp(self):
        self.instance = make_instance()
        self.commander = make_commander_user(self.instance, "comm")

        # Note unicode '⅀' is on purpose
        self.user1 = User(username='******', password='******',
                          email='*****@*****.**',
                          organization='org111',
                          first_name='therem', last_name='⅀straven')

        self.user1.save_with_user(self.commander)

        self.user2 = User(username='******', password='******',
                          email='*****@*****.**',
                          first_name='genly', last_name='ai')
        self.user2.save_with_user(self.commander)

        self.user3 = User(username='******', password='******',
                          email='*****@*****.**')
        self.user3.save_with_user(self.commander)

        self.user4 = User(username='******', password='******',
                          email='*****@*****.**')
        self.user4.save_with_user(self.commander)

        self.factory = RequestFactory()
Пример #7
0
    def _setup_tree_and_collection_udf(self):
        instance = make_instance()

        self.plotstew = make_collection_udf(instance,
                                            model='Plot',
                                            datatype=COLLECTION_UDF_DATATYPE)
        self.treestew = make_collection_udf(instance,
                                            model='Tree',
                                            datatype=COLLECTION_UDF_DATATYPE)

        commander = make_commander_user(instance)
        set_write_permissions(instance, commander, 'Plot', ['udf:Stewardship'])
        set_write_permissions(instance, commander, 'Tree', ['udf:Stewardship'])

        d1 = {'action': 'prune', 'date': "2014-05-3 00:00:00"}
        d2 = {'action': 'water', 'date': "2014-04-29 00:00:00"}

        p1 = Point(-7615441.0, 5953519.0)

        self.plot = Plot(instance=instance, geom=p1)
        self.plot.udfs[self.plotstew.name] = [d1]
        self.plot.save_with_user(commander)

        self.tree = Tree(instance=instance, plot=self.plot)
        self.tree.udfs[self.treestew.name] = [d2]
        self.tree.save_with_user(commander)
Пример #8
0
Файл: urls.py Проект: heath/OTM2
 def test_user_audits(self):
     self.instance = make_instance()
     username = make_commander_user(self.instance).username
     self.assert_template("/users/%s/edits/" % username, "treemap/recent_user_edits.html")
     self.assert_template(
         "/users/%s/edits/?instance_id=%s" % (username, self.instance.id), "treemap/recent_user_edits.html"
     )
Пример #9
0
    def setUp(self):
        self.instance = make_instance()

        self.user = make_user(username='******')

        self.instance_user = make_user(self.instance, 'instance_user')
        self.client.get('/accounts/logout/')
Пример #10
0
    def setUp(self):
        self.instance = make_instance()

        self.user = make_user(username='******')

        self.instance_user = make_user(self.instance, 'instance_user')
        self.client.get('/accounts/logout/')
Пример #11
0
    def setUp(self):
        self.instance = make_instance()
        self.instance.config['advanced_search_fields'] = {}
        self.instance.save()
        self.role = Role(name='role', instance=self.instance, rep_thresh=0)
        self.role.save()

        self.observer = make_observer_user(self.instance)

        self.udf_role = Role(name='udf', instance=self.instance, rep_thresh=0)
        self.udf_role.save()

        self.template_dir = tempfile.mkdtemp()
        self.template_file_path = os.path.join(self.template_dir,
                                               "field_template.html")

        UserDefinedFieldDefinition.objects.create(
            instance=self.instance,
            model_type='Plot',
            datatype=json.dumps({'type': 'choice',
                                 'choices': ["a", "b", "c"]}),
            iscollection=False,
            name='Test choice')

        udf_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='udf:Test choice',
            permission_level=FieldPermission.READ_ONLY,
            role=self.role, instance=self.instance)
        udf_perm.save()
        udf_write_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='udf:Test choice',
            permission_level=FieldPermission.WRITE_DIRECTLY,
            role=self.udf_role, instance=self.instance)
        udf_write_perm.save()
Пример #12
0
 def test_anonymous_boundary_thumbprint(self):
     make_simple_boundary('n', n=0)
     instance = make_instance()
     thumbprint1 = instance.boundary_thumbprint
     make_anonymous_boundary(n=1)
     thumbprint2 = instance.boundary_thumbprint
     self.assertEqual(thumbprint1, thumbprint2)
Пример #13
0
def setupTreemapEnv():
    def local_render_to_response(*args, **kwargs):
        from django.template import loader
        from django.http import HttpResponse

        httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
        hr = HttpResponse(
            loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)

        if hasattr(args[1], 'dicts'):
            hr.request_context = args[1].dicts

        return hr

    django.shortcuts.render_to_response = local_render_to_response

    instance = make_instance(is_public=True)
    create_stewardship_udfs(instance)

    make_user_with_default_role(instance, 'jim')
    commander = make_commander_user(instance, 'commander')
    make_apprentice_user(instance, 'apprentice')

    n1geom = MultiPolygon(Polygon(
        ((0, 0), (100, 0), (100, 100), (0, 100), (0, 0))))

    n2geom = MultiPolygon(
        Polygon(((0, 101), (101, 101), (101, 200), (0, 200), (0, 101))))

    n1 = Boundary(name="n1", category='blah', sort_order=4, geom=n1geom)
    n2 = Boundary(name="n2", category='blah', sort_order=4, geom=n2geom)

    n1.save()
    n2.save()

    s1 = Species(otm_code="s1", genus="testus1", species="specieius1",
                 cultivar='', instance=instance)
    s2 = Species(otm_code="s2", genus="testus2", species="specieius2",
                 cultivar='', instance=instance)
    s3 = Species(otm_code="s3", genus="testus2", species="specieius3",
                 cultivar='', instance=instance)

    s1.is_native = True
    s1.fall_conspicuous = True
    s1.flower_conspicuous = True
    s1.palatable_human = True

    s2.is_native = True
    s2.fall_conspicuous = False
    s2.flower_conspicuous = True
    s2.palatable_human = False
    s2.has_wildlife_value = True

    s3.has_wildlife_value = True

    s1.save_with_user(commander)
    s2.save_with_user(commander)
    s3.save_with_user(commander)

    return instance
Пример #14
0
 def setUp(self):
     self.instance = make_instance()
     self.user = make_commander_user(self.instance)
     self.plot = Plot(instance=self.instance, geom=self.instance.center)
     self.plot.save_with_user(self.user)
     self.tree = Tree(instance=self.instance, plot=self.plot)
     self.tree.save_with_user(self.user)
Пример #15
0
 def test_advanced_search_fields(self):
     instance = make_instance()
     self.assertEqual(
         instance.advanced_search_fields, {
             'standard': [],
             'missing': [],
             'display': [],
             'udfc': {
                 'alerts': {
                     'plot': {
                         'fields': [],
                         'udfd': None
                     },
                     'tree': {
                         'fields': [],
                         'udfd': None
                     }
                 },
                 'stewardship': {
                     'plot': {
                         'fields': [],
                         'udfd': None
                     },
                     'tree': {
                         'fields': [],
                         'udfd': None
                     }
                 }
             }
         })
Пример #16
0
 def test_two_boundary_thumbprint(self):
     make_simple_boundary('n1', n=0)
     instance = make_instance()
     thumbprint1 = instance.boundary_thumbprint
     make_simple_boundary('n2', n=1)
     thumbprint2 = instance.boundary_thumbprint
     self.assertNotEqual(thumbprint1, thumbprint2)
Пример #17
0
 def test_anonymous_boundary_thumbprint(self):
     make_simple_boundary('n', n=0)
     instance = make_instance()
     thumbprint1 = instance.boundary_thumbprint
     make_anonymous_boundary(n=1)
     thumbprint2 = instance.boundary_thumbprint
     self.assertEqual(thumbprint1, thumbprint2)
Пример #18
0
    def test_parse_collection_udf_date_and_action_should_fail(self):
        point = Point(0, 0)
        instance = make_instance(point=point)
        commander = make_commander_user(instance)

        plotstew, treestew = _setup_collection_udfs(instance, commander)
        _setup_models_for_collections(instance, commander, point, plotstew,
                                      treestew)

        pred = search._parse_query_dict(
            {
                'udf:plot:%s.action' % plotstew.pk: {
                    'IS': 'water'
                },
                'udf:plot:%s.date' % plotstew.pk:
                # Range encompasses p1's prune but not p1's water action
                {
                    'MIN': '2013-09-01 00:00:00',
                    'MAX': '2013-10-31 00:00:00'
                }
            },
            mapping=search.DEFAULT_MAPPING)

        connector, predset = destructure_query_set(pred)

        self.assertEqual(connector, 'AND')
        target = ('id__in', tuple())
        self.assertIn(target, predset)
Пример #19
0
 def setUp(self):
     self.instance = make_instance()
     self.user = make_commander_user(self.instance)
     self.plot = Plot(instance=self.instance, geom=Point(-7615441, 5953519))
     self.plot.save_with_user(self.user)
     self.tree = Tree(instance=self.instance, plot=self.plot)
     self.tree.save_with_user(self.user)
    def setUp(self):
        self.instance = make_instance()
        self.instance.save()
        self.role = Role(name='role', instance=self.instance, rep_thresh=0)
        self.role.save()

        self.observer = make_observer_user(self.instance)

        self.udf_role = Role(name='udf', instance=self.instance, rep_thresh=0)
        self.udf_role.save()

        self.template_dir = tempfile.mkdtemp()
        self.template_file_path = os.path.join(self.template_dir,
                                               "field_template.html")

        UserDefinedFieldDefinition.objects.create(
            instance=self.instance,
            model_type='Plot',
            datatype=json.dumps({'type': 'choice',
                                 'choices': ["a", "b", "c"]}),
            iscollection=False,
            name='Test choice')

        udf_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='udf:Test choice',
            permission_level=FieldPermission.READ_ONLY,
            role=self.role, instance=self.instance)
        udf_perm.save()
        udf_write_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='udf:Test choice',
            permission_level=FieldPermission.WRITE_DIRECTLY,
            role=self.udf_role, instance=self.instance)
        udf_write_perm.save()
Пример #21
0
    def setUp(self):
        self.instance = make_instance()
        self.commander = make_commander_user(self.instance, "comm")

        # Note unicode '⅀' is on purpose
        self.user1 = User(username='******',
                          password='******',
                          email='*****@*****.**',
                          organization='org111',
                          first_name='therem',
                          last_name='⅀straven')

        self.user1.save_with_user(self.commander)

        self.user2 = User(username='******',
                          password='******',
                          email='*****@*****.**',
                          first_name='genly',
                          last_name='ai')
        self.user2.save_with_user(self.commander)

        self.user3 = User(username='******',
                          password='******',
                          email='*****@*****.**')
        self.user3.save_with_user(self.commander)

        self.user4 = User(username='******',
                          password='******',
                          email='*****@*****.**')
        self.user4.save_with_user(self.commander)

        self.factory = RequestFactory()
    def setUp(self):
        self.instance = make_instance()

        self.user = make_user(username='******', password='******')

        self.role = Role(name='role', instance=self.instance, rep_thresh=0)
        self.role.save()

        self.user_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='width',
            permission_level=FieldPermission.NONE,
            role=self.role, instance=self.instance)

        iuser = InstanceUser(instance=self.instance, user=self.user,
                             role=self.role)
        iuser.save_with_user(self.user)

        inst_role = Role(name='inst def role',
                         instance=self.instance,
                         rep_thresh=0)
        inst_role.save()

        self.inst_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='width',
            permission_level=FieldPermission.NONE,
            role=inst_role, instance=self.instance)

        self.instance.default_role = inst_role
        self.instance.save()

        self.plot = Plot(instance=self.instance)
Пример #23
0
 def setUp(self):
     super(CommentTestMixin, self).setUp()
     self.instance = make_instance()
     self.user = make_commander_user(self.instance)
     self.admin = make_admin_user(self.instance)
     self.plot = Plot(geom=self.instance.center, instance=self.instance)
     self.plot.save_with_user(self.user)
Пример #24
0
    def setUp(self):
        self.p = Point(-7615441.0, 5953519.0)

        self.instance = make_instance(point=self.p)
        self.user = make_commander_user(self.instance)

        self.plot = Plot(geom=self.instance.center, instance=self.instance)
    def setUp(self):
        self.user = make_user(username='******', password='******')
        self.instance = make_instance()

        # Create an admin user to verify that not all admins get notifications
        self.admin = make_user(instance=self.instance, username='******',
                               admin=True)
Пример #26
0
    def setUp(self):
        self.instance = make_instance()

        self.user = make_user(username='******', password='******')

        self.role = Role(name='role', instance=self.instance, rep_thresh=0)
        self.role.save()

        self.user_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='width',
            permission_level=FieldPermission.NONE,
            role=self.role, instance=self.instance)

        iuser = InstanceUser(instance=self.instance, user=self.user,
                             role=self.role)
        iuser.save_with_user(self.user)

        inst_role = Role(name='inst def role',
                         instance=self.instance,
                         rep_thresh=0)
        inst_role.save()

        self.inst_perm, __ = FieldPermission.objects.get_or_create(
            model_name='Plot', field_name='width',
            permission_level=FieldPermission.NONE,
            role=inst_role, instance=self.instance)

        self.instance.default_role = inst_role
        self.instance.save()

        self.plot = Plot(instance=self.instance)
Пример #27
0
 def setUp(self):
     self.p1 = Point(0, 0)
     self.instance = make_instance(point=self.p1)
     self.commander = make_commander_user(self.instance)
     self.parse_dict_value = partial(
         search._parse_dict_value_for_mapping,
         search.PREDICATE_TYPES)
Пример #28
0
    def setUp(self):
        self.instance = make_instance()
        datatype = [
            {'type': 'choice', 'choices': ['love', 'hug'], 'name': 'action'},
            {'type': 'int', 'name': 'times'},
            {'type': 'date', 'name': 'day'},
        ]
        create_stewardship_udfs(self.instance)
        make_collection_udf(self.instance, model='Plot', name='Caring',
                            datatype=datatype)
        make_collection_udf(self.instance, model='Tree', name='Caring',
                            datatype=datatype)

        UserDefinedFieldDefinition.objects.create(
            instance=self.instance,
            model_type='Plot',
            datatype=json.dumps({'type': 'string'}),
            iscollection=False,
            name='Name')

        UserDefinedFieldDefinition.objects.create(
            instance=self.instance,
            model_type='Tree',
            datatype=json.dumps({'type': 'int'}),
            iscollection=False,
            name='Man Units')
Пример #29
0
 def setUp(self):
     self.instance = make_instance()
     self.user = make_commander_user(self.instance)
     self.plot = Plot(instance=self.instance, geom=Point(-7615441, 5953519))
     self.plot.save_with_user(self.user)
     self.tree = Tree(instance=self.instance, plot=self.plot)
     self.tree.save_with_user(self.user)
Пример #30
0
 def test_two_boundary_thumbprint(self):
     make_simple_boundary('n1', n=0)
     instance = make_instance()
     thumbprint1 = instance.boundary_thumbprint
     make_simple_boundary('n2', n=1)
     thumbprint2 = instance.boundary_thumbprint
     self.assertNotEqual(thumbprint1, thumbprint2)
Пример #31
0
    def setUp(self):
        super(PermissionsTestCase, self).setUp()

        self.p = Point(-8515941.0, 4953519.0)

        self.instance = make_instance(point=self.p)
        self.role_yes = self._make_empty_role('yes')
        self.role_no = self._make_empty_role('no')
    def setUp(self):
        self.user = make_user(username='******', password='******')
        self.instance = make_instance()

        # Create an admin user to verify that not all admins get notifications
        self.admin = make_user(instance=self.instance,
                               username='******',
                               admin=True)
Пример #33
0
 def test_boundary_thumbprint(self):
     b = make_simple_boundary('n', n=0)
     instance = make_instance()
     thumbprint1 = instance.boundary_thumbprint
     b.name = 'n1'
     b.save()
     thumbprint2 = instance.boundary_thumbprint
     self.assertNotEqual(thumbprint1, thumbprint2)
Пример #34
0
    def setUp(self):
        instance = make_instance()
        user = make_admin_user(instance)

        species = Species(instance=instance, genus="g1", species="", cultivar="", max_diameter=50.0, max_height=100.0)
        species.save_with_user(User.system_user())

        login(self.client, user.username)
Пример #35
0
 def test_user_audits(self):
     self.instance = make_instance()
     username = make_commander_user(self.instance).username
     self.assert_template('/users/%s/edits/' % username,
                          'treemap/recent_user_edits.html')
     self.assert_template('/users/%s/edits/?instance_id=%s'
                          % (username, self.instance.id),
                          'treemap/recent_user_edits.html')
Пример #36
0
    def setUp(self):
        center_point = Point(25, 25, srid=4326)
        center_point.transform(3857)
        self.instance = make_instance(point=center_point, edge_length=500000)
        self.user = make_admin_user(self.instance)

        self.ie = TreeImportEvent(file_name="file", owner=self.user, instance=self.instance)
        self.ie.save()
Пример #37
0
 def setUp(self):
     self.point = Point(-8515941.0, 4953519.0)
     self.instance = make_instance(point=self.point)
     self.user = make_commander_user(self.instance)
     self.plot = Plot(geom=self.point, instance=self.instance)
     self.plot.save_with_user(self.user)
     self.plot = Plot.objects.get(pk=self.plot.pk)
     self.initial_updated = self.plot.updated_at
Пример #38
0
 def setUp(self):
     self.instance = make_instance()
     self.user_a = make_plain_user('a', 'a')
     self.user_b = make_plain_user('b', 'b')
     self.plan_a1 = self._make_plan('a1', self.user_a, True)
     self.plan_a2 = self._make_plan('a2', self.user_a, False)
     self.plan_b1 = self._make_plan('b1', self.user_b, True)
     self.plan_b2 = self._make_plan('b2', self.user_b, False)
Пример #39
0
    def setUp(self):
        super(PermissionsTestCase, self).setUp()

        self.p = Point(-8515941.0, 4953519.0)

        self.instance = make_instance(point=self.p)
        self.role_yes = self._make_empty_role('yes')
        self.role_no = self._make_empty_role('no')
Пример #40
0
 def setUp(self):
     self.point = Point(-8515941.0, 4953519.0)
     self.instance = make_instance(point=self.point)
     self.user = make_commander_user(self.instance)
     self.plot = Plot(geom=self.point, instance=self.instance)
     self.plot.save_with_user(self.user)
     self.plot = Plot.objects.get(pk=self.plot.pk)
     self.initial_updated = self.plot.updated_at
Пример #41
0
    def test_has_itree_region_with_intersects(self):
        p1 = Point(0, 0)
        instance = make_instance(point=p1)
        instance.save()

        ITreeRegion.objects.create(geometry=MultiPolygon((p1.buffer(10))))

        self.assertEqual(instance.has_itree_region(), True)
Пример #42
0
 def test_boundary_thumbprint(self):
     b = make_simple_boundary('n', n=0)
     instance = make_instance()
     thumbprint1 = instance.boundary_thumbprint
     b.name = 'n1'
     b.save()
     thumbprint2 = instance.boundary_thumbprint
     self.assertNotEqual(thumbprint1, thumbprint2)
Пример #43
0
    def setUp(self):
        super(AsyncCSVTestCase, self).setUp()
        self.instance = make_instance()
        self.user = make_commander_user(self.instance)

        self.unprivileged_user = User.objects.create_user(username='******',
                                                          email='*****@*****.**',
                                                          password='******')
Пример #44
0
 def setUp(self):
     self.instance = make_instance()
     user = make_commander_user(instance=self.instance)
     species = Species(instance=self.instance,
                       otm_code='',
                       common_name='',
                       genus='')
     species.save_with_user(user)
Пример #45
0
    def setUp(self):
        super(AsyncCSVTestCase, self).setUp()
        self.instance = make_instance()
        self.user = make_commander_user(self.instance)

        self.unprivileged_user = User.objects.create_user(username='******',
                                                          email='*****@*****.**',
                                                          password='******')
Пример #46
0
    def test_has_itree_region_with_intersects(self):
        p1 = Point(0, 0)
        instance = make_instance(point=p1)
        instance.save()

        ITreeRegion.objects.create(geometry=MultiPolygon((p1.buffer(10))))

        self.assertEqual(instance.has_itree_region(), True)
Пример #47
0
def setupTreemapEnv():
    def local_render_to_response(*args, **kwargs):
        from django.template import loader
        from django.http import HttpResponse

        hr = HttpResponse(loader.render_to_string(*args, **kwargs))

        if hasattr(args[1], 'dicts'):
            hr.request_context = args[1].dicts

        return hr

    django.shortcuts.render_to_response = local_render_to_response

    instance = make_instance(is_public=True)
    create_stewardship_udfs(instance)

    make_user_with_default_role(instance, 'jim')
    commander = make_commander_user(instance, 'commander')
    make_apprentice_user(instance, 'apprentice')

    n1geom = MultiPolygon(Polygon(
        ((0, 0), (100, 0), (100, 100), (0, 100), (0, 0))))

    n2geom = MultiPolygon(
        Polygon(((0, 101), (101, 101), (101, 200), (0, 200), (0, 101))))

    n1 = Boundary(name="n1", category='blah', sort_order=4, geom=n1geom)
    n2 = Boundary(name="n2", category='blah', sort_order=4, geom=n2geom)

    n1.save()
    n2.save()

    s1 = Species(otm_code="s1", genus="testus1", species="specieius1",
                 cultivar='', instance=instance)
    s2 = Species(otm_code="s2", genus="testus2", species="specieius2",
                 cultivar='', instance=instance)
    s3 = Species(otm_code="s3", genus="testus2", species="specieius3",
                 cultivar='', instance=instance)

    s1.is_native = True
    s1.fall_conspicuous = True
    s1.flower_conspicuous = True
    s1.palatable_human = True

    s2.is_native = True
    s2.fall_conspicuous = False
    s2.flower_conspicuous = True
    s2.palatable_human = False
    s2.has_wildlife_value = True

    s3.has_wildlife_value = True

    s1.save_with_user(commander)
    s2.save_with_user(commander)
    s3.save_with_user(commander)

    return instance
Пример #48
0
    def setUp(self):
        self.p1 = Point(0, 0)
        self.p2 = Point(5, 5)

        self.instance1 = make_instance(point=self.p1)
        self.user = make_user_with_default_role(self.instance1, 'auser')
        self.global_role = self.instance1.default_role

        self.instance2 = make_instance(name='i2')
        self.instance2.save()

        iuser = InstanceUser(instance=self.instance2, user=self.user,
                             role=self.global_role)
        iuser.save_with_user(self.user)

        for i in [self.instance1, self.instance2]:
            FieldPermission(model_name='Plot', field_name='geom',
                            permission_level=FieldPermission.WRITE_DIRECTLY,
                            role=self.global_role,
                            instance=i).save()
            FieldPermission(model_name='Tree', field_name='plot',
                            permission_level=FieldPermission.WRITE_DIRECTLY,
                            role=self.global_role,
                            instance=i).save()

        self.plot1 = Plot(geom=self.p1, instance=self.instance1)

        self.plot1.save_with_user(self.user)

        self.plot2 = Plot(geom=self.p2, instance=self.instance2)

        self.plot2.save_with_user(self.user)

        tree_combos = [
            (self.plot1, self.instance1, True),
            (self.plot1, self.instance1, False),
            (self.plot2, self.instance2, True),
            (self.plot2, self.instance2, False),
        ]

        for tc in tree_combos:
            plot, instance, readonly = tc
            t = Tree(plot=plot, instance=instance, readonly=readonly)

            t.save_with_user(self.user)
Пример #49
0
 def test_species_thumbprint(self):
     instance = make_instance()
     add_species_to_instance(instance)
     thumbprint1 = instance.species_thumbprint
     s = Species.objects.get(instance=instance, common_name='Afghan pine')
     s.common_name = 'Afghan pony'
     s.save_with_system_user_bypass_auth()
     thumbprint2 = instance.species_thumbprint
     self.assertNotEqual(thumbprint1, thumbprint2)
Пример #50
0
    def setUp(self):
        # Example url for
        # CEAT, 1630 dbh, NoEastXXX
        # eco.json?otmcode=CEAT&diameter=1630&region=NoEastXXX
        def mockbenefits(*args, **kwargs):
            benefits = {
                "Benefits": {
                    "aq_nox_avoided": 0.6792,
                    "aq_nox_dep": 0.371,
                    "aq_ozone_dep": 0.775,
                    "aq_pm10_avoided": 0.0436,
                    "aq_pm10_dep": 0.491,
                    "aq_sox_avoided": 0.372,
                    "aq_sox_dep": 0.21,
                    "aq_voc_avoided": 0.0254,
                    "bvoc": -0.077,
                    "co2_avoided": 255.5,
                    "co2_sequestered": 0,
                    "co2_storage": 6575,
                    "electricity": 187,
                    "hydro_interception": 12.06,
                    "natural_gas": 5834.1
                }
            }
            return (benefits, None)

        region = ITreeRegion.objects.get(code='NoEastXXX')
        p = region.geometry.point_on_surface

        converter = BenefitCurrencyConversion(currency_symbol='$',
                                              electricity_kwh_to_currency=1.0,
                                              natural_gas_kbtu_to_currency=1.0,
                                              co2_lb_to_currency=1.0,
                                              o3_lb_to_currency=1.0,
                                              nox_lb_to_currency=1.0,
                                              pm10_lb_to_currency=1.0,
                                              sox_lb_to_currency=1.0,
                                              voc_lb_to_currency=1.0,
                                              h20_gal_to_currency=1.0)
        converter.save()

        self.instance = make_instance(is_public=True, point=p)
        self.instance.eco_benefits_conversion = converter
        self.instance.save()
        self.user = make_commander_user(self.instance)

        self.species = Species(otm_code='CEAT',
                               genus='cedrus',
                               species='atlantica',
                               max_diameter=2000,
                               max_height=100,
                               instance=self.instance)

        self.species.save_with_user(self.user)

        self.origBenefitFn = ecobackend.json_benefits_call
        ecobackend.json_benefits_call = mockbenefits
Пример #51
0
 def setUp(self):
     super(UpdatedAtTestCase, self).setUp()
     self.image = self.load_resource('tree1.gif')
     self.test_start = timezone.now()
     self.point = Point(-8515941.0, 4953519.0)
     self.instance = make_instance(point=self.point)
     self.user = make_commander_user(self.instance)
     self.plot = Plot(geom=self.point, instance=self.instance)
     self.plot.save_with_user(self.user)
Пример #52
0
 def test_species_thumbprint(self):
     instance = make_instance()
     add_species_to_instance(instance)
     thumbprint1 = instance.species_thumbprint
     s = Species.objects.get(instance=instance, common_name='Afghan pine')
     s.common_name = 'Afghan pony'
     s.save_with_system_user_bypass_auth()
     thumbprint2 = instance.species_thumbprint
     self.assertNotEqual(thumbprint1, thumbprint2)
Пример #53
0
    def setUp(self):
        self.instance = make_instance()
        self.commander = make_commander_user(self.instance)

        self.new_role = Role(name='Ambassador', instance=self.instance,
                             rep_thresh=0)
        self.new_role.save()

        self.factory = RequestFactory()
Пример #54
0
 def setUp(self):
     self.instance = make_instance(edge_length=1000)
     self.user = make_commander_user(self.instance)
     self.make_plots([(0, 100), (0, 101), (0, 200), (0, 201)])
     recompute_hide_at_zoom(self.instance)
     # Two plots have hide_at_zoom == 14
     # One plot has hide_at_zoom == 10
     # One plot has hide_at_zoom == None
     self.assert_counts({14: 2, 10: 1})
 def setUp(self):
     super(UpdateTestCase, self).setUp()
     self.image = self.load_resource('tree1.gif')
     self.test_start = timezone.now()
     self.point = Point(-8515941.0, 4953519.0)
     self.instance = make_instance(point=self.point)
     self.user = make_commander_user(self.instance)
     self.plot = Plot(geom=self.point, instance=self.instance)
     self.plot.save_with_user(self.user)
Пример #56
0
    def setUp(self):
        self.instance = make_instance()
        self.conversions =\
            BenefitCurrencyConversion.get_default_for_region('PiedmtCLT')
        self.conversions.save()

        self.instance.eco_benefits_conversion = self.conversions
        self.instance.save()
        self.commander = make_commander_user(self.instance)
Пример #57
0
    def setUp(self):
        instance = make_instance()
        user = make_admin_user(instance)

        species = Species(instance=instance, genus='g1', species='',
                          cultivar='', max_diameter=50.0, max_height=100.0)
        species.save_with_user(User.system_user())

        login(self.client, user.username)
Пример #58
0
    def setUp(self):
        self.instance = make_instance()
        self.commander = make_commander_user(self.instance)

        self.new_role = Role(name='Ambassador', instance=self.instance,
                             rep_thresh=0)
        self.new_role.save()

        self.factory = RequestFactory()
Пример #59
0
    def setUp(self):
        self.p1 = Point(-7615441.0, 5953519.0)
        self.instance = make_instance(point=self.p1)
        self.commander_user = make_commander_user(self.instance)
        self.direct_user = make_officer_user(self.instance)
        self.pending_user = make_apprentice_user(self.instance)
        self.observer_user = make_observer_user(self.instance)

        self.plot = Plot(geom=self.p1, instance=self.instance, length=5.0)
        self.plot.save_with_user(self.commander_user)