@@ -454,7 +454,7 @@ def get_contact_by_username(self, user):
454454
455455 def get_grouprights_by_username (self , user ):
456456 """
457- Returns accessrights for a given username
457+ Returns grouprights for a given username
458458
459459 Arguments:
460460 user -- Netdot Username
@@ -467,14 +467,64 @@ def get_grouprights_by_username(self, user):
467467
468468 for values in contacts ['Contact' ].values ():
469469 try :
470- groupright .update (self .get_grouprights_by_conlist_id (values ['contactlist_xlink' ].split ('/' )[1 ]))
470+ gr = self .get_grouprights_by_conlist_id (values ['contactlist_xlink' ].split ('/' )[1 ]).values ()[0 ]
471+ groupright .update (gr )
471472 except requests .HTTPError :
472473 # there weren't any grouprights associated with that conlist. No big deal.
473474 pass
474475
475- return groupright
476+ return { 'GroupRight' : groupright }
476477
477- def get_access_right_by_id
478+ def get_accessright_by_id (self , id ):
479+ """
480+ Returns accessrights for a given id
481+
482+ Arguments:
483+ user -- Netdot Username
484+
485+ Usage:
486+ response = netdot.Client.get_accessrights_by_id("id")
487+ """
488+ return self .get ('/accessright/' + id )
489+
490+ def get_accessrights_by_username (self , user ):
491+ """
492+ Returns accessrights for a given user
493+
494+ Arguments:
495+ user -- Netdot Username
496+
497+ Usage:
498+ response = netdot.Client.get_accessrights_by_username("user")
499+ """
500+ accessrights = {}
501+ grouprights = self .get_grouprights_by_username (user )
502+ for vals in grouprights ['GroupRight' ].values ():
503+ # some values return in the grouprights don't have an accessright_xlink
504+ if vals .has_key ('accessright_xlink' ):
505+ # split the accessright_xlink value to get the ID
506+ ar = self .get_accessright_by_id (vals ['accessright_xlink' ].split ('/' )[1 ])
507+ accessrights .update ({ar ['id' ]: ar })
508+ else :
509+ pass
510+ return {'AccessRight' : accessrights }
511+
512+ def get_device_accessrights_by_username (self , user ):
513+ """
514+ Returns devices rights for a given user
515+
516+ Arguments:
517+ user -- Netdot Username
518+
519+ Usage:
520+ response = netdot.Client.get_device_accessrights_by_username("user")
521+ """
522+ devices = {}
523+ accessrights = self .get_accessrights_by_username (user )
524+ for ars in accessrights ['AccessRight' ].values ():
525+ if ars ['object_class' ] == 'Device' :
526+ devices .update (self .get_object_by_id ('Device' , ars ['object_id' ])['Device' ])
527+ return {'Device' : devices }
478528
479529 def get_grouprights_by_conlist_id (self , id ):
480530 """
0 commit comments