github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/requirements/targeted_organization.go (about) 1 package requirements 2 3 import ( 4 "fmt" 5 "github.com/cloudfoundry/cli/cf" 6 "github.com/cloudfoundry/cli/cf/configuration/core_config" 7 . "github.com/cloudfoundry/cli/cf/i18n" 8 "github.com/cloudfoundry/cli/cf/models" 9 "github.com/cloudfoundry/cli/cf/terminal" 10 ) 11 12 type TargetedOrgRequirement interface { 13 Requirement 14 GetOrganizationFields() models.OrganizationFields 15 } 16 17 type targetedOrgApiRequirement struct { 18 ui terminal.UI 19 config core_config.Reader 20 } 21 22 func NewTargetedOrgRequirement(ui terminal.UI, config core_config.Reader) TargetedOrgRequirement { 23 return targetedOrgApiRequirement{ui, config} 24 } 25 26 func (req targetedOrgApiRequirement) Execute() (success bool) { 27 if !req.config.HasOrganization() { 28 message := fmt.Sprintf(T("No org targeted, use '{{.Command}}' to target an org.", map[string]interface{}{"Command": terminal.CommandColor(cf.Name() + " target -o ORG")})) 29 req.ui.Failed(message) 30 return false 31 } 32 33 return true 34 } 35 36 func (req targetedOrgApiRequirement) GetOrganizationFields() (org models.OrganizationFields) { 37 return req.config.OrganizationFields() 38 }