Mercurial > libervia-backend
diff src/plugins/plugin_misc_register_account.py @ 1089:8e0072754413
core, plugins, stdui, frontends: fixes handling of "Force server" and "Force port" parameters:
- do not save a "guessed" value, they must stay empty until the user explicitely sets them
- add constant XMPP_C2S_PORT (default value 5222)
author | souliane <souliane@mailoo.org> |
---|---|
date | Mon, 23 Jun 2014 10:23:13 +0200 |
parents | b29452cab50b |
children | 628e320eab1f |
line wrap: on
line diff
--- a/src/plugins/plugin_misc_register_account.py Mon Jun 23 00:44:10 2014 +0200 +++ b/src/plugins/plugin_misc_register_account.py Mon Jun 23 10:23:13 2014 +0200 @@ -59,19 +59,20 @@ try: session_data[param] = data["%s%s%s%s" % (SAT_FORM_PREFIX, "Connection", SAT_PARAM_SEPARATOR, param)] except KeyError: - if param == C.FORCE_PORT_PARAM: - session_data[param] = 5222 + if param in (C.FORCE_PORT_PARAM, C.FORCE_SERVER_PARAM): + session_data[param] = '' - for param in ('JabberID', 'Password', C.FORCE_SERVER_PARAM): + for param in ('JabberID', 'Password'): if not session_data[param]: form_ui = xml_tools.XMLUI("popup", title=D_("Missing values")) - form_ui.addText(D_("No user, password or server given: can't register new account.")) + form_ui.addText(D_("No user JID or password given: can't register new account.")) return {'xmlui': form_ui.toXml()} - user = jid.parse(session_data['JabberID'])[0] + session_data['user'], host, resource = jid.parse(session_data['JabberID']) + session_data['server'] = session_data[C.FORCE_SERVER_PARAM] or host session_id, dummy = self._sessions.newSession(session_data, profile) form_ui = xml_tools.XMLUI("form", title=D_("Register new account"), submit_id=self.__register_account_id, session_id=session_id) - form_ui.addText(D_("Do you want to register a new XMPP account [%(user)s] on server %(server)s ?") % {'user': user, 'server': session_data[C.FORCE_SERVER_PARAM]}) + form_ui.addText(D_("Do you want to register a new XMPP account [%(user)s] on server %(server)s ?") % {'user': session_data['user'], 'server': session_data['server']}) return {'xmlui': form_ui.toXml()} def _registerConfirmation(self, data, profile): @@ -83,12 +84,11 @@ self.host.memory.setParam(C.FORCE_SERVER_PARAM, session_data[C.FORCE_SERVER_PARAM], "Connection", profile_key=profile) self.host.memory.setParam(C.FORCE_PORT_PARAM, session_data[C.FORCE_PORT_PARAM], "Connection", profile_key=profile) - user = jid.parse(session_data['JabberID'])[0] - d = self._registerNewAccount(user, session_data["Password"], None, session_data[C.FORCE_SERVER_PARAM], profile_key=profile) + d = self._registerNewAccount(session_data['user'], session_data["Password"], None, session_data['server'], profile_key=profile) del self._sessions[data['session_id']] return d - def _registerNewAccount(self, user, password, email, host, port=5222, profile_key=C.PROF_KEY_NONE): + def _registerNewAccount(self, user, password, email, host, port=C.XMPP_C2S_PORT, profile_key=C.PROF_KEY_NONE): """Connect to a server and create a new account using in-band registration. @param user: login of the account @param password: password of the account @@ -101,7 +101,7 @@ d = defer.Deferred() serverRegistrer = xmlstream.XmlStreamFactory(xmpp.RegisteringAuthenticator(self, host, user, password, email, d, profile)) - connector = reactor.connectTCP(host, port, serverRegistrer) + connector = reactor.connectTCP(host, port or C.XMPP_C2S_PORT, serverRegistrer) serverRegistrer.clientConnectionLost = lambda conn, reason: connector.disconnect() def cb(dummy):