@@ -59,12 +59,12 @@ func (t *Team) GetMembers() (err error) {
5959// AddMember adds new membership of the team to the organization,
6060// the user will have membership to the organization automatically when needed.
6161func (t * Team ) AddMember (userID int64 ) error {
62- return AddTeamMember (t . OrgID , t . ID , userID )
62+ return AddTeamMember (t , userID )
6363}
6464
6565// RemoveMember removes member from team of organization.
6666func (t * Team ) RemoveMember (userID int64 ) error {
67- return RemoveTeamMember (t . OrgID , t . ID , userID )
67+ return RemoveTeamMember (t , userID )
6868}
6969
7070func (t * Team ) hasRepository (e Engine , repoID int64 ) bool {
@@ -443,113 +443,101 @@ func GetUserTeams(orgID, userID int64) ([]*Team, error) {
443443
444444// AddTeamMember adds new membership of given team to given organization,
445445// the user will have membership to given organization automatically when needed.
446- func AddTeamMember (orgID , teamID , userID int64 ) error {
447- if IsTeamMember (orgID , teamID , userID ) {
446+ func AddTeamMember (team * Team , userID int64 ) error {
447+ if IsTeamMember (team . OrgID , team . ID , userID ) {
448448 return nil
449449 }
450450
451- if err := AddOrgUser (orgID , userID ); err != nil {
451+ if err := AddOrgUser (team . OrgID , userID ); err != nil {
452452 return err
453453 }
454454
455455 // Get team and its repositories.
456- t , err := GetTeamByID (teamID )
457- if err != nil {
458- return err
459- }
460- t .NumMembers ++
456+ team .NumMembers ++
461457
462- if err = t .GetRepositories (); err != nil {
458+ if err := team .GetRepositories (); err != nil {
463459 return err
464460 }
465461
466462 sess := x .NewSession ()
467463 defer sessionRelease (sess )
468- if err = sess .Begin (); err != nil {
464+ if err : = sess .Begin (); err != nil {
469465 return err
470466 }
471467
472- tu := & TeamUser {
468+ if _ , err := sess . Insert ( & TeamUser {
473469 UID : userID ,
474- OrgID : orgID ,
475- TeamID : teamID ,
476- }
477- if _ , err = sess .Insert (tu ); err != nil {
470+ OrgID : team .OrgID ,
471+ TeamID : team .ID ,
472+ }); err != nil {
478473 return err
479- } else if _ , err = sess .Id (t .ID ).Update (t ); err != nil {
474+ } else if _ , err : = sess .Id (team .ID ).Update (team ); err != nil {
480475 return err
481476 }
482477
483478 // Give access to team repositories.
484- for _ , repo := range t .Repos {
485- if err = repo .recalculateTeamAccesses (sess , 0 ); err != nil {
479+ for _ , repo := range team .Repos {
480+ if err : = repo .recalculateTeamAccesses (sess , 0 ); err != nil {
486481 return err
487482 }
488483 }
489484
490485 // We make sure it exists before.
491486 ou := new (OrgUser )
492- if _ , err = sess .
487+ if _ , err : = sess .
493488 Where ("uid = ?" , userID ).
494- And ("org_id = ?" , orgID ).
489+ And ("org_id = ?" , team . OrgID ).
495490 Get (ou ); err != nil {
496491 return err
497492 }
498493 ou .NumTeams ++
499- if t .IsOwnerTeam () {
494+ if team .IsOwnerTeam () {
500495 ou .IsOwner = true
501496 }
502- if _ , err = sess .Id (ou .ID ).AllCols ().Update (ou ); err != nil {
497+ if _ , err : = sess .Id (ou .ID ).AllCols ().Update (ou ); err != nil {
503498 return err
504499 }
505500
506501 return sess .Commit ()
507502}
508503
509- func removeTeamMember (e Engine , orgID , teamID , userID int64 ) error {
510- if ! isTeamMember (e , orgID , teamID , userID ) {
504+ func removeTeamMember (e Engine , team * Team , userID int64 ) error {
505+ if ! isTeamMember (e , team . OrgID , team . ID , userID ) {
511506 return nil
512507 }
513508
514- // Get team and its repositories.
515- t , err := getTeamByID (e , teamID )
516- if err != nil {
517- return err
518- }
519-
520509 // Check if the user to delete is the last member in owner team.
521- if t .IsOwnerTeam () && t .NumMembers == 1 {
510+ if team .IsOwnerTeam () && team .NumMembers == 1 {
522511 return ErrLastOrgOwner {UID : userID }
523512 }
524513
525- t .NumMembers --
514+ team .NumMembers --
526515
527- if err = t .getRepositories (e ); err != nil {
516+ if err := team .getRepositories (e ); err != nil {
528517 return err
529518 }
530519
531520 // Get organization.
532- org , err := getUserByID (e , orgID )
521+ org , err := getUserByID (e , team . OrgID )
533522 if err != nil {
534523 return err
535524 }
536525
537- tu := & TeamUser {
526+ if _ , err := e . Delete ( & TeamUser {
538527 UID : userID ,
539- OrgID : orgID ,
540- TeamID : teamID ,
541- }
542- if _ , err := e .Delete (tu ); err != nil {
528+ OrgID : team .OrgID ,
529+ TeamID : team .ID ,
530+ }); err != nil {
543531 return err
544532 } else if _ , err = e .
545- Id (t .ID ).
533+ Id (team .ID ).
546534 AllCols ().
547- Update (t ); err != nil {
535+ Update (team ); err != nil {
548536 return err
549537 }
550538
551539 // Delete access to team repositories.
552- for _ , repo := range t .Repos {
540+ for _ , repo := range team .Repos {
553541 if err = repo .recalculateTeamAccesses (e , 0 ); err != nil {
554542 return err
555543 }
@@ -565,7 +553,7 @@ func removeTeamMember(e Engine, orgID, teamID, userID int64) error {
565553 return err
566554 }
567555 ou .NumTeams --
568- if t .IsOwnerTeam () {
556+ if team .IsOwnerTeam () {
569557 ou .IsOwner = false
570558 }
571559 if _ , err = e .
@@ -578,13 +566,13 @@ func removeTeamMember(e Engine, orgID, teamID, userID int64) error {
578566}
579567
580568// RemoveTeamMember removes member from given team of given organization.
581- func RemoveTeamMember (orgID , teamID , userID int64 ) error {
569+ func RemoveTeamMember (team * Team , userID int64 ) error {
582570 sess := x .NewSession ()
583571 defer sessionRelease (sess )
584572 if err := sess .Begin (); err != nil {
585573 return err
586574 }
587- if err := removeTeamMember (sess , orgID , teamID , userID ); err != nil {
575+ if err := removeTeamMember (sess , team , userID ); err != nil {
588576 return err
589577 }
590578 return sess .Commit ()
0 commit comments