Exemplo n.º 1
0
    def change_customer(self, **kwargs):
        site = AdminSite()
        model_admin = structure_admin.CustomerAdmin(structure_models.Customer,
                                                    site)

        request = MockRequest()
        request.user = self.created_by

        form_for_data = model_admin.get_form(request)(instance=self.customer)
        post_data = form_for_data.initial

        dt_now = datetime.now()
        dt_date = dt_now.strftime("%Y-%m-%d")
        dt_time = dt_now.strftime("%H:%M:%S")

        post_data.update(
            dict(accounting_start_date_0=dt_date,
                 accounting_start_date_1=dt_time))

        post_data.update(kwargs)

        form = model_admin.get_form(request)(instance=self.customer,
                                             data=post_data)
        form.save()

        self.customer.refresh_from_db()
        return self.customer
Exemplo n.º 2
0
    def test_customer_deleting_is_possible_only_if_related_project_is_removed(self):
        site = AdminSite()
        model_admin = structure_admin.CustomerAdmin(structure_models.Customer, site)
        project = factories.ProjectFactory(customer=self.customer)
        request = MockRequest()
        queryset = structure_models.Customer.objects.filter(pk=self.customer.id)

        self.assertRaises(
            ProtectedError, model_admin.delete_queryset, request, queryset
        )
        project_id = project.id
        project.delete()

        # A project exists in DB because we use soft-delete for projects.
        self.assertTrue(
            structure_models.Project.structure_objects.filter(pk=project_id).exists()
        )

        model_admin.delete_queryset(request, queryset)
        self.assertRaises(
            structure_models.Customer.DoesNotExist, self.customer.refresh_from_db
        )