diff --git a/app/models/panda/project.coffee b/app/models/panda/project.coffee index 6381db9..db77ab5 100644 --- a/app/models/panda/project.coffee +++ b/app/models/panda/project.coffee @@ -42,6 +42,7 @@ export default DS.Model.extend project_scenarios_sort: ['name:asc'] sorted_project_scenarios: Ember.computed.sort 'project_scenarios', 'project_scenarios_sort' + #unassigned_workflow_action_definitions: Ember.computed -> # promise = new Ember.RSVP.Promise (resolve) => # @get('workflow_action_definitions').then (workflow_action_definitions) -> diff --git a/app/routes/project/show/analysis.coffee b/app/routes/project/show/analysis.coffee new file mode 100644 index 0000000..065d9fc --- /dev/null +++ b/app/routes/project/show/analysis.coffee @@ -0,0 +1,29 @@ +import Ember from 'ember' +{get} = Ember +export default Ember.Route.extend + session: Ember.inject.service('session') + model: -> + project = @modelFor('project.show') + project.reload() unless @controllerFor('application').get('currentRouteName') in ['loading', 'project.show.dunlop', 'project.show.analytics'] + #TODO: implement with ember-custom-actions if v2 is released + session = @get('session') + model_name = 'panda/project' + base_url = @store.adapterFor(model_name).buildURL(model_name) + url = base_url + "/#{project.id}/analytics" + request = + url: url + type: 'GET' + contentType: "application/json" + dataType: "json" + if get(session, 'isAuthenticated') + session.authorize 'authorizer:devise', (key, authorization) -> + request.crossDomain = true + request.headers ||= {} + request.headers[key] = authorization + Ember.RSVP.hash + project: project + analytics: Ember.$.ajax(request) + + setupController: (controller, model) -> + controller.set 'project', @modelFor('project.show') + @_super arguments... diff --git a/app/routes/project/show/project-instance-action/index.coffee b/app/routes/project/show/project-instance-action/index.coffee index eb138c1..f93b77f 100644 --- a/app/routes/project/show/project-instance-action/index.coffee +++ b/app/routes/project/show/project-instance-action/index.coffee @@ -22,6 +22,8 @@ export default Ember.Route.extend #@store.findAll('epots/migration-window-planning') default_filter.project_id = project.id otherParams = {q: default_filter.toProperties()} + includes = 'action-list' + otherParams.include = includes PagedRemoteArray.create modelName: 'panda/project-instance-action' store: @store diff --git a/app/templates/project/show/analysis.emblem b/app/templates/project/show/analysis.emblem index 7da6e99..ea5a438 100644 --- a/app/templates/project/show/analysis.emblem +++ b/app/templates/project/show/analysis.emblem @@ -4,16 +4,32 @@ d-breadcrumbs as |breadcrumb| breadcrumb.item span= t 'models.project' span : - = link-to 'project.show' model: span= model.name + = link-to 'project.show' project: span= project.name breadcrumb.item active=true span= t 'project.analysis.title' .ui.container .ui.header .content span.resource-descriptor= t 'models.project' - span.resource-name= model.name + span.resource-name= project.name span.resource-suffix= t 'project.analysis.title' .ui.divider - br - br - = panda-image path="under-construction.svg" + each project.sorted_workflow_groups as |workflow_group| + .ui.segment + span= workflow_group.name + span - + span= workflow_group.id + each-in (get (get model.analytics 'instance_groups') workflow_group.id) as |state count| + = state-badge state + ' + span.between-brackets= count + .ui.segments + each workflow_group.sorted_workflow_action_definitions as |workflow_action_definition| + .ui.segment + span= workflow_action_definition.title + each-in (get (get model.analytics 'instance_actions') workflow_action_definition.id) as |state count| + = state-badge state + ' + span.between-brackets= count + br + = panda-image path="under-construction.svg"