Class: Jpi::V1::Admin::OrganizationsController
- Inherits:
-
BaseResourceController
- Object
- BaseResourceController
- Jpi::V1::Admin::OrganizationsController
- Defined in:
- app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb
Instance Method Summary collapse
-
#count ⇒ Object
GET /mnoe/jpi/v1/admin/organizations/count.
-
#create ⇒ Object
POST /mnoe/jpi/v1/admin/organizations.
-
#in_arrears ⇒ Object
GET /mnoe/jpi/v1/admin/organizations/in_arrears.
-
#index ⇒ Object
GET /mnoe/jpi/v1/admin/organizations.
-
#invite_member ⇒ Object
POST /mnoe/jpi/v1/admin/organizations/1/users Invite a user to the organization (and create it if needed) This does not send any emails (emails are manually triggered later).
-
#show ⇒ Object
GET /mnoe/jpi/v1/admin/organizations/1.
-
#update ⇒ Object
PATCH /mnoe/jpi/v1/admin/organizations/1.
Instance Method Details
#count ⇒ Object
GET /mnoe/jpi/v1/admin/organizations/count
35 36 37 38 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 35 def count organizations_count = MnoEnterprise::Tenant.get('tenant').organizations_count render json: {count: organizations_count } end |
#create ⇒ Object
POST /mnoe/jpi/v1/admin/organizations
41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 41 def create # Create new organization @organization = MnoEnterprise::Organization.create(organization_update_params) # OPTIMIZE: move this into a delayed job? update_app_list @organization_active_apps = @organization.app_instances render 'show' end |
#in_arrears ⇒ Object
GET /mnoe/jpi/v1/admin/organizations/in_arrears
30 31 32 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 30 def in_arrears @arrears = MnoEnterprise::ArrearsSituation.all end |
#index ⇒ Object
GET /mnoe/jpi/v1/admin/organizations
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 5 def index if params[:terms] # Search mode @organizations = [] JSON.parse(params[:terms]).map { |t| @organizations = @organizations | MnoEnterprise::Organization.where(Hash[*t]) } response.headers['X-Total-Count'] = @organizations.count else # Index mode @organizations = MnoEnterprise::Organization @organizations = @organizations.limit(params[:limit]) if params[:limit] @organizations = @organizations.skip(params[:offset]) if params[:offset] @organizations = @organizations.order_by(params[:order_by]) if params[:order_by] @organizations = @organizations.where(params[:where]) if params[:where] @organizations = @organizations.all.fetch response.headers['X-Total-Count'] = @organizations.[:pagination][:count] end end |
#invite_member ⇒ Object
POST /mnoe/jpi/v1/admin/organizations/1/users Invite a user to the organization (and create it if needed) This does not send any emails (emails are manually triggered later)
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 68 def invite_member @organization = MnoEnterprise::Organization.find(params[:id]) # Find or create a new user - We create it in the frontend as MnoHub will send confirmation instructions for newly # created users user = MnoEnterprise::User.find_by(email: user_params[:email]) || create_unconfirmed_user(user_params) # Create the invitation invite = @organization.org_invites.create( user_email: user.email, user_role: params[:user][:role], referrer_id: current_user.id, status: 'staged' # Will be updated to 'accepted' for unconfirmed users ) @user = user.confirmed? ? invite : user.reload end |
#show ⇒ Object
GET /mnoe/jpi/v1/admin/organizations/1
24 25 26 27 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 24 def show @organization = MnoEnterprise::Organization.find(params[:id]) @organization_active_apps = @organization.app_instances.active.to_a end |
#update ⇒ Object
PATCH /mnoe/jpi/v1/admin/organizations/1
54 55 56 57 58 59 60 61 62 63 |
# File 'app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb', line 54 def update # get organization @organization = MnoEnterprise::Organization.find(params[:id]) update_app_list @organization_active_apps = @organization.app_instances.active render 'show' end |