Simplify Invitations.create signature

This commit is contained in:
richard-dds 2018-11-05 14:44:01 -05:00
parent bd353ab1f6
commit 024c695f66
3 changed files with 8 additions and 7 deletions

View File

@ -52,11 +52,11 @@ class Invitations(object):
return invite
@classmethod
def create(cls, workspace_role, inviter, user):
def create(cls, inviter, workspace_role):
invite = Invitation(
workspace_role=workspace_role,
inviter=inviter,
user=user,
user=workspace_role.user,
status=InvitationStatus.PENDING,
expiration_time=Invitations.current_expiration_time(),
)

View File

@ -255,11 +255,12 @@ def send_invite_email(owner_name, token, new_member_email):
def create_member(workspace_id):
workspace = Workspaces.get(g.current_user, workspace_id)
form = NewMemberForm(http_request.form)
user = g.current_user
if form.validate():
try:
new_member = Workspaces.create_member(g.current_user, workspace, form.data)
invite = Invitations.create(new_member, g.current_user, new_member.user)
new_member = Workspaces.create_member(user, workspace, form.data)
invite = Invitations.create(user, new_member)
send_invite_email(
g.current_user.full_name, invite.token, new_member.user.email
)

View File

@ -22,7 +22,7 @@ def test_create_invitation():
workspace = WorkspaceFactory.create()
user = UserFactory.create()
ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace)
invite = Invitations.create(ws_role, workspace.owner, user)
invite = Invitations.create(workspace.owner, ws_role)
assert invite.user == user
assert invite.workspace_role == ws_role
assert invite.inviter == workspace.owner
@ -34,7 +34,7 @@ def test_accept_invitation():
workspace = WorkspaceFactory.create()
user = UserFactory.create()
ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace)
invite = Invitations.create(ws_role, workspace.owner, user)
invite = Invitations.create(workspace.owner, ws_role)
assert invite.is_pending
accepted_invite = Invitations.accept(user, invite.token)
assert accepted_invite.is_accepted
@ -89,7 +89,7 @@ def test_accept_invitation_twice():
workspace = WorkspaceFactory.create()
user = UserFactory.create()
ws_role = WorkspaceRoleFactory.create(user=user, workspace=workspace)
invite = Invitations.create(ws_role, workspace.owner, user)
invite = Invitations.create(workspace.owner, ws_role)
Invitations.accept(user, invite.token)
with pytest.raises(InvitationError):
Invitations.accept(user, invite.token)