Commit 03e59a11c31e4b772211597fbbe8bd433611c8a1

Authored by Caio Almeida
1 parent a8f4ced3

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(&#39;confjuvapp.controllers&#39;, [])
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(&#39;confjuvapp.controllers&#39;, [])
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) {
... ...