Force regenerate invitations uuids on dump load
parent
7beff9cab7
commit
8868e89d6f
|
@ -425,7 +425,7 @@ class MembershipExportSerializer(serializers.ModelSerializer):
|
|||
|
||||
class Meta:
|
||||
model = projects_models.Membership
|
||||
exclude = ('id', 'project')
|
||||
exclude = ('id', 'project', 'token')
|
||||
|
||||
def full_clean(self, instance):
|
||||
return instance
|
||||
|
|
|
@ -182,7 +182,6 @@ def store_membership(project, membership):
|
|||
if serialized.is_valid():
|
||||
serialized.object.project = project
|
||||
serialized.object._importing = True
|
||||
if not serialized.object.token:
|
||||
serialized.object.token = str(uuid.uuid1())
|
||||
serialized.object.user = find_invited_user(serialized.object.email,
|
||||
default=serialized.object.user)
|
||||
|
|
|
@ -25,7 +25,7 @@ from .. import factories as f
|
|||
from django.apps import apps
|
||||
|
||||
from taiga.base.utils import json
|
||||
from taiga.projects.models import Project
|
||||
from taiga.projects.models import Project, Membership
|
||||
from taiga.projects.issues.models import Issue
|
||||
from taiga.projects.userstories.models import UserStory
|
||||
from taiga.projects.tasks.models import Task
|
||||
|
@ -90,6 +90,28 @@ def test_valid_project_import_with_not_existing_memberships(client):
|
|||
assert len(response_data["memberships"]) == 2
|
||||
|
||||
|
||||
def test_valid_project_import_with_membership_uuid_rewrite(client):
|
||||
user = f.UserFactory.create()
|
||||
client.login(user)
|
||||
|
||||
url = reverse("importer-list")
|
||||
data = {
|
||||
"name": "Imported project",
|
||||
"description": "Imported project",
|
||||
"memberships": [{
|
||||
"email": "with-uuid@email.com",
|
||||
"role": "Role",
|
||||
"token": "123",
|
||||
}],
|
||||
"roles": [{"name": "Role"}]
|
||||
}
|
||||
|
||||
response = client.post(url, json.dumps(data), content_type="application/json")
|
||||
assert response.status_code == 201
|
||||
response_data = json.loads(response.content.decode("utf-8"))
|
||||
assert Membership.objects.filter(email="with-uuid@email.com", token="123").count() == 0
|
||||
|
||||
|
||||
def test_valid_project_import_with_extra_data(client):
|
||||
user = f.UserFactory.create()
|
||||
client.login(user)
|
||||
|
|
Loading…
Reference in New Issue