Mercurial > libervia-backend
diff sat/plugins/plugin_exp_invitation_file.py @ 3324:b57b5e42e894
plugins invitation, invitation-file: adapt service JID and affiliation:
if the user part of the service is missing while creating and invitation, it's added
because using only the domain will lead to a different repository depending on the
requester. In addition, the invitee is added to the repostiroy path as a member, to be
sure he/she can access it.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 01 Aug 2020 16:24:03 +0200 |
parents | 5887fb414758 |
children | 12dc234f698c |
line wrap: on
line diff
--- a/sat/plugins/plugin_exp_invitation_file.py Sat Aug 01 16:19:50 2020 +0200 +++ b/sat/plugins/plugin_exp_invitation_file.py Sat Aug 01 16:24:03 2020 +0200 @@ -1,7 +1,6 @@ #!/usr/bin/env python3 - -# SAT plugin to detect language (experimental) +# SàT plugin to send invitations for file sharing # Copyright (C) 2009-2020 Jérôme Poisson (goffi@goffi.org) # This program is free software: you can redistribute it and/or modify @@ -40,7 +39,7 @@ } -class FileSharingInvitation(object): +class FileSharingInvitation: def __init__(self, host): log.info(_("File Sharing Invitation plugin initialization")) @@ -53,6 +52,7 @@ in_sign="ssssssss", out_sign="", method=self._sendFileSharingInvitation, + async_=True ) def _sendFileSharingInvitation( @@ -62,10 +62,12 @@ invitee_jid = jid.JID(invitee_jid_s) service = jid.JID(service_s) extra = data_format.deserialise(extra_s) - return self.host.plugins["INVITATION"].sendFileSharingInvitation( - client, invitee_jid, service, repos_type=repos_type or None, - namespace=namespace or None, path=path or None, name=name or None, - extra=extra) + return defer.ensureDeferred( + self.host.plugins["INVITATION"].sendFileSharingInvitation( + client, invitee_jid, service, repos_type=repos_type or None, + namespace=namespace or None, path=path or None, name=name or None, + extra=extra) + ) def onInvitation(self, client, name, extra, service, repos_type, namespace, path): if repos_type == "files":