Make project specific statistics project available and use for click link to project if has permissions
This commit is contained in:
@@ -13,16 +13,14 @@ export default Ember.Component.extend
|
||||
states = ['pending', 'planned', 'active', 'overdue', 'inquiry', 'rejected', 'completed']
|
||||
project_specific = @get('project_specific')
|
||||
unless project_specific
|
||||
global_name = t('organization.statistics1.global.title')
|
||||
states.forEach (state) ->
|
||||
target[state] = 0
|
||||
for project_id, stats of d.content.data
|
||||
if project_specific
|
||||
project = d.content.projects.findBy('id', project_id)
|
||||
project_name = project.get('name')
|
||||
target[project_name] = []
|
||||
target[project_id] = {project: project, states: []}
|
||||
states.forEach (state) ->
|
||||
target[project_name].push(state: state, count: stats[state] || 0, project_id: project_id)
|
||||
target[project_id].states.push(state: state, count: stats[state] || 0)
|
||||
else
|
||||
for state, count of stats
|
||||
target[state] += count
|
||||
|
||||
@@ -9,7 +9,7 @@ export default Ember.Component.extend({
|
||||
session: Ember.inject.service('session'),
|
||||
classNames: ['project-aggregate-statistics', 'project-aggregate-organization-statistics'],
|
||||
statistics: Ember.computed('statistics_data.isFulfilled', 'project_specific', function() {
|
||||
var count, d, global_name, project, project_id, project_name, project_specific, ref, state, states, stats, target;
|
||||
var count, d, project, project_id, project_specific, ref, state, states, stats, target;
|
||||
d = this.get('statistics_data');
|
||||
if (!d.isFulfilled) {
|
||||
return {};
|
||||
@@ -18,7 +18,6 @@ export default Ember.Component.extend({
|
||||
states = ['pending', 'planned', 'active', 'overdue', 'inquiry', 'rejected', 'completed'];
|
||||
project_specific = this.get('project_specific');
|
||||
if (!project_specific) {
|
||||
global_name = t('organization.statistics1.global.title');
|
||||
states.forEach(function(state) {
|
||||
return target[state] = 0;
|
||||
});
|
||||
@@ -28,13 +27,14 @@ export default Ember.Component.extend({
|
||||
stats = ref[project_id];
|
||||
if (project_specific) {
|
||||
project = d.content.projects.findBy('id', project_id);
|
||||
project_name = project.get('name');
|
||||
target[project_name] = [];
|
||||
target[project_id] = {
|
||||
project: project,
|
||||
states: []
|
||||
};
|
||||
states.forEach(function(state) {
|
||||
return target[project_name].push({
|
||||
return target[project_id].states.push({
|
||||
state: state,
|
||||
count: stats[state] || 0,
|
||||
project_id: project_id
|
||||
count: stats[state] || 0
|
||||
});
|
||||
});
|
||||
} else {
|
||||
|
||||
@@ -14,16 +14,14 @@ export default Ember.Component.extend
|
||||
states = @get('globals.project_instance_action.states')
|
||||
project_specific = @get('project_specific')
|
||||
unless project_specific
|
||||
global_name = t('user.statistics1.global.title')
|
||||
states.forEach (state) ->
|
||||
target[state] = 0
|
||||
for project_id, stats of d.content.data
|
||||
if project_specific
|
||||
project = d.content.projects.findBy('id', project_id)
|
||||
project_name = project.get('name')
|
||||
target[project_name] = []
|
||||
target[project_id] = {project: project, states: []}
|
||||
states.forEach (state) ->
|
||||
target[project_name].push(state: state, count: stats[state] || 0, project_id: project_id)
|
||||
target[project_id].states.push(state: state, count: stats[state] || 0)
|
||||
else
|
||||
for state, count of stats
|
||||
target[state] += count
|
||||
|
||||
@@ -9,7 +9,7 @@ export default Ember.Component.extend({
|
||||
session: Ember.inject.service('session'),
|
||||
classNames: ['project-aggregate-statistics', 'project-aggregate-user-statistics'],
|
||||
statistics: Ember.computed('statistics_data.isFulfilled', 'project_specific', function() {
|
||||
var count, d, global_name, project, project_id, project_name, project_specific, ref, state, states, stats, target;
|
||||
var count, d, project, project_id, project_specific, ref, state, states, stats, target;
|
||||
d = this.get('statistics_data');
|
||||
if (!d.isFulfilled) {
|
||||
return {};
|
||||
@@ -18,7 +18,6 @@ export default Ember.Component.extend({
|
||||
states = this.get('globals.project_instance_action.states');
|
||||
project_specific = this.get('project_specific');
|
||||
if (!project_specific) {
|
||||
global_name = t('user.statistics1.global.title');
|
||||
states.forEach(function(state) {
|
||||
return target[state] = 0;
|
||||
});
|
||||
@@ -28,13 +27,14 @@ export default Ember.Component.extend({
|
||||
stats = ref[project_id];
|
||||
if (project_specific) {
|
||||
project = d.content.projects.findBy('id', project_id);
|
||||
project_name = project.get('name');
|
||||
target[project_name] = [];
|
||||
target[project_id] = {
|
||||
project: project,
|
||||
states: []
|
||||
};
|
||||
states.forEach(function(state) {
|
||||
return target[project_name].push({
|
||||
return target[project_id].states.push({
|
||||
state: state,
|
||||
count: stats[state] || 0,
|
||||
project_id: project_id
|
||||
count: stats[state] || 0
|
||||
});
|
||||
});
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user