Пример #1
0
    def __init__(self, datapath, connection):

        self.__builder = create_builder("LumNewGroupDialog.ui")
        
        self.__dialog = self.__builder.get_object("new_group_dialog")

        gid = connection.next_free_gid()
        self.__builder.get_object("gid_entry").set_text(str(gid))
Пример #2
0
Файл: about.py Проект: robol/lum
 def __init__(self, datapath):
 
     self.__builder = create_builder("LumAbout.ui")
     
     dialog = self.__builder.get_object("about_dialog")
     
     dialog.run ()
     dialog.destroy ()
Пример #3
0
    def __init__(self, datapath):
    
        self.__builder = create_builder("LumPasswordEntry.ui")
        
        self.__dialog = self.__builder.get_object("password_dialog")

        pe = self.__builder.get_object("password_entry")
        pe.connect("activate", lambda widget : self.__dialog.response(1))
Пример #4
0
    def __init__(self, datapath, configuration):
    
        self.__configuration = configuration
        
        self.__builder = create_builder("LumConnectDialog.ui")
        self.__dialog = self.__builder.get_object("connect_dialog")
        
        for renderer in ('uri_cellrenderer', 'bind_dn_cellrenderer', 'base_dn_cellrenderer',
                         'users_ou_cellrenderer', 'groups_ou_cellrenderer'):
            self.__builder.get_object(renderer).set_property("editable", True)
        
        
        signals = {
            'on_connect_button_activate':        self.on_connect_button_cb,
            'on_add_button_activate':            self.on_add_button_cb,
            'on_uri_cellrenderer_edited':        self.on_uri_edited,
            'on_bind_dn_edited':    self.on_bind_dn_edited,
            'on_base_dn_edited':    self.on_base_dn_edited,
            'on_users_ou_edited':     self.on_users_ou_edited,
            'on_groups_ou_edited':    self.on_groups_ou_edited,
            'on_uri_cellrenderer_editing_started': self.on_uri_start_editing,
            'on_remove_button_clicked':         self.on_remove_button_cb,
            
            # Activate
            'on_treeview_row_activated':            self.on_connect_button_cb,
        }
        
        self.__builder.connect_signals(signals)
        
        image = gtk.Image()
        image.set_from_file(os.path.join(datapath, "ui/server.png"))
        self.__pixbuf = image.get_pixbuf()
        
        self.__credentials = (None, None, None, None, None)
        self.__old_uri = None
        
        for uri in self.__configuration.sections():
            if not self.__configuration.has_option(uri, "bind_dn"):
                bind_dn = _("Insert bind dn")
            else:
                bind_dn = self.__configuration.get(uri, "bind_dn")
            if self.__configuration.has_option(uri, "base_dn"):
                base_dn = self.__configuration.get(uri, "base_dn")
            else:
                base_dn = _("Insert base dn")
            if self.__configuration.has_option(uri, "users_ou"):
                users_ou = self.__configuration.get(uri, "users_ou")
            else:
                users_ou = _("Insert users organizational unit")
            if self.__configuration.has_option(uri, "groups_ou"):
                groups_ou = self.__configuration.get(uri, "groups_ou")
            else:
                groups_ou = _("Insert groups organizational unit")
            
            self.__builder.get_object("server_store").append((self.__pixbuf, uri, bind_dn,
                                            base_dn, users_ou, groups_ou))

        self.__dialog.set_title(_("Connection to LDAP server"))
Пример #5
0
    def __init__(self, datapath, username, count = 0):

        # Create the gtk Builder and load interface files
        self.__builder = create_builder("LumChangeUserPasswordDialog.ui")

        self.__dialog = self.__builder.get_object("dialog")
        self.__datapath = datapath
        self.__username = username
        self.__count = count + 1
Пример #6
0
 def __init__(self, datapath, connection):
     
     signals = {
         'on_username_entry_focus_out_event':     self.guess_params,
     }
     
     self.__builder = create_builder("LumNewUserDialog.ui")
     
     self.__window = self.__builder.get_object("new_user_dialog")
     self.__connection = connection
     self.usermodel = None
     
     self.__builder.connect_signals(signals)
Пример #7
0
    def __init__(self, datapath, usermodel, group_store):
        
        self.__builder = create_builder("LumEditUserDialog.ui")
        self.__dialog = self.__builder.get_object("dialog")
        
        self.__givenname_entry = self.__builder.get_object("givenname_entry")
        self.__sn_entry = self.__builder.get_object("sn_entry")
        self.__group_combobox = self.__builder.get_object("group_combobox")
        
        # Fill data
        self.__givenname_entry.set_text(usermodel.get_given_name())
        self.__sn_entry.set_text(usermodel.get_surname())
        
        self.__group_model = self.__builder.get_object("group_model")
                                       
        # Copy group data in the model
        self.__group_iter = None
        it = group_store.get_iter_first()
        while it is not None:
            gid = group_store.get_gid(it)
            group = group_store.get_group_name(it)
            new_it = self.__group_model.append((int(gid), group))
            if gid == int(usermodel.get_gid()):
                self.__group_iter = new_it
            it = group_store.iter_next(it)
                
        if (self.__group_iter is not None):
            self.__group_combobox.set_active_iter(self.__group_iter)
        
        # Shell and home
        self.__shell_entry = self.__builder.get_object("shell_entry")
        self.__shell_entry.set_text(usermodel.get_shell())
        self.__home_entry = self.__builder.get_object("home_entry")
        self.__home_entry.set_text(usermodel.get_home())
        self.__email_entry = self.__builder.get_object("email_entry")
        self.__email_entry.set_text(usermodel.get_email())
        
        self.__usermodel = usermodel

        self.__dialog.set_title(_("Editing user %s") % usermodel.get_username())
Пример #8
0
    def __init__(self, connection, group_name):
        
        self.__builder = create_builder("LumEditGroupMembers.ui")        
        self.__dialog = self.__builder.get_object("edit_group_members_dialog")
        self.__connection = connection

        self.__builder.get_object("new_button").connect("clicked",
                                                        self.new_user)
        self.__builder.get_object("remove_button").connect("clicked",
                                                           self.delete_user)

        # Get only non structural members
        self.__original_members = filter(lambda x : not x[1], 
                                         self.__connection.get_members(group_name, True))
        self.__original_members = map(lambda x : x[0],
                                      self.__original_members)

        store = self.__builder.get_object("members_store")
        for uid in self.__original_members:
            store.append((uid,))

        renderer = self.__builder.get_object("member_cellrenderer")
        renderer.set_property("editable", True)
        renderer.connect("edited", self.on_renderer_edited)
Пример #9
0
 def __init__(self):
     
     # Get interface file
     self.__builder = create_builder("LumNewServerDialog.ui")
Пример #10
0
Файл: app.py Проект: robol/lum
    def __init__(self):

        # Quite a hack, but working
        self.__datapath = os.path.realpath(os.path.join(__file__, os.path.pardir))

        global lum_application
        if lum_application is not None:
            raise LumErorr("Cannot create more that one lum_application!")
        else:
            lum_application = self
    
        self.__group_store = GroupStore(self.__datapath)
        self.__user_store = UserStore(self.__datapath, self.__group_store)
        
        # Gobject constructor
        gobject.GObject.__init__ (self)
        
        # Load interface file
        self.__builder = create_builder("LumApp.ui")
        
        # Load main window
        self.__window = self.__builder.get_object("window")
        
        # Signal definition
        signals = {
        
            # Quit signals
            'on_quit_menu_item_activate':         gtk.main_quit,
            'window_destroy_event_cb':            gtk.main_quit,
            'on_window_destroy':                gtk.main_quit,
            
            # Callbacks
            'on_about_menu_item_activate':        self.show_about_dialog,
            'on_new_user_menu_item_activate':    self.create_new_user_dialog,
            'on_connect_menu_item_activate':     self.connect,
            'on_reload_user_list_menu_item_activate':     self.reload_user_list,
            'on_delete_user_menu_item_activate':        self.delete_user,
            'on_forget_password_menu_item_activate':    self.forget_password,
            'on_edit_user_menu_item_activate':            self.edit_user,
            'on_change_password_menu_item_activate': self.change_password,
            'on_disconnect_menu_item_activate': self.disconnect,

            # Group menu callbacks
            'on_new_group_menuitem_activate':    self.new_group,
            'on_delete_group_menuitem_activate': self.delete_group,
            'on_properties_group_menuitem_activate': self.group_properties,
            
        }
        
        # Autoconnect signals
        self.__builder.connect_signals (signals)
        
        # Create initial configuration
        self.__configuration = Configuration()
        
        # Change the model of the treeview
        self.__user_treeview = UserTreeView(self.__user_store, self)
        self.__user_treeview.apply_filter(self.__builder.get_object("filter_user_entry"))
        self.__builder.get_object("user_scrolled_window").add(self.__user_treeview)
        self.__group_treeview = GroupTreeView(self.__group_store, self)
        self.__group_treeview.apply_filter(self.__builder.get_object("filter_group_entry"))
        self.__builder.get_object("group_scrolled_window").add(self.__group_treeview)
        
        # Some initial values
        self.__uri, self.__bind_dn = None, None
        
        # Create popup menu
        self.__user_popup_menu = lumUserTreeViewMenu(self)
        self.__group_popup_menu = lumGroupTreeViewMenu(self)