Module: MnoEnterprise::Concerns::Controllers::ProvisionController

Extended by:
ActiveSupport::Concern
Included in:
ProvisionController
Defined in:
lib/mno_enterprise/concerns/controllers/provision_controller.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#createObject

POST /provision TODO: check organization accessibility via ability



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/mno_enterprise/concerns/controllers/provision_controller.rb', line 53

def create
  @organization = current_user.organizations.to_a.find { |o| o.id && o.id.to_s == params[:organization_id].to_s }
  authorize! :manage_app_instances, @organization

  app_instances = []
  params[:apps].each do |product_name|
    app_instances << @organization.app_instances.create(product: product_name)
  end

  render json: app_instances.map(&:attributes).to_json, status: :created
end

#newObject

Instance methods

GET /provision/new?apps[]=vtiger&organization_id=1 TODO: check organization accessibility via ability



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/mno_enterprise/concerns/controllers/provision_controller.rb', line 35

def new
  @apps = params[:apps]
  @organizations = current_user.organizations.to_a
  @organization = @organizations.find { |o| o.id && o.id.to_s == params[:organization_id].to_s }

  unless @organization
    @organization = @organizations.one? ? @organizations.first : nil
  end
  authorize! :manage_app_instances, @organization

  # Redirect to dashboard if no applications
  unless @apps && @apps.any?
    redirect_to after_provision_path
  end
end