Esempio n. 1
0
    def test_plot_tree_same_instance(self):
        plot = Plot(geom=self.p1, instance=self.instance2)
        plot.save_with_user(self.user)

        tree = Tree(plot=plot, instance=self.instance1, readonly=False)
        self.assertRaises(ValidationError, tree.save_with_user, self.user)
Esempio n. 2
0
 def setUp(self):
     self.instance = make_instance()
     self.user = make_commander_user(self.instance)
     self.plot = Plot(geom=Point(0, 0), instance=self.instance)
     self.plot.save_with_user(self.user)
Esempio n. 3
0
 def test_create_plot(self):
     with self._assert_updates_geo_and_eco_rev():
         plot = Plot(instance=self.instance)
         request_dict = {'plot.geom': {'x': 0, 'y': 0}}
         update_map_feature(request_dict, self.user, plot)
Esempio n. 4
0
    def setUp(self):
        super(ReviewTest, self).setUp()

        self.plot = Plot(geom=self.p1, instance=self.instance)
        self.plot.save_with_user(self.commander_user)
Esempio n. 5
0
    def test_pending_udf_audits(self):
        UserDefinedFieldDefinition.objects.create(instance=self.instance,
                                                  model_type='Plot',
                                                  datatype=json.dumps({
                                                      'type':
                                                      'choice',
                                                      'choices':
                                                      ['1', '2', '3']
                                                  }),
                                                  iscollection=False,
                                                  name='times climbed')

        set_write_permissions(self.instance, self.commander_user, 'Plot',
                              ['udf:times climbed'])

        FieldPermission.objects.create(
            model_name='Plot',
            field_name='udf:times climbed',
            permission_level=FieldPermission.WRITE_WITH_AUDIT,
            role=self.pending_user.get_instance_user(self.instance).role,
            instance=self.instance)

        initial_plot = Plot(geom=self.p1, instance=self.instance)
        initial_plot.udfs['times climbed'] = '2'
        initial_plot.save_with_user(self.pending_user)

        udf_audit = Audit.objects.get(model='Plot',
                                      field='udf:times climbed',
                                      model_id=initial_plot.pk)
        approve_or_reject_audit_and_apply(udf_audit,
                                          self.commander_user,
                                          approved=True)

        geom_audit = Audit.objects.get(model='Plot',
                                       field='geom',
                                       model_id=initial_plot.pk)
        approve_or_reject_audit_and_apply(geom_audit,
                                          self.commander_user,
                                          approved=True)

        readonly_audit = Audit.objects.get(model='Plot',
                                           field='readonly',
                                           model_id=initial_plot.pk)
        approve_or_reject_audit_and_apply(readonly_audit,
                                          self.commander_user,
                                          approved=True)

        insert_audit = Audit.objects.get(model='Plot',
                                         field='id',
                                         model_id=initial_plot.pk)

        approve_or_reject_audit_and_apply(insert_audit,
                                          self.commander_user,
                                          approved=True)

        new_plot = Plot.objects.get(pk=initial_plot.pk)

        self.assertEqual(new_plot.pk, initial_plot.pk)
        self.assertEqual(new_plot.readonly, False)
        self.assertEqual(new_plot.geom, self.p1)
        self.assertEqual(new_plot.udfs['times climbed'], '2')
Esempio n. 6
0
    def setUp(self):
        super(SaveWithoutVerifyingTest, self).setUp()

        self.plot = Plot(geom=self.p1, instance=self.instance)
        self.plot.save_with_user(self.direct_user)
Esempio n. 7
0
 def make_plot(self):
     user = make_commander_user(self.instance)
     plot = Plot(geom=self.instance.center, instance=self.instance)
     plot.save_with_user(user)
     return plot
Esempio n. 8
0
    def setUp(self):
        self.p = Point(0, 0)
        self.instance = make_instance(point=self.p)
        self.commander_user = make_commander_user(self.instance)
        set_write_permissions(self.instance, self.commander_user,
                              'Plot',
                              ['udf:Test choice', 'udf:Test string',
                               'udf:Test int', 'udf:Test date',
                               'udf:Test float'])

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

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

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

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

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

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

        psycopg2.extras.register_hstore(connection.cursor(), globally=True)

        def create_and_save_with_choice(c, n=1):
            plots = []
            for i in xrange(n):
                plot = Plot(geom=self.p, instance=self.instance)
                plot.udfs['Test choice'] = c
                plot.save_with_user(self.commander_user)
                plots.append(plot)

            return {plot.pk for plot in plots}

        self.choice_a = create_and_save_with_choice('a', n=2)
        self.choice_b = create_and_save_with_choice('b', n=3)
        self.choice_c = create_and_save_with_choice('c', n=7)
Esempio n. 9
0
 def create_plot_with_num(afloat):
     plot = Plot(geom=self.p, instance=self.instance)
     plot.udfs['Test float'] = afloat
     plot.save_with_user(self.commander_user)
     return plot
Esempio n. 10
0
 def create_plot_with_date(adate):
     plot = Plot(geom=self.p, instance=self.instance)
     plot.udfs['Test date'] = adate
     plot.save_with_user(self.commander_user)
     return plot