Browse Source

Fixed GetOtherAccountsFor query

Torkel Ödegaard 11 years ago
parent
commit
53b00d80d6
2 changed files with 4 additions and 49 deletions
  1. 2 48
      pkg/models/account.go
  2. 2 1
      pkg/stores/sqlstore/sqlstore_accounts.go

+ 2 - 48
pkg/models/account.go

@@ -19,14 +19,6 @@ var (
 	ErrAccountNotFound = errors.New("Account not found")
 	ErrAccountNotFound = errors.New("Account not found")
 )
 )
 
 
-type CollaboratorLink struct {
-	AccountId  int64
-	Role       string
-	Email      string
-	ModifiedOn time.Time
-	CreatedOn  time.Time
-}
-
 type OtherAccount struct {
 type OtherAccount struct {
 	Id    int64
 	Id    int64
 	Email string
 	Email string
@@ -45,44 +37,6 @@ type Account struct {
 	Company         string
 	Company         string
 	NextDashboardId int
 	NextDashboardId int
 	UsingAccountId  int64
 	UsingAccountId  int64
-	Collaborators   []CollaboratorLink `xorm:"-"`
-	Created         time.Time          `xorm:"CREATED"`
-	Updated         time.Time          `xorm:"UPDATED"`
-}
-
-func (account *Account) AddCollaborator(newCollaborator *Account) error {
-	for _, collaborator := range account.Collaborators {
-		if collaborator.AccountId == newCollaborator.Id {
-			return errors.New("Collaborator already exists")
-		}
-	}
-
-	account.Collaborators = append(account.Collaborators, CollaboratorLink{
-		AccountId:  newCollaborator.Id,
-		Email:      newCollaborator.Email,
-		Role:       "admin",
-		CreatedOn:  time.Now(),
-		ModifiedOn: time.Now(),
-	})
-
-	return nil
-}
-
-func (account *Account) RemoveCollaborator(accountId int64) {
-	list := account.Collaborators
-	for i, collaborator := range list {
-		if collaborator.AccountId == accountId {
-			account.Collaborators = append(list[:i], list[i+1:]...)
-			break
-		}
-	}
-}
-
-func (account *Account) HasCollaborator(accountId int64) bool {
-	for _, collaborator := range account.Collaborators {
-		if collaborator.AccountId == accountId {
-			return true
-		}
-	}
-	return false
+	Created         time.Time `xorm:"CREATED"`
+	Updated         time.Time `xorm:"UPDATED"`
 }
 }

+ 2 - 1
pkg/stores/sqlstore/sqlstore_accounts.go

@@ -96,8 +96,9 @@ func AddCollaborator(collaborator *models.Collaborator) error {
 func GetOtherAccountsFor(accountId int64) ([]*models.OtherAccount, error) {
 func GetOtherAccountsFor(accountId int64) ([]*models.OtherAccount, error) {
 	collaborators := make([]*models.OtherAccount, 0)
 	collaborators := make([]*models.OtherAccount, 0)
 	sess := x.Table("collaborator")
 	sess := x.Table("collaborator")
-	sess.Join("INNER", "account", "account.id=collaborator.account_Id")
+	sess.Join("INNER", "account", "collaborator.for_account_id=account.id")
 	sess.Where("account_id=?", accountId)
 	sess.Where("account_id=?", accountId)
+	sess.Cols("collaborator.id", "collaborator.role", "account.email")
 	err := sess.Find(&collaborators)
 	err := sess.Find(&collaborators)
 	return collaborators, err
 	return collaborators, err
 }
 }