Commit adds a check whether Organization exists before User is added to the organization. Fixes #3151.
@@ -219,7 +219,8 @@ func (a *ldapAuther) syncOrgRoles(user *m.User, ldapUser *ldapUserInfo) error {
// add role
cmd := m.AddOrgUserCommand{UserId: user.Id, Role: group.OrgRole, OrgId: group.OrgId}
- if err := bus.Dispatch(&cmd); err != nil {
+ err := bus.Dispatch(&cmd)
+ if err != nil && err != m.ErrOrgNotFound {
return err
}
@@ -26,6 +26,12 @@ func AddOrgUser(cmd *m.AddOrgUserCommand) error {
return m.ErrOrgUserAlreadyAdded
+ if res, err := sess.Query("SELECT 1 from org WHERE id=?", cmd.OrgId); err != nil {
+ return err
+ } else if len(res) != 1 {
+ return m.ErrOrgNotFound
+ }
+
entity := m.OrgUser{
OrgId: cmd.OrgId,
UserId: cmd.UserId,