Commit 0c5ec74ef14b4a74b7b7f810d28b926afd083451
1 parent
147b0914
Exists in
master
and in
2 other branches
Revert "Revert "Ticket #126: Profile page with badges, part 1""
This reverts commit ea413de3671c036d633b16bb25fd3d391f65d072.
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
... | ... | @@ -1316,6 +1316,76 @@ angular.module('confjuvapp.controllers', []) |
1316 | 1316 | }); |
1317 | 1317 | }; |
1318 | 1318 | |
1319 | + /****************************************************************************** | |
1320 | + B A D G E S | |
1321 | + ******************************************************************************/ | |
1322 | + | |
1323 | +// $scope.showFollowedProposals = function() { | |
1324 | +// $scope.cardsBackup = []; | |
1325 | +// $scope.showBackupProposalsLink = false; | |
1326 | +// | |
1327 | +// $scope.cards = $scope.following.slice(); | |
1328 | +// } | |
1329 | +// | |
1330 | +// $scope.loadFollowedProposals = function() { | |
1331 | +// $scope.loading = true; | |
1332 | +// var config = { | |
1333 | +// headers: { | |
1334 | +// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', | |
1335 | +// }, | |
1336 | +// timeout: 10000 | |
1337 | +// }; | |
1338 | +// | |
1339 | +// $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) | |
1340 | +// .then(function(resp) { | |
1341 | +// $scope.following = []; | |
1342 | +// $scope.followingIds = []; | |
1343 | +// var followed = resp.data.articles; | |
1344 | +// for (var i = 0; i < followed.length; i++) { | |
1345 | +// var p = followed[i]; | |
1346 | +// $scope.following.push(p); | |
1347 | +// $scope.followingIds.push(p.id); | |
1348 | +// } | |
1349 | +// $scope.loading = false; | |
1350 | +// }, function(err) { | |
1351 | +// $scope.loading = false; | |
1352 | +// $ionicPopup.alert({ title: 'Propostas seguidas', template: 'Erro ao carregar propostas seguidas' }); | |
1353 | +// }); | |
1354 | +// }; | |
1355 | + | |
1356 | + // Load Badges | |
1357 | + $scope.loadMyBadges = function() { | |
1358 | + $scope.loading = true; | |
1359 | + | |
1360 | + var params = '?private_token=' + ConfJuvAppUtils.getPrivateToken(); | |
1361 | + var path = 'gamification_plugin/my/badges' + params; | |
1362 | + | |
1363 | + $http.get(ConfJuvAppUtils.pathTo(path)) | |
1364 | + .then(function(resp) { | |
1365 | + var data = resp.data['badges']; | |
1366 | + var badges =[]; | |
1367 | + var badge_type_loaded = {}; | |
1368 | + for (var i = 0; i < data.length; i++) { | |
1369 | + if(badge_type_loaded[data[i]['name']]){ | |
1370 | + for (var j = 0; j < badges.length; j++) { | |
1371 | + if(badges[j]['name'] == data[i]['name']){ | |
1372 | + badges[j] = data[i]; | |
1373 | + break; | |
1374 | + } | |
1375 | + } | |
1376 | + }else{ | |
1377 | + badge_type_loaded[data[i]['name']] = true; | |
1378 | + badges.push(data[i]); | |
1379 | + } | |
1380 | + } | |
1381 | + $scope.profile['badges'] = badges; | |
1382 | +console.log($scope.profile); | |
1383 | + $scope.loading = false; | |
1384 | + }, function(err) { | |
1385 | + var popup = $ionicPopup.alert({ title: 'Meus Badges', template: 'Não foi possível carregar os badges.' }); | |
1386 | + $scope.loading = false; | |
1387 | + }); | |
1388 | + }; | |
1319 | 1389 | |
1320 | 1390 | /****************************************************************************** |
1321 | 1391 | P R O F I L E |
... | ... | @@ -1334,6 +1404,7 @@ angular.module('confjuvapp.controllers', []) |
1334 | 1404 | .then(function(resp) { |
1335 | 1405 | $scope.profile = resp.data.person; |
1336 | 1406 | $scope.loginCallback(ConfJuvAppUtils.getPrivateToken()); |
1407 | + $scope.loadMyBadges(); | |
1337 | 1408 | $scope.setStateAndCityOfProfile(); |
1338 | 1409 | $scope.loading = false; |
1339 | 1410 | }, function(err) { | ... | ... |