nch(OpenERP) has proposed merging
lp:~openerp-commiter/openobject-client/passwd_change into lp:openobject-client.
Requested reviews:
OpenERP sa GTK client R&D (openerp-dev-gtk)
For more details, see:
https://code.launchpad.net/~openerp-commiter/openobject-client/passwd_change/+merge/45031
Hi,
This merge allows the user to change his password from the menu User/Change
password and even there is no relogin requirement anymore.
Thanks
--
https://code.launchpad.net/~openerp-commiter/openobject-client/passwd_change/+merge/45031
Your team OpenERP sa GTK client R&D is requested to review the proposed merge
of lp:~openerp-commiter/openobject-client/passwd_change into
lp:openobject-client.
=== modified file 'bin/modules/gui/main.py'
--- bin/modules/gui/main.py 2010-12-16 09:18:15 +0000
+++ bin/modules/gui/main.py 2011-01-03 13:36:42 +0000
@@ -742,6 +742,7 @@
'on_win_close_activate': self.sig_win_close,
'on_support_activate': common.support,
'on_preference_activate': self.sig_user_preferences,
+ 'on_change_passwd_activate':lambda x:self.sig_db_password('user'),
'on_read_requests_activate': self.sig_request_open,
'on_send_request_activate': self.sig_request_new,
'on_request_wait_activate': self.sig_request_wait,
@@ -765,7 +766,7 @@
'on_db_restore_activate': self.sig_db_restore,
'on_db_backup_activate': self.sig_db_dump,
'on_db_drop_activate': self.sig_db_drop,
- 'on_admin_password_activate': self.sig_db_password,
+ 'on_admin_password_activate': lambda x:self.sig_db_password('admin'),
'on_extension_manager_activate': self.sig_extension_manager,
'on_db_migrate_retrieve_script_activate': self.sig_db_migrate_retrieve_script,
'on_db_migrate_activate' : self.sig_db_migrate,
@@ -917,10 +918,10 @@
self.notebook.set_current_page(pn-1)
def sig_user_preferences(self, *args):
- win =win_preference.win_preference(parent=self.window)
+ win = win_preference.win_preference(parent=self.window)
win.run()
id = self.sb_company.get_context_id('message')
- comp=self.company_set()
+ comp = self.company_set()
if comp:
self.sb_company.push(id, comp)
else:
@@ -1415,7 +1416,7 @@
win = win_extension.win_extension(self.window)
win.run()
- def sig_db_password(self, widget):
+ def sig_db_password(self, type):
dialog = glade.XML(common.terp_path("openerp.glade"), "dia_passwd_change",
gettext.textdomain())
win = dialog.get_widget('dia_passwd_change')
@@ -1426,6 +1427,7 @@
old_pass_widget = dialog.get_widget('old_passwd')
new_pass_widget = dialog.get_widget('new_passwd')
new_pass2_widget = dialog.get_widget('new_passwd2')
+ dia_label = dialog.get_widget('label294')
change_button = dialog.get_widget('but_server_change1')
change_button.connect_after('clicked', lambda a,b: _server_ask(b, win), server_widget)
@@ -1434,6 +1436,8 @@
protocol = options.options['login.protocol']
url = '%s%s:%s' % (protocol, host, port)
server_widget.set_text(url)
+ if type == 'user':
+ dia_label.set_label(_('<b>Change your password</b>'))
res = win.run()
if res == gtk.RESPONSE_OK:
@@ -1447,13 +1451,19 @@
_("Validation Error."), parent=win)
else:
try:
- rpc.session.db_exec(url, 'change_admin_password',
- old_passwd, new_passwd)
+ if type == 'user':
+ rpc.session.rpc_exec_auth('/object', 'execute', 'res.users', 'change_password',
+ [rpc.session.uid], old_passwd, new_passwd)
+ rpc.session._passwd = new_passwd
+ else:
+ rpc.session.db_exec(url, 'change_admin_password',
+ old_passwd, new_passwd)
except Exception,e:
if ('faultCode' in dir(e) and e.faultCode=="AccessDenied") \
- or str(e)=='AccessDenied':
- common.warning(_("Could not change the Super Admin password."),
- _('Bad password provided !'), parent=win)
+ or 'AccessDenied' in str(e):
+ if type =='admin':
+ common.warning(_("Could not change the Super Admin password."),
+ _('Bad password provided !'), parent=win)
else:
common.warning(_("Error, password not changed."),
parent=win)
=== modified file 'bin/modules/gui/window/win_preference.py'
--- bin/modules/gui/window/win_preference.py 2010-12-27 09:33:19 +0000
+++ bin/modules/gui/window/win_preference.py 2011-01-03 13:36:42 +0000
@@ -80,7 +80,6 @@
if res == gtk.RESPONSE_OK:
values = self.screen.get()
rpc.session.rpc_exec_auth('/object', 'execute', 'res.users', 'write', [rpc.session.uid], values)
- rpc.session._passwd = values.get('password')
rpc.session.context_reload()
new_lang = rpc.session.context.get('lang', 'en_US')
if lang != new_lang:
=== modified file 'bin/openerp.glade'
--- bin/openerp.glade 2010-12-21 19:39:25 +0000
+++ bin/openerp.glade 2011-01-03 13:36:42 +0000
@@ -478,6 +478,14 @@
</widget>
</child>
<child>
+ <widget class="GtkImageMenuItem" id="change_passwd">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Change password</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="on_change_passwd_activate"/>
+ </widget>
+ </child>
+ <child>
<widget class="GtkSeparatorMenuItem" id="item2">
<property name="visible">True</property>
</widget>
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp