Class: Jpi::V1::TeamsController

Inherits:
BaseResourceController
  • Object
show all
Defined in:
app/controllers/mno_enterprise/jpi/v1/teams_controller.rb

Instance Method Summary collapse

Instance Method Details

#add_usersObject

PUT /mnoe/jpi/v1/teams/:id/add_users



44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 44

def add_users
  @team = MnoEnterprise::Team.find(params[:id])
  authorize! :manage_teams, @team.organization

  # Add users
  if params[:team] && params[:team][:users]
    id_list = params[:team][:users].map { |h| h[:id] }.compact
    users = @team.organization.users.where('id.in' => id_list)
    users.each { |u| @team.add_user(u) }
  end

  render 'show'
end

#createObject

POST /mnoe/jpi/v1/organizations/:organization_id/teams



19
20
21
22
23
24
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 19

def create
  authorize! :manage_teams, parent_organization
  @team = parent_organization.teams.create(team_params)

  render 'show'
end

#destroyObject

DELETE /mnoe/jpi/v1/teams/:id



74
75
76
77
78
79
80
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 74

def destroy
  @team = MnoEnterprise::Team.find(params[:id])
  authorize! :manage_teams, @team.organization
  @team.destroy

  head :no_content
end

#indexObject

GET /mnoe/jpi/v1/organizations/:organization_id/teams



7
8
9
10
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 7

def index
  authorize! :read, parent_organization
  @teams = parent_organization.teams
end

#remove_usersObject

PUT /mnoe/jpi/v1/teams/:id/remove_users



59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 59

def remove_users
  @team = MnoEnterprise::Team.find(params[:id])
  authorize! :manage_teams, @team.organization

  # Add users
  if params[:team] && params[:team][:users]
    id_list = params[:team][:users].map { |h| h[:id] }.compact
    users = @team.organization.users.where('id.in' => id_list)
    users.each { |u| @team.remove_user(u) }
  end

  render 'show'
end

#showObject

GET /mnoe/jpi/v1/teams/:id



13
14
15
16
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 13

def show
  @team = MnoEnterprise::Team.find(params[:id])
  authorize! :read, @team.organization
end

#updateObject

PUT /mnoe/jpi/v1/teams/:id



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/controllers/mno_enterprise/jpi/v1/teams_controller.rb', line 27

def update
  @team = MnoEnterprise::Team.find(params[:id])
  authorize! :manage_teams, @team.organization

  # Update regular attributes
  @team.update_attributes(team_params)

  # # Update permissions
  if params[:team] && params[:team][:app_instances]
    list = params[:team][:app_instances].select { |e| e != {} }
    @team.set_access_to(list)
  end

  render 'show'
end