github.com/elopio/cli@v6.21.2-0.20160902224010-ea909d1fdb2f+incompatible/cf/actors/userprint/ui.go (about) 1 package userprint 2 3 import ( 4 "fmt" 5 6 . "code.cloudfoundry.org/cli/cf/i18n" 7 "code.cloudfoundry.org/cli/cf/models" 8 "code.cloudfoundry.org/cli/cf/terminal" 9 ) 10 11 type SpaceUsersUIPrinter struct { 12 UI terminal.UI 13 UserLister func(spaceGUID string, role models.Role) ([]models.UserFields, error) 14 Roles []models.Role 15 RoleDisplayNames map[models.Role]string 16 } 17 18 type OrgUsersUIPrinter struct { 19 Roles []models.Role 20 RoleDisplayNames map[models.Role]string 21 UserLister func(orgGUID string, role models.Role) ([]models.UserFields, error) 22 UI terminal.UI 23 } 24 25 func (p *OrgUsersUIPrinter) PrintUsers(guid string, username string) { 26 for _, role := range p.Roles { 27 displayName := p.RoleDisplayNames[role] 28 users, err := p.UserLister(guid, role) 29 if err != nil { 30 p.UI.Failed(T("Failed fetching org-users for role {{.OrgRoleToDisplayName}}.\n{{.Error}}", 31 map[string]interface{}{ 32 "Error": err.Error(), 33 "OrgRoleToDisplayName": displayName, 34 })) 35 return 36 } 37 p.UI.Say("") 38 p.UI.Say("%s", terminal.HeaderColor(displayName)) 39 40 if len(users) == 0 { 41 p.UI.Say(fmt.Sprintf(" "+T("No %s found"), displayName)) 42 } else { 43 for _, user := range users { 44 p.UI.Say(" %s", user.Username) 45 } 46 } 47 } 48 } 49 50 func (p *SpaceUsersUIPrinter) PrintUsers(guid string, username string) { 51 for _, role := range p.Roles { 52 displayName := p.RoleDisplayNames[role] 53 users, err := p.UserLister(guid, role) 54 if err != nil { 55 p.UI.Failed(T("Failed fetching space-users for role {{.SpaceRoleToDisplayName}}.\n{{.Error}}", 56 map[string]interface{}{ 57 "Error": err.Error(), 58 "SpaceRoleToDisplayName": displayName, 59 })) 60 return 61 } 62 p.UI.Say("") 63 p.UI.Say("%s", terminal.HeaderColor(displayName)) 64 65 if len(users) == 0 { 66 p.UI.Say(fmt.Sprintf(" "+T("No %s found"), displayName)) 67 } else { 68 for _, user := range users { 69 p.UI.Say(" %s", user.Username) 70 } 71 } 72 } 73 }