Philipp Hörist pushed to branch master at gajim / python-nbxmpp
Commits:
c1c5d310 by lovetox at 2020-03-22T11:39:05+01:00
Register: Allow to set jid on some methods
- - - - -
1 changed file:
- nbxmpp/modules/register.py
Changes:
=====================================
nbxmpp/modules/register.py
=====================================
@@ -44,9 +44,8 @@ class Register(BaseModule):
self.handlers = []
@call_on_response('_default_response')
- def unregister(self):
- domain = self._client.get_bound_jid().getDomain()
- iq = Iq('set', to=domain)
+ def unregister(self, jid=None):
+ iq = Iq('set', to=jid)
query = iq.setQuery()
query.setNamespace(NS_REGISTER)
query.addChild('remove')
@@ -77,8 +76,11 @@ class Register(BaseModule):
return data
@call_on_response('_on_submit_result')
- def submit_register_form(self, form):
- iq = Iq('set', NS_REGISTER, to=self._client.domain)
+ def submit_register_form(self, jid, form):
+ if jid is None:
+ jid = self._client.domain
+
+ iq = Iq('set', NS_REGISTER, to=jid)
if form.is_fake_form():
query = iq.getTag('query')
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/commit/c1c5d310732d60a3efdb2d2d…
--
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/commit/c1c5d310732d60a3efdb2d2d…
You're receiving this email because of your account on dev.gajim.org.
Philipp Hörist pushed to branch master at gajim / gajim
Commits:
1bd6bcfc by lovetox at 2020-03-21T23:08:21+01:00
AccountWizard: Use @ensure_not_destroyed for callbacks
- - - - -
1 changed file:
- gajim/gtk/account_wizard.py
Changes:
=====================================
gajim/gtk/account_wizard.py
=====================================
@@ -43,6 +43,8 @@ from gajim.gtk.assistant import Page
from gajim.gtk.dataform import DataFormWidget
from gajim.gtk.util import get_builder
from gajim.gtk.util import open_window
+from gajim.gtk.util import ensure_not_destroyed
+
log = logging.getLogger('gajim.gtk.account_wizard')
@@ -343,6 +345,7 @@ class AccountWizard(Assistant):
i += 1
return domain
+ @ensure_not_destroyed
def _on_register_form(self, result):
if is_error_result(result):
self._show_error_page(_('Error'),
@@ -379,6 +382,7 @@ class AccountWizard(Assistant):
self._client.get_module('Register').submit_register_form(
form, callback=self._on_register_result)
+ @ensure_not_destroyed
def _on_register_result(self, result):
if is_error_result(result):
self._on_register_error(result)
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/1bd6bcfc32131a1903942de473527964…
--
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/1bd6bcfc32131a1903942de473527964…
You're receiving this email because of your account on dev.gajim.org.
Philipp Hörist pushed to branch master at gajim / python-nbxmpp
Commits:
ecb882e0 by lovetox at 2020-03-21T22:57:49+01:00
Dataforms: Set vars if form is not build from node
- - - - -
8bc83974 by lovetox at 2020-03-21T22:58:09+01:00
Dataforms: Add is_fake_form() method
- - - - -
410fa7d5 by lovetox at 2020-03-21T22:58:55+01:00
Register: Convert fake form to register fields on submit
- - - - -
2 changed files:
- nbxmpp/modules/dataforms.py
- nbxmpp/modules/register.py
Changes:
=====================================
nbxmpp/modules/dataforms.py
=====================================
@@ -544,8 +544,6 @@ class DataRecord(ExtendedNode):
extend_field(field)
self.vars[field.var] = field
else:
- for field in self.getTags('field'):
- self.delChild(field)
self.fields = fields
@property
@@ -562,11 +560,13 @@ class DataRecord(ExtendedNode):
if not isinstance(field, DataField):
extend_field(field)
self.addChild(node=field)
+ self.vars[field.var] = field
@fields.deleter
def fields(self):
for element in self.getTags('field'):
self.delChild(element)
+ self.vars.clear()
def iter_fields(self):
"""
@@ -592,6 +592,9 @@ class DataRecord(ExtendedNode):
return False
return True
+ def is_fake_form(self):
+ return bool(self.vars.get('fakeform', False))
+
class DataForm(ExtendedNode):
def __init__(self, type_=None, title=None, instructions=None, extend=None):
=====================================
nbxmpp/modules/register.py
=====================================
@@ -79,6 +79,15 @@ class Register(BaseModule):
@call_on_response('_on_submit_result')
def submit_register_form(self, form):
iq = Iq('set', NS_REGISTER, to=self._client.domain)
+
+ if form.is_fake_form():
+ query = iq.getTag('query')
+ for field in form.iter_fields():
+ if field.var == 'fakeform':
+ continue
+ query.addChild(field.var, payload=[field.value])
+ return iq
+
iq.setQueryPayload(form)
return iq
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/compare/d4c2e5c72e6cd03f893f0f5…
--
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/compare/d4c2e5c72e6cd03f893f0f5…
You're receiving this email because of your account on dev.gajim.org.
Philipp Hörist pushed to branch master at gajim / gajim
Commits:
1509414b by lovetox at 2020-03-21T21:58:32+01:00
AccountWizard: Fix typo in method call
- - - - -
1 changed file:
- gajim/gtk/account_wizard.py
Changes:
=====================================
gajim/gtk/account_wizard.py
=====================================
@@ -401,7 +401,7 @@ class AccountWizard(Assistant):
_('Error'),
result.get_text())
- register_data = result.get_date()
+ register_data = result.get_data()
if register_data is None:
# IQ error did not have the payload included
self.get_page('form').remove_form()
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/1509414b4c687a1ef02bd5bbe867ce27…
--
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/1509414b4c687a1ef02bd5bbe867ce27…
You're receiving this email because of your account on dev.gajim.org.
Philipp Hörist pushed to branch master at gajim / python-nbxmpp
Commits:
d4c2e5c7 by lovetox at 2020-03-21T21:39:07+01:00
Register: Add missing instructions to form
- - - - -
1 changed file:
- nbxmpp/modules/register.py
Changes:
=====================================
nbxmpp/modules/register.py
=====================================
@@ -151,7 +151,9 @@ class Register(BaseModule):
return None
fields.append(create_field(typ='hidden', var='fakeform'))
- return SimpleDataForm(type_='form', fields=fields)
+ return SimpleDataForm(type_='form',
+ instructions=query.getTagData('instructions'),
+ fields=fields)
@call_on_response('_on_password_change')
def change_password(self, password):
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/commit/d4c2e5c72e6cd03f893f0f58…
--
View it on GitLab: https://dev.gajim.org/gajim/python-nbxmpp/-/commit/d4c2e5c72e6cd03f893f0f58…
You're receiving this email because of your account on dev.gajim.org.