Commit 03e59a11c31e4b772211597fbbe8bd433611c8a1
1 parent
a8f4ced3
Exists in
master
and in
2 other branches
Ticket #126: Profile page with badges, part 1
Showing
2 changed files
with
85 additions
and
1 deletions
Show diff stats
www/html/_profile.html
... | ... | @@ -5,6 +5,20 @@ |
5 | 5 | <a class="back icon-left ion-reply" ng-click="closeProfile()">Voltar</a> |
6 | 6 | </h1> |
7 | 7 | |
8 | + <h2> Nível {{profile.level}} Você possui {{profile.points}} pontos </h2> | |
9 | + <div>{{profile.gamification_plugin_level_percent}} %</div> | |
10 | + | |
11 | + <h1> Suas Medalhas</h1> | |
12 | + <div class="list"> | |
13 | + | |
14 | + <a ng-repeat="badge in profile.badges" href="#/" class="item item-thumbnail-left"> | |
15 | + <img ng-src="{{ badge.name }}"> | |
16 | + <h2>{{ badge.level }}</h2> | |
17 | + <h4>{{ badge.title }}</h4> | |
18 | + <h4>{{ badge.description }}</h4> | |
19 | + </a> | |
20 | + </div> | |
21 | + | |
8 | 22 | <h2>Nome</h2> |
9 | 23 | <p>{{profile.name}}</p> |
10 | 24 | |
... | ... | @@ -24,6 +38,5 @@ |
24 | 38 | <p>{{profile.etnia | etniaFilter}}</p> |
25 | 39 | |
26 | 40 | <h2><span ng-show="profile.transgenero == 'false'">Não</span> Sou Transgênero</h2> |
27 | - | |
28 | 41 | </ion-content> |
29 | 42 | </div> | ... | ... |
www/js/controllers.js
... | ... | @@ -1305,6 +1305,76 @@ angular.module('confjuvapp.controllers', []) |
1305 | 1305 | }); |
1306 | 1306 | }; |
1307 | 1307 | |
1308 | + /****************************************************************************** | |
1309 | + B A D G E S | |
1310 | + ******************************************************************************/ | |
1311 | + | |
1312 | +// $scope.showFollowedProposals = function() { | |
1313 | +// $scope.cardsBackup = []; | |
1314 | +// $scope.showBackupProposalsLink = false; | |
1315 | +// | |
1316 | +// $scope.cards = $scope.following.slice(); | |
1317 | +// } | |
1318 | +// | |
1319 | +// $scope.loadFollowedProposals = function() { | |
1320 | +// $scope.loading = true; | |
1321 | +// var config = { | |
1322 | +// headers: { | |
1323 | +// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', | |
1324 | +// }, | |
1325 | +// timeout: 10000 | |
1326 | +// }; | |
1327 | +// | |
1328 | +// $http.get(ConfJuvAppUtils.pathTo('/articles/followed_by_me?fields=title,image,body,abstract,id,tag_list,categories,created_by&private_token=' + $scope.token + '&_=' + new Date().getTime()), config) | |
1329 | +// .then(function(resp) { | |
1330 | +// $scope.following = []; | |
1331 | +// $scope.followingIds = []; | |
1332 | +// var followed = resp.data.articles; | |
1333 | +// for (var i = 0; i < followed.length; i++) { | |
1334 | +// var p = followed[i]; | |
1335 | +// $scope.following.push(p); | |
1336 | +// $scope.followingIds.push(p.id); | |
1337 | +// } | |
1338 | +// $scope.loading = false; | |
1339 | +// }, function(err) { | |
1340 | +// $scope.loading = false; | |
1341 | +// $ionicPopup.alert({ title: 'Propostas seguidas', template: 'Erro ao carregar propostas seguidas' }); | |
1342 | +// }); | |
1343 | +// }; | |
1344 | + | |
1345 | + // Load Badges | |
1346 | + $scope.loadMyBadges = function() { | |
1347 | + $scope.loading = true; | |
1348 | + | |
1349 | + var params = '?private_token=' + ConfJuvAppUtils.getPrivateToken(); | |
1350 | + var path = 'gamification_plugin/my/badges' + params; | |
1351 | + | |
1352 | + $http.get(ConfJuvAppUtils.pathTo(path)) | |
1353 | + .then(function(resp) { | |
1354 | + var data = resp.data['badges']; | |
1355 | + var badges =[]; | |
1356 | + var badge_type_loaded = {}; | |
1357 | + for (var i = 0; i < data.length; i++) { | |
1358 | + if(badge_type_loaded[data[i]['name']]){ | |
1359 | + for (var j = 0; j < badges.length; j++) { | |
1360 | + if(badges[j]['name'] == data[i]['name']){ | |
1361 | + badges[j] = data[i]; | |
1362 | + break; | |
1363 | + } | |
1364 | + } | |
1365 | + }else{ | |
1366 | + badge_type_loaded[data[i]['name']] = true; | |
1367 | + badges.push(data[i]); | |
1368 | + } | |
1369 | + } | |
1370 | + $scope.profile['badges'] = badges; | |
1371 | +console.log($scope.profile); | |
1372 | + $scope.loading = false; | |
1373 | + }, function(err) { | |
1374 | + var popup = $ionicPopup.alert({ title: 'Meus Badges', template: 'Não foi possível carregar os badges.' }); | |
1375 | + $scope.loading = false; | |
1376 | + }); | |
1377 | + }; | |
1308 | 1378 | |
1309 | 1379 | /****************************************************************************** |
1310 | 1380 | P R O F I L E |
... | ... | @@ -1323,6 +1393,7 @@ angular.module('confjuvapp.controllers', []) |
1323 | 1393 | .then(function(resp) { |
1324 | 1394 | $scope.profile = resp.data.person; |
1325 | 1395 | $scope.loginCallback(ConfJuvAppUtils.getPrivateToken()); |
1396 | + $scope.loadMyBadges(); | |
1326 | 1397 | $scope.setStateAndCityOfProfile(); |
1327 | 1398 | $scope.loading = false; |
1328 | 1399 | }, function(err) { | ... | ... |
-
mentioned in commit ea413de3671c036d633b16bb25fd3d391f65d072