From 2e7ebcda9e05a2cb46f93c0d779d3f39daad2f27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 1 Sep 2009 18:38:12 +0200 Subject: [PATCH] Add 'login.host' options to hide server connection --- CHANGELOG | 1 + tryton/config.py | 7 +++- tryton/gui/window/dbcreate.py | 69 ++++++++++++++++++++------------- tryton/gui/window/dbdumpdrop.py | 33 ++++++++++------ tryton/gui/window/dblogin.py | 15 ++++--- tryton/gui/window/dbrestore.py | 47 +++++++++++++--------- 6 files changed, 107 insertions(+), 65 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index fe195fc6b6..b221bddb00 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Add 'login.host' options to hide server connection * Handle required attribute with local domains * Allow to run wizard in tabs * Add "Change Accelerators" option diff --git a/tryton/config.py b/tryton/config.py index 8eec079276..dd8ecd5184 100644 --- a/tryton/config.py +++ b/tryton/config.py @@ -100,7 +100,9 @@ class ConfigManager(object): 'roundup.xmlrpc': 'roundup-xmlrpc.tryton.org', } self.config = {} - self.options = {} + self.options = { + 'login.host': True + } parser = optparse.OptionParser(version=("Tryton %s" % VERSION)) parser.add_option("-c", "--config", dest="config", help=_("specify alternate config file")) @@ -174,7 +176,8 @@ class ConfigManager(object): self.config[key] = value def __getitem__(self, key): - return self.options.get(key, self.config.get(key, self.defaults[key])) + return self.options.get(key, self.config.get(key, + self.defaults.get(key))) CONFIG = ConfigManager() CURRENT_DIR = os.path.abspath(os.path.normpath(os.path.join( diff --git a/tryton/gui/window/dbcreate.py b/tryton/gui/window/dbcreate.py index 8c8e7d541c..4b5c8eacdc 100644 --- a/tryton/gui/window/dbcreate.py +++ b/tryton/gui/window/dbcreate.py @@ -162,16 +162,16 @@ class DBCreate(object): table.set_row_spacings(3) table.set_col_spacings(3) - label_server_setup = gtk.Label() - label_server_setup.set_markup(""+ _("Server Setup:")+ "") - label_server_setup.set_justify(gtk.JUSTIFY_LEFT) - label_server_setup.set_alignment(0, 1) - label_server_setup.set_padding( 9, 5) - table.attach(label_server_setup, 0, 3, 0, 1, xoptions=gtk.FILL) - label_server = gtk.Label(_("Server connection:")) - label_server.set_alignment(1, 0.5) - label_server.set_padding(3, 3) - table.attach(label_server, 0, 1, 1, 2, xoptions=gtk.FILL) + self.label_server_setup = gtk.Label() + self.label_server_setup.set_markup(""+ _("Server Setup:")+ "") + self.label_server_setup.set_justify(gtk.JUSTIFY_LEFT) + self.label_server_setup.set_alignment(0, 1) + self.label_server_setup.set_padding( 9, 5) + table.attach(self.label_server_setup, 0, 3, 0, 1, xoptions=gtk.FILL) + self.label_server = gtk.Label(_("Server connection:")) + self.label_server.set_alignment(1, 0.5) + self.label_server.set_padding(3, 3) + table.attach(self.label_server, 0, 1, 1, 2, xoptions=gtk.FILL) self.entry_server_connection = gtk.Entry() self.entry_server_connection.set_sensitive(False) self.entry_server_connection.unset_flags(gtk.CAN_FOCUS) @@ -191,15 +191,16 @@ class DBCreate(object): table.attach(self.button_server_change, 2, 3, 1, 2, yoptions=False, xoptions=gtk.FILL) self.tooltips.set_tip(self.button_server_change, _("Setup the " \ "server connection...")) - label_serverpasswd = gtk.Label(_("Tryton Server Password:")) - label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT) - label_serverpasswd.set_alignment(1, 0.5) - label_serverpasswd.set_padding( 3, 3) - table.attach(label_serverpasswd, 0, 1, 2, 3, xoptions=gtk.FILL) + self.label_serverpasswd = gtk.Label(_("Tryton Server Password:")) + self.label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT) + self.label_serverpasswd.set_alignment(1, 0.5) + self.label_serverpasswd.set_padding( 3, 3) + table.attach(self.label_serverpasswd, 0, 1, 2, 3, xoptions=gtk.FILL, + yoptions=gtk.FILL) self.entry_serverpasswd = gtk.Entry() self.entry_serverpasswd.set_visibility(False) self.entry_serverpasswd.set_activates_default(True) - table.attach(self.entry_serverpasswd, 1, 3, 2, 3) + table.attach(self.entry_serverpasswd, 1, 3, 2, 3, yoptions=gtk.FILL) self.tooltips.set_tip(self.entry_serverpasswd, _("This is the " \ "password of the Tryton server. It doesn't belong to a " \ "real user. This password is usually defined in the trytond " \ @@ -207,25 +208,27 @@ class DBCreate(object): self.entry_serverpasswd.connect("key-press-event", \ self.event_passwd_clear) - hseparator = gtk.HSeparator() - table.attach(hseparator, 0, 3, 3, 4) + self.hseparator = gtk.HSeparator() + table.attach(self.hseparator, 0, 3, 3, 4, yoptions=gtk.FILL) label_dbname = gtk.Label() label_dbname.set_markup("" + _("New database setup:") + "") label_dbname.set_justify(gtk.JUSTIFY_LEFT) label_dbname.set_alignment(0, 1) label_dbname.set_padding( 9, 5) - table.attach(label_dbname, 0, 3, 4, 5, xoptions=gtk.FILL) + table.attach(label_dbname, 0, 3, 4, 5, xoptions=gtk.FILL, + yoptions=gtk.FILL) label_dbname = gtk.Label(_("Database name:")) label_dbname.set_justify(gtk.JUSTIFY_RIGHT) label_dbname.set_padding( 3, 3) label_dbname.set_alignment(1, 0.5) - table.attach(label_dbname, 0, 1, 5, 6, xoptions=gtk.FILL) + table.attach(label_dbname, 0, 1, 5, 6, xoptions=gtk.FILL, + yoptions=gtk.FILL) self.entry_dbname = gtk.Entry() self.entry_dbname.set_max_length(63) self.entry_dbname.set_width_chars(16) self.entry_dbname.set_activates_default(True) - table.attach(self.entry_dbname, 1, 3, 5, 6) + table.attach(self.entry_dbname, 1, 3, 5, 6, yoptions=gtk.FILL) self.tooltips.set_tip(self.entry_dbname, _("Choose the name of the new " \ "database.\n" \ "Allowed characters are alphanumerical or _ (underscore)\n" \ @@ -238,11 +241,12 @@ class DBCreate(object): label_language.set_justify(gtk.JUSTIFY_RIGHT) label_language.set_alignment(1, 0.5) label_language.set_padding( 3, 3) - table.attach(label_language, 0, 1, 6, 7, xoptions=gtk.FILL) + table.attach(label_language, 0, 1, 6, 7, xoptions=gtk.FILL, + yoptions=gtk.FILL) eventbox_language = gtk.EventBox() self.combo_language = gtk.combo_box_new_text() eventbox_language.add(self.combo_language) - table.attach(eventbox_language, 1, 3, 6, 7) + table.attach(eventbox_language, 1, 3, 6, 7, yoptions=gtk.FILL) self.tooltips.set_tip(eventbox_language, _("Choose the default " \ "language that will be installed for this database. You will " \ "be able to install new languages after installation through " \ @@ -251,7 +255,8 @@ class DBCreate(object): label_adminpasswd.set_justify(gtk.JUSTIFY_RIGHT) label_adminpasswd.set_padding( 3, 3) label_adminpasswd.set_alignment(1, 0.5) - table.attach(label_adminpasswd, 0, 1, 7, 8, xoptions=gtk.FILL) + table.attach(label_adminpasswd, 0, 1, 7, 8, xoptions=gtk.FILL, + yoptions=gtk.FILL) self.entry_adminpasswd = gtk.Entry() self.entry_adminpasswd.set_visibility(False) self.entry_adminpasswd.set_activates_default(True) @@ -260,20 +265,21 @@ class DBCreate(object): "will be later able to login into the database:\n" \ "User name: admin\n" \ "Password: ")) - table.attach(self.entry_adminpasswd, 1, 3, 7, 8) + table.attach(self.entry_adminpasswd, 1, 3, 7, 8, yoptions=gtk.FILL) self.entry_adminpasswd.connect("key-press-event", \ self.event_passwd_clear) label_adminpasswd2 = gtk.Label(_("Confirm admin password:")) label_adminpasswd2.set_justify(gtk.JUSTIFY_RIGHT) label_adminpasswd2.set_padding( 3, 3) label_adminpasswd2.set_alignment(1, 0.5) - table.attach(label_adminpasswd2, 0, 1, 8, 9, xoptions=gtk.FILL) + table.attach(label_adminpasswd2, 0, 1, 8, 9, xoptions=gtk.FILL, + yoptions=gtk.FILL) self.entry_adminpasswd2 = gtk.Entry() self.entry_adminpasswd2.set_visibility(False) self.entry_adminpasswd2.set_activates_default(True) self.tooltips.set_tip(self.entry_adminpasswd2, _("Type the Admin " \ "password again")) - table.attach(self.entry_adminpasswd2, 1, 3, 8, 9) + table.attach(self.entry_adminpasswd2, 1, 3, 8, 9, yoptions=gtk.FILL) self.entry_adminpasswd2.connect("key-press-event", \ self.event_passwd_clear) self.entry_serverpasswd.grab_focus() @@ -286,6 +292,15 @@ class DBCreate(object): self.dialog.set_transient_for(parent) self.dialog.show_all() + if not CONFIG['login.host']: + self.label_server_setup.hide() + self.label_server.hide() + self.entry_server_connection.hide() + self.button_server_change.hide() + self.label_serverpasswd.hide() + self.entry_serverpasswd.hide() + self.hseparator.hide() + pass_widget = self.entry_serverpasswd change_button = self.button_server_change admin_passwd = self.entry_adminpasswd diff --git a/tryton/gui/window/dbdumpdrop.py b/tryton/gui/window/dbdumpdrop.py index ef9684b182..92dcd0798d 100644 --- a/tryton/gui/window/dbdumpdrop.py +++ b/tryton/gui/window/dbdumpdrop.py @@ -108,7 +108,7 @@ class DBBackupDrop(object): table.set_border_width(10) table.set_row_spacings(3) table.set_col_spacings(3) - self.dialog_vbox.pack_start(table, True, True,0) + self.dialog_vbox.pack_start(table, True, False,0) label_subtitle = gtk.Label() label_subtitle.set_markup(""+ label_subtitle_text + "") @@ -118,12 +118,13 @@ class DBBackupDrop(object): table.attach(label_subtitle, 0, 3, 0, 1, xoptions=gtk.FILL) hseparator = gtk.HSeparator() - table.attach(hseparator, 0, 3, 1, 2) + table.attach(hseparator, 0, 3, 1, 2, yoptions=gtk.FILL) - label_server = gtk.Label(_("Server Connection:")) - label_server.set_alignment(1, 0.5) - label_server.set_padding(3, 3) - table.attach(label_server, 0, 1, 2, 3, xoptions=gtk.FILL) + self.label_server = gtk.Label(_("Server Connection:")) + self.label_server.set_alignment(1, 0.5) + self.label_server.set_padding(3, 3) + table.attach(self.label_server, 0, 1, 2, 3, xoptions=gtk.FILL, + yoptions=gtk.FILL) self.entry_server_connection = gtk.Entry() self.entry_server_connection.set_sensitive(False) @@ -134,7 +135,8 @@ class DBBackupDrop(object): "URL of the server. Use server 'localhost' and port '8070' " \ "if the server is installed on this computer. " \ "Click on 'Change' to change the address.")) - table.attach(self.entry_server_connection, 1, 2, 2, 3) + table.attach(self.entry_server_connection, 1, 2, 2, 3, + yoptions=gtk.FILL) self.button_server_change = gtk.Button(_("C_hange"), stock=None, \ use_underline=True) @@ -142,14 +144,15 @@ class DBBackupDrop(object): img_button_server_change.set_from_stock('tryton-preferences-system', \ gtk.ICON_SIZE_BUTTON) self.button_server_change.set_image(img_button_server_change) - table.attach(self.button_server_change, 2, 3, 2, 3, yoptions=False, \ + table.attach(self.button_server_change, 2, 3, 2, 3, yoptions=gtk.FILL, \ xoptions=gtk.FILL) self.label_database = gtk.Label() self.label_database.set_text(_("Database:")) self.label_database.set_alignment(1, 0.5) self.label_database.set_padding(3, 3) - table.attach(self.label_database, 0, 1, 3, 4, xoptions=gtk.FILL) + table.attach(self.label_database, 0, 1, 3, 4, xoptions=gtk.FILL, + yoptions=gtk.FILL) vbox_combo = gtk.VBox() self.combo_database = gtk.ComboBox() @@ -158,13 +161,14 @@ class DBBackupDrop(object): self.combo_database_label.set_alignment(0, 1) vbox_combo.pack_start(self.combo_database, True, True, 0) vbox_combo.pack_start(self.combo_database_label, False, False, 0) - table.attach(vbox_combo, 1, 3, 3, 4) + table.attach(vbox_combo, 1, 3, 3, 4, yoptions=gtk.FILL) label_serverpasswd = gtk.Label(_("Tryton Server Password:")) label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT) label_serverpasswd.set_alignment(1, 0.5) label_serverpasswd.set_padding( 3, 3) - table.attach(label_serverpasswd, 0, 1, 4, 5, xoptions=gtk.FILL) + table.attach(label_serverpasswd, 0, 1, 4, 5, xoptions=gtk.FILL, + yoptions=gtk.FILL) self.entry_serverpasswd = gtk.Entry() self.entry_serverpasswd.set_visibility(False) @@ -173,7 +177,7 @@ class DBBackupDrop(object): "password of the Tryton server. It doesn't belong to a " \ "real user. This password is usually defined in the trytond " \ "configuration.")) - table.attach(self.entry_serverpasswd, 1, 3, 4, 5) + table.attach(self.entry_serverpasswd, 1, 3, 4, 5, yoptions=gtk.FILL) self.entry_serverpasswd.grab_focus() self.dialog.vbox.pack_start(self.dialog_vbox) @@ -183,6 +187,11 @@ class DBBackupDrop(object): self.dialog.set_transient_for(parent) self.dialog.show_all() + if not CONFIG['login.host']: + self.label_server.hide() + self.entry_server_connection.hide() + self.button_server_change.hide() + pass_widget = self.entry_serverpasswd server_widget = self.entry_server_connection db_widget = self.combo_database diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py index 1d33a88bb5..f6c1572a6d 100644 --- a/tryton/gui/window/dblogin.py +++ b/tryton/gui/window/dblogin.py @@ -70,11 +70,11 @@ class DBLogin(object): self.entry_login = gtk.Entry() self.entry_login.set_activates_default(True) table_main.attach(self.entry_login, 1, 3, 2, 3) - label_server = gtk.Label() - label_server.set_text(_("Server:")) - label_server.set_alignment(1, 0.5) - label_server.set_padding(3, 3) - table_main.attach(label_server, 0, 1, 0, 1, xoptions=gtk.FILL) + self.label_server = gtk.Label() + self.label_server.set_text(_("Server:")) + self.label_server.set_alignment(1, 0.5) + self.label_server.set_padding(3, 3) + table_main.attach(self.label_server, 0, 1, 0, 1, xoptions=gtk.FILL) label_database = gtk.Label() label_database.set_text(_("Database:")) label_database.set_alignment(1, 0.5) @@ -161,6 +161,11 @@ class DBLogin(object): self.combo_label.hide() self.combo_button.hide() + if not CONFIG['login.host']: + self.label_server.hide() + self.entry_server.hide() + self.button_server.hide() + host = CONFIG['login.server'] port = int(CONFIG['login.port']) diff --git a/tryton/gui/window/dbrestore.py b/tryton/gui/window/dbrestore.py index 4a7baaf1fc..6a8f21cd87 100644 --- a/tryton/gui/window/dbrestore.py +++ b/tryton/gui/window/dbrestore.py @@ -75,11 +75,11 @@ class DBRestore(object): table.set_row_spacings(3) table.set_col_spacings(3) vbox.pack_start(table) - label_server_url = gtk.Label(_("Server Connection:")) - label_server_url.set_size_request(117, -1) - label_server_url.set_alignment(1, 0.5) - label_server_url.set_padding(3, 3) - table.attach(label_server_url, 0, 1, 0, 1) + self.label_server_url = gtk.Label(_("Server Connection:")) + self.label_server_url.set_size_request(117, -1) + self.label_server_url.set_alignment(1, 0.5) + self.label_server_url.set_padding(3, 3) + table.attach(self.label_server_url, 0, 1, 0, 1, yoptions=gtk.FILL) self.entry_server_url = gtk.Entry() self.entry_server_url.set_sensitive(False) self.entry_server_url.unset_flags(gtk.CAN_FOCUS) @@ -91,7 +91,7 @@ class DBRestore(object): "the server. Use server 'localhost' and port '8070' if " \ "the server is installed on this computer. Click on " \ "'Change' to change the address.")) - table.attach(self.entry_server_url, 1, 2, 0, 1) + table.attach(self.entry_server_url, 1, 2, 0, 1, yoptions=gtk.FILL) self.button_server_change = gtk.Button(_("C_hange"), stock=None, \ use_underline=True) img_button_server_change = gtk.Image() @@ -100,12 +100,12 @@ class DBRestore(object): self.button_server_change.set_image(img_button_server_change) self.tooltips.set_tip(self.button_server_change, _("Setup the " \ "server connection...")) - table.attach(self.button_server_change, 2, 3, 0, 1) - label_server_password = gtk.Label(_("Tryton Server Password:")) - label_server_password.set_justify(gtk.JUSTIFY_RIGHT) - label_server_password.set_alignment(1, 0.5) - label_server_password.set_padding(3, 3) - table.attach(label_server_password, 0, 1, 1, 2) + table.attach(self.button_server_change, 2, 3, 0, 1, yoptions=gtk.FILL) + self.label_server_password = gtk.Label(_("Tryton Server Password:")) + self.label_server_password.set_justify(gtk.JUSTIFY_RIGHT) + self.label_server_password.set_alignment(1, 0.5) + self.label_server_password.set_padding(3, 3) + table.attach(self.label_server_password, 0, 1, 1, 2, yoptions=gtk.FILL) self.entry_server_password = gtk.Entry() self.entry_server_password.set_visibility(False) self.entry_server_password.set_activates_default(True) @@ -114,16 +114,16 @@ class DBRestore(object): "password of the Tryton server. It doesn't belong to a " \ "real user. This password is usually defined in the trytond " \ "configuration.")) - table.attach(self.entry_server_password, 1, 3, 1, 2) - hseparator = gtk.HSeparator() - table.attach(hseparator, 0, 3, 2, 3) + table.attach(self.entry_server_password, 1, 3, 1, 2, yoptions=gtk.FILL) + self.hseparator = gtk.HSeparator() + table.attach(self.hseparator, 0, 3, 2, 3, yoptions=gtk.FILL) label_filename = gtk.Label() label_filename.set_markup(_("File to Restore:")) label_filename.set_alignment(1, 0.5) - table.attach(label_filename, 0, 1, 3, 4) + table.attach(label_filename, 0, 1, 3, 4, yoptions=gtk.FILL) entry_filename = gtk.Label() entry_filename.set_markup("" + filename + "") - table.attach(entry_filename, 1, 3, 3, 4) + table.attach(entry_filename, 1, 3, 3, 4, yoptions=gtk.FILL) self.entry_db_name = gtk.Entry() self.entry_db_name.set_visibility(True) self.entry_db_name.set_activates_default(True) @@ -137,10 +137,10 @@ class DBRestore(object): "Allowed characters are alphanumerical or _ (underscore)\n" \ "You need to avoid all accents, space or special " \ "characters! \nExample: tryton")) - table.attach(self.entry_db_name, 1, 3, 4, 5) + table.attach(self.entry_db_name, 1, 3, 4, 5, yoptions=gtk.FILL) label_db_name = gtk.Label(_("New Database Name:")) label_db_name.set_alignment(1, 0.5) - table.attach(label_db_name, 0, 1, 4, 5) + table.attach(label_db_name, 0, 1, 4, 5, yoptions=gtk.FILL) # Buttons and events self.dialog.connect("key-press-event", \ self.event_show_button_restore) @@ -166,6 +166,15 @@ class DBRestore(object): """ self.dialog.set_transient_for(parent) self.dialog.show_all() + + if not CONFIG['login.host']: + self.label_server_url.hide() + self.entry_server_url.hide() + self.button_server_change.hide() + self.label_server_password.hide() + self.entry_server_password.hide() + self.hseparator.hide() + url = '%s:%d' % (CONFIG['login.server'], int(CONFIG['login.port'])) self.entry_server_url.set_text(url) while True: