Show
Ignore:
Timestamp:
06/12/07 15:24:05 (6 years ago)
Author:
iacopo <iacopo@…>
Children:
f2b6cc0e4914816d0c4ea67634f1f0b5ea11af91
Parents:
b31664e57e09651a89379ffe6699c3157a9100e8
git-committer:
iacopo <iacopo@…> (06/12/07 15:24:05)
Message:

Add/remove privileges for user in context menu

git-svn-id:  https://labs.truelite.it/svn/octofuss/trunk@447 5a101938-5c21-0410-9b5a-a83d6f3706a9

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • octofuss/users/ui/__init__.py

    rb31664e rbf2e42e  
    3737        for op in options: 
    3838                __groupListConf[op] = config.get("GROUPS",op) 
     39 
    3940         
    4041        """ 
     
    4950        #return __groupList 
    5051        return __groupListConf 
     52 
     53def getRealPermissions(): 
     54        __groupList = getPermissions() 
     55        realPermission = [] 
     56        for group in __groupList: 
     57                if backend.isUnixGroup(__groupList[group]): 
     58                        realPermission.append(group) 
     59                 
     60        return realPermission 
    5161 
    5262 
     
    391401                #Permission submenu 
    392402                subMenuPermission = gtk.Menu() 
    393                 __groupList = getPermissions() 
     403                __groupList = getRealPermissions() 
    394404 
    395405 
    396406                for group in __groupList: 
    397407                        it = gtk.MenuItem(_(group)) 
    398                         it.connect("event", self.addUserPermission, userList, group, view) 
     408                        it.connect("event", self.addUserPermission, userList, group, view, menu) 
    399409                        subMenuPermission.append(it) 
     410 
     411 
     412                #Remove Permission submenu 
     413                subMenuPermissionRemove = gtk.Menu() 
     414                __groupList = getRealPermissions() 
     415 
     416 
     417                for group in __groupList: 
     418                        it = gtk.MenuItem(_(group)) 
     419                        it.connect("event", self.removeUserPermission, userList, group, view,menu) 
     420                        subMenuPermissionRemove.append(it) 
     421 
    400422 
    401423                if len(userList) == 1: 
     
    422444                        item.set_submenu(subMenuPermission) 
    423445                        #item.connect("activate", self.add_user_permissions, userList, view, self.viewGroupIcon) 
     446                        menu.append(item) 
     447 
     448                        #Remove permission 
     449                        item = gtk.MenuItem(_("Remove permission")) 
     450                        item.set_submenu(subMenuPermissionRemove) 
    424451                        menu.append(item) 
    425452 
     
    453480                        menu.append(item) 
    454481 
     482                        #Remove permission 
     483                        item = gtk.MenuItem(_("Remove permission")) 
     484                        item.set_submenu(subMenuPermissionRemove) 
     485                        menu.append(item) 
     486 
     487 
    455488 
    456489                        #event_button = self.get_possible_button_event(event) 
     
    461494                        menu.show_all() 
    462495         
    463         def addUserPermission(self,obj,event,userList,group, user_view): 
     496        def addUserPermission(self,obj,event,userList,group, user_view, menu): 
    464497                if not event.type == gtk.gdk.BUTTON_PRESS: 
    465498                        return 
     
    484517                        for us in usernameList: 
    485518                                backend.addGroupPermissionToUser(us,groupName) 
     519 
     520 
     521        def removeUserPermission(self,obj,event,userList,group, user_view, menu): 
     522                try: 
     523                        if not event.type == gtk.gdk.BUTTON_PRESS: 
     524                                return 
     525 
     526                        model = user_view.get_model()  
     527                        groupName = getPermissions()[group] 
     528                        if len(userList) == 1: 
     529                                if type(userList) ==  list: 
     530                                        iter = model.get_iter_from_string(str(userList[0][0]))  
     531                                else: 
     532                                        iter = model.get_iter_from_string(str(userList[0]))  
     533 
     534                                username = model.get_value(iter, 0) 
     535                                backend.removeGroupPermissionFromUser(username,groupName) 
     536                        elif len(userList) > 1: 
     537                                usernameList = [] 
     538                                for user in userList: 
     539                                        path = str(user[0]) 
     540                                        iter = model.get_iter_from_string(path) 
     541                                        username = model.get_value(iter, 0) 
     542                                        usernameList.append(username) 
     543                                for us in usernameList: 
     544                                        backend.removeGroupPermissionFromUser(us,groupName) 
     545 
     546                except Exception, e: 
     547                        menu.destroy()           
     548                        self.showDialog(str(e),gtk.MESSAGE_ERROR) 
     549                         
     550 
     551                         
     552 
    486553                 
    487554 
     
    545612 
    546613 
     614 
     615                #Permission submenu 
     616                subMenuPermission = gtk.Menu() 
     617                __groupList = getRealPermissions() 
     618 
     619 
     620                for group in __groupList: 
     621                        it = gtk.MenuItem(_(group)) 
     622                        it.connect("event", self.addUserPermission, userList, group, view, menu) 
     623                        subMenuPermission.append(it) 
     624 
     625 
     626                #Remove Permission submenu 
     627                subMenuPermissionRemove = gtk.Menu() 
     628                __groupList = getRealPermissions() 
     629 
     630 
     631                for group in __groupList: 
     632                        it = gtk.MenuItem(_(group)) 
     633                        it.connect("event", self.removeUserPermission, userList, group, view,menu) 
     634                        subMenuPermissionRemove.append(it) 
     635 
     636 
     637 
     638 
    547639                if len(userList) == 1: 
    548640                        item = gtk.MenuItem(menufor) 
     
    568660                        item.connect("activate", self.show_user_groups, userList, view, self.viewGroupIcon) 
    569661                        menu.append(item) 
     662 
     663                        #Add permission 
     664                        item = gtk.MenuItem(_("Add permission")) 
     665                        item.set_submenu(subMenuPermission) 
     666                        #item.connect("activate", self.add_user_permissions, userList, view, self.viewGroupIcon) 
     667                        menu.append(item) 
     668 
     669                        #Remove permission 
     670                        item = gtk.MenuItem(_("Remove permission")) 
     671                        item.set_submenu(subMenuPermissionRemove) 
     672                        menu.append(item) 
     673 
     674 
    570675 
    571676