Add 'login.host' options to hide server connection

This commit is contained in:
Cédric Krier
2009-09-01 18:38:12 +02:00
parent b56f496d18
commit 2e7ebcda9e
6 changed files with 107 additions and 65 deletions
+1
View File
@@ -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
+5 -2
View File
@@ -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(
+42 -27
View File
@@ -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("<b>"+ _("Server Setup:")+ "</b>")
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("<b>"+ _("Server Setup:")+ "</b>")
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("<b>" + _("New database setup:") + "</b>")
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: <The password you set here>"))
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
+21 -12
View File
@@ -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("<b>"+ label_subtitle_text + "</b>")
@@ -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
+10 -5
View File
@@ -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'])
+28 -19
View File
@@ -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("<tt>" + filename + "</tt>")
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: