Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 67ac9b8

Browse files
committedSep 26, 2017
Added code to display SRM badge on dashboard
1 parent a579807 commit 67ac9b8

File tree

7 files changed

+51
-29
lines changed

7 files changed

+51
-29
lines changed
 

‎app/directives/page-state-header/page-state-header.directive.js

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ import _ from 'lodash'
3939
vm.previousStateName = null
4040
vm.previousStateLabel = null
4141
vm.previousState = null
42+
vm.dashboardBadgeName = null
43+
4244

4345
// identifies the previous state
4446
if ($scope.$root.previousState && $scope.$root.previousState.name.length > 0) {
@@ -65,11 +67,10 @@ import _ from 'lodash'
6567

6668
// get members dashboard badge
6769
UserService.getV2UserProfile(vm.handle).then(function(resp) {
68-
// Calling the mock to return a badge
69-
// In actuality filtering should be done by whether the achievement contains a field 'forDashboard' or not.
70-
var dashboardAchievement = _filterDashboardAchievement(resp.Achievements || [])[0]
7170

71+
var dashboardAchievement = _filterDashboardAchievement(resp.Achievements || [])[0]
7272
if (dashboardAchievement) {
73+
//Get dashboard badges
7374
vm.dashboardBadge = BadgeService.getAchievementVm(dashboardAchievement)
7475
}
7576
})
@@ -119,34 +120,16 @@ import _ from 'lodash'
119120
})
120121
.catch(function(err) {
121122
$scope.hideMoney = true
122-
123123
logger.error('Could not get user financial information', err)
124124
})
125125
}
126-
127-
// Temporary function to simulate dashboard achievement
128-
function _filterDashboardAchievement(achievements) {
129-
// If forceBadge is true, it displays the achievement in _mock, whether the user has that achievement or not
130-
var _forceBadge = false
131-
132-
// temoprary config object that maps usernames to badge name
133-
var _mock = {
134-
ronakkaria: 'First Win',
135-
birdofpreyru: 'Predix Community'
136-
}
137-
138-
var dashboardBadgeName = _mock[vm.handle]
139-
if (!dashboardBadgeName) { return [] }
140-
141-
if (_forceBadge) {
142-
return [{
143-
date: new Date(),
144-
description: _mock[vm.handle]
145-
}]
146-
}
126+
127+
function _filterDashboardAchievement(achievements) {
128+
//Currently only one batch is shown on the dashboard
129+
vm.dashboardBadgeName = 'SRM Engagement Honor'
147130

148131
return achievements.filter(function(achievement) {
149-
return (achievement.description === dashboardBadgeName)
132+
return (achievement.description === vm.dashboardBadgeName)
150133
})
151134
}
152135

‎app/directives/page-state-header/page-state-header.jade

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@
1616
p.number(ng-bind="vm.moneyEarned | currency:'$':0")
1717
.title
1818
p Won in Prizes
19-
.item(ng-if="vm.dashboardBadge")
20-
.badge(ng-class="(vm.dashboardBadge.specificClass || vm.dashboardBadge.groupClass) + ' ' + (vm.dashboardBadge.type) + 'Badge'")
19+
.badgeItem(ng-if="vm.dashboardBadge")
20+
.badge(ng-class="(vm.dashboardBadge.specificClass || vm.dashboardBadge.groupClass) + ' ' + (vm.dashboardBadge.type) + 'Badge'" title='{{vm.dashboardBadgeName}}')

‎app/profile/badges/badges.controller.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,16 @@ import angular from 'angular'
1818

1919
var achievementsVm = BadgeService.buildAllAchievementsVm($scope.achievements)
2020
badgeCtrl.achievementGroups = achievementsVm.achievementGroups
21-
badgeCtrl.singleAchievements = achievementsVm.singleAchievements
21+
22+
//Dashboard badges shoudn't be displyed on public profile page
23+
badgeCtrl.singleAchievements = removeDashBoardAchivements(achievementsVm.singleAchievements)
24+
}
25+
26+
function removeDashBoardAchivements(singleAchievements){
27+
var dashboardBadgeName = 'SRM Engagement Honor'
28+
return singleAchievements.filter(function(achievement){
29+
return (achievement.name != dashboardBadgeName)
30+
})
2231
}
2332

2433
})()

‎app/services/badge.service.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,12 @@ import moment from 'moment-timezone'
648648
name: 'iOS Community',
649649
groupClass: 'iOS-Community',
650650
active: false
651+
},
652+
{
653+
id: 1010,
654+
name: 'SRM Engagement Honor',
655+
groupClass: 'SRM-Engagement-Honor-Badge',
656+
active: false
651657
}
652658
]
653659
}

‎assets/css/directives/badge-tooltip.scss

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,3 +678,7 @@ span.subBadge.selected {
678678
background: url(../../images/tt-arrow.png) no-repeat;
679679
background-position: 0 0;
680680
}
681+
682+
.SRM-Engagement-Honor-Badge {
683+
background-position: -146px -671px;
684+
}

‎assets/css/directives/page-state-header.directive.scss

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,26 @@
6464

6565
}
6666

67+
.badgeItem {
68+
display: flex;
69+
flex-direction: column;
70+
justify-content: space-between;
71+
align-items: flex-end;
72+
73+
position: relative;
74+
margin-left: 40px;
75+
margin-right: 20px;
76+
77+
78+
font-family: 'Sofia Pro', Arial, Helvetica, sans-serif;
79+
font-weight: 400;
80+
81+
.value {
82+
font-size: 24px;
83+
margin-bottom: 15px;
84+
}
85+
}
86+
6787
}
6888
}
6989
}

‎assets/images/badge.grid.large.png

16.6 KB
Loading

0 commit comments

Comments
 (0)
This repository has been archived.