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