user page and users page added
nau idoctnef@openmailbox.org
Sun, 28 Aug 2016 11:57:21 +0200
62 files changed,
120 insertions(+),
20 deletions(-)
jump to
M
app/www/js/app.js
→
app/www/js/app.js
@@ -41,14 +41,24 @@ }
} }) - .state('app.browse', { - url: '/browse', + .state('app.users', { + url: '/users', views: { 'menuContent': { - templateUrl: 'templates/browse.html' + templateUrl: 'templates/users.html', + controller: 'UsersCtrl' } } }) + .state('app.user', { + url: '/users/:username', + views: { + 'menuContent': { + templateUrl: 'templates/user.html', + controller: 'UserCtrl' + } + } + }) .state('app.travels', { url: '/travels', views: {
M
app/www/js/controllers.js
→
app/www/js/controllers.js
@@ -45,6 +45,7 @@
.controller('TravelsCtrl', function($scope, $http, $ionicModal, $timeout) { $scope.travels=""; + $scope.travels=JSON.parse(localStorage.getItem('c_travels')); $scope.doRefresh = function() { $http.get('http://localhost:3000/api/travels')@@ -52,6 +53,7 @@ .success(function(data, status, headers,config){
console.log('data success'); console.log(data); // for browser console $scope.travels = data; // for UI + localStorage.setItem('c_travels', JSON.stringify($scope.travels)); $scope.$broadcast('scroll.refreshComplete');//refresher stop }) .error(function(data, status, headers,config){@@ -117,6 +119,7 @@ console.log("response: ");
console.log(response); $scope.newtravel._id=response.data._id; $scope.travels.push($scope.newtravel); + $scope.newtravel={}; }, function(response) { // optional // failed@@ -169,6 +172,47 @@ .success(function(data, status, headers,config){
console.log('data success'); console.log(data); // for browser console $scope.travel = data; // for UI + }) + .error(function(data, status, headers,config){ + console.log('data error'); + }) + .then(function(result){ + travels = result.data; + }); +}) + +.controller('UsersCtrl', function($scope, $http, $ionicModal, $timeout) { + $scope.users=""; + + $scope.users=JSON.parse(localStorage.getItem('c_users')); + + $scope.doRefresh = function() { + $http.get('http://localhost:3000/api/users') + .success(function(data, status, headers, config){ + console.log('data success'); + console.log(data); // for browser console + $scope.users = data; // for UI + localStorage.setItem('c_users', JSON.stringify($scope.users)); + $scope.$broadcast('scroll.refreshComplete');//refresher stop + }) + .error(function(data, status, headers,config){ + console.log('data error'); + $scope.$broadcast('scroll.refreshComplete');//refresher stop + }) + .then(function(result){ + users = result.data; + }); + }; +}) + +.controller('UserCtrl', function($scope, $stateParams, $http) { + $scope.travel=""; + console.log($stateParams.username); + $http.get('http://localhost:3000/api/users/byusername/'+$stateParams.username) + .success(function(data, status, headers,config){ + console.log('data success'); + console.log(data); // for browser console + $scope.user = data; // for UI }) .error(function(data, status, headers,config){ console.log('data error');
M
app/www/templates/travel.html
→
app/www/templates/travel.html
@@ -2,13 +2,16 @@ <ion-view view-title="Travel">
<ion-content> <div class="item item-avatar"> <img ng-src="img/{{travel.modality}}.png" /> - <span class="badge badge-balanced" ng-show="travel.collectivized">Collectivized</span> + <div class="item-note o-text-right"> + <a class="badge badge-calm" href="#/app/users/{{travel.owner}}">{{travel.owner}}</a> + </div> <h2>{{travel.title}}</h2> - <p>{{travel.owner}}</p> + <div class="">{{travel.date | date:"dd/MM HH:mm a"}}</div> </div> <div class="item item-body"> <div class='o-float-right o-text-right'> - <div class="">{{travel.date | date:"dd/MM HH:mm a"}}</div> + <span class="badge badge-balanced" ng-show="travel.collectivized">Collectivized</span> + <br> <div class="o-mini-text" ng-show="travel.package"> <div ng-show="travel.modality=='offering'">can carry package <img src="img/package.png" class="o-imgMenu" /></div>
M
app/www/templates/travels.html
→
app/www/templates/travels.html
@@ -19,8 +19,10 @@ {{travel.description}}
</p> <p class="" ng-show="travel.modality=='offering'">nºseats: {{travel.seats}}</p> <p class="" ng-show="travel.modality=='asking'">nºpeople: {{travel.seats}}</p> - <div class="badge badge-calm item-note">{{travel.owner}}</div> - <div class="badge badge-calm item-note">{{travel.date | date:"dd/MM HH:mm a"}}</div> + <div class="item-note"> + <div class="positive">{{travel.date | date:"dd/MM HH:mm a"}}</div> + <div class="badge badge-calm">{{travel.owner}}</div> + </div> </a> </div> </ion-content>
A
app/www/templates/user.html
@@ -0,0 +1,18 @@
+<ion-view view-title="User"> + <ion-content> + <div class="item item-avatar"> + <img ng-src="img/avatars/{{user.avatar}}.png" /> + <div class="item-note o-text-right"> + <a class="badge badge-calm" href="#/app/users/{{travel.owner}}">{{user.owner}}</a> + </div> + <h2>{{user.username}}</h2> + </div> + <div class="item item-body"> + <p class="o-bold">{{user.description}}</p> + <p>{{user.mail}}</p> + <p> + <img class='o-imgMenu' src="img/telegram.png" /> {{user.telegram}} + </p> + </div> + </ion-content> +</ion-view>
A
app/www/templates/users.html
@@ -0,0 +1,23 @@
+<ion-view view-title="Users"> + <ion-content> + <ion-refresher + pulling-text="Pull to refresh..." + on-refresh="doRefresh()"> + </ion-refresher> + <div class="list"> + <div class="o-float-right"> + <a ng-click="showNewAskingTravel()" class="button icon ion-email"></a> + <a ng-click="showNewAskingTravel()" class="button icon ion-help"></a> + <a ng-click="showNewOfferingTravel()" class="button icon ion-plus"></a> + </div> + + <a ng-repeat="user in users | orderBy: 'date'" class="item item-avatar" href="#/app/users/{{user.username}}"> + <img ng-src="img/avatars/{{user.avatar}}.png"> + <h2>{{user.username}}</h2> + <p> + {{user.description}} + </p> + </a> + </div> + </ion-content> +</ion-view>
M
server/controllers/travelController.js
→
server/controllers/travelController.js
@@ -28,7 +28,7 @@ };
exports.findAllTravelsFromUsername = function(req, res) { travelModel.find({ - authorname: req.params.userid + _id: req.params.userid }, function(err, travels) { if (err) throw err;
M
server/controllers/userController.js
→
server/controllers/userController.js
@@ -42,7 +42,8 @@ res.json({ success: false, message: 'no user found' });
} else if (user) { console.log(user); // return the information including token as JSON - res.jsonp(user); + //res.jsonp(user); + res.status(200).jsonp(user[0]); }@@ -61,7 +62,8 @@ password: req.body.password,
description: req.body.description, avatar: req.body.avatar, mail: req.body.mail, - admin: req.body.admin + phone: req.body.phone, + telegram: req.body.telegram }); user.save(function(err, user) {@@ -78,7 +80,8 @@ user.password = req.body.password;
user.description = req.body.description; user.avatar = req.body.avatar; user.mail = req.body.mail; - user.admin = req.body.admin; + user.phone = req.body.phone; + user.telegram = req.body.telegram; user.save(function(err) { if(err) return res.send(500, err.message);
M
server/models/userModel.js
→
server/models/userModel.js
@@ -8,6 +8,7 @@ password: { type: String },
description: { type: String }, avatar: { type: String }, mail: { type: String }, - phone: { type: String } + phone: { type: String }, + telegram: { type: String } }) module.exports = mongoose.model('userModel', userSchema);