user working parameter added
nau idoctnef@openmailbox.org
Fri, 09 Sep 2016 21:58:51 +0200
5 files changed,
60 insertions(+),
9 deletions(-)
M
controllers/projectController.js
→
controllers/projectController.js
@@ -112,7 +112,19 @@
res.status(200).jsonp(projects); }); }); + + userModel.findById(req.body._id, function(err, user) { + user.working=true; + + user.save(function(err) { + if(err) return res.send(500, err.message); + console.log("user working=true"); + }); + }); + }); + + }; exports.userStopWorking = function(req, res) { console.log("userStopWorking");@@ -140,6 +152,15 @@ projectModel.find(function(err, projects) {
if(err) res.send(500, err.message); res.status(200).jsonp(projects); + }); + }); + + userModel.findById(req.body._id, function(err, user) { + user.working=false; + + user.save(function(err) { + if(err) return res.send(500, err.message); + console.log("user working=false"); }); }); });
M
models/userModel.js
→
models/userModel.js
@@ -11,6 +11,7 @@ avatar: { type: String },
github: { type: String }, web: { type: String }, projects: { type: String }, - connected: { type: Boolean } + connected: { type: Boolean }, + working: { type: Boolean } }) module.exports = mongoose.model('userModel', userSchema);
M
server.js
→
server.js
@@ -136,6 +136,6 @@ app.use('/api', apiRoutes);
// end of API routes ------------------------------------- // Start server -app.listen(config.port, function() { +app.listen(config.port, "localhost", function() { console.log("Node server running on http://localhost:3000"); });
M
webapp/controllers.js
→
webapp/controllers.js
@@ -1,3 +1,4 @@
+var urlapi = "http://192.168.1.41:3000/api/"; var urlapi = "http://localhost:3000/api/"; angular.module('workApp', ['chart.js'])@@ -10,6 +11,22 @@ $scope.users={};
$scope.projects={}; $scope.currentInclude='login.html'; var refreshTime=20000; + $scope.getLoggedUser = function(){ + //get logged user + $http.get(urlapi + 'users/byusername/' + $scope.user.username) + .success(function(data, status, headers,config){ + console.log(data); + $scope.user=data; + }) + .error(function(data, status, headers,config){ + console.log("server not responding, data error"); + toastr.error("server not responding"); + $scope.$broadcast('scroll.refreshComplete');//refresher stop + }) + .then(function(result){ + users = result.data; + }); + }; /* DASHBOARD initialization */ $scope.dashboardInit = function(){ if(localStorage.getItem('owt_token')){// adding token to the headers@@ -23,6 +40,7 @@ }else{
$scope.currentInclude="login.html"; } + $scope.getLoggedUser(); //getting users $http.get(urlapi + 'users') .success(function(data, status, headers,config){@@ -76,9 +94,17 @@ /* </DASHBOARD initialization */
$scope.user={}; + + $http.defaults.headers.post['Content-Type'] = 'application/json'; if(localStorage.getItem("owt_user")){ + if(localStorage.getItem('owt_token')){// adding token to the headers + $http.defaults.headers.post['X-Access-Token'] = localStorage.getItem('owt_token'); + $http.defaults.headers.post['Content-Type'] = 'application/json'; + $http.defaults.headers.common['X-Access-Token'] = localStorage.getItem('owt_token'); + } $scope.user=JSON.parse(localStorage.getItem("owt_user")); $scope.currentInclude="dashboard.html"; + $scope.getLoggedUser(); $scope.dashboardInit(); intervalGetData = $interval(function(){ $scope.dashboardInit();@@ -153,7 +179,7 @@
//localStorage.clear(); - $scope.working=false; + //$scope.working=false; $scope.currentproject={}; $scope.newproject={};@@ -214,7 +240,8 @@ });
}; $scope.currentprojectIndex; $scope.projectSelect = function(index){ - $scope.btnStop(); + //$scope.btnStop(); + console.log(index); $scope.currentprojectIndex=index; $scope.currentproject=$scope.projects[index]; };@@ -239,7 +266,7 @@ var interval;
$scope.currentStrike=0; $scope.btnWork = function(){ //$scope.editingProject=false; - $scope.working=true; + $scope.user.working=true; $http({ url: urlapi + 'projects/' + $scope.currentproject._id + '/startworking', method: "PUT",@@ -247,14 +274,15 @@ data: $scope.user
}).then(function(response) { console.log(response); $scope.projects=response.data; + $scope.getLoggedUser(); }, function(response) {// failed }); }; $scope.btnStop = function(){ - if($scope.working==true) + if($scope.user.working==true) { - $scope.working=false; + //$scope.user.working=false; $http({ url: urlapi + 'projects/' + $scope.currentproject._id + '/stopworking', method: "PUT",@@ -267,6 +295,7 @@ {
response.data[i].chart=translateWorkStrikes2Chart(response.data[i].workStrikes); } $scope.projects=response.data; + $scope.getLoggedUser(); }, function(response) {// failed });
M
webapp/dashboard.html
→
webapp/dashboard.html
@@ -129,8 +129,8 @@
</div> <div class="card-action"> <div ng-show="arrayObjectIndexOf(currentproject.users, user.username, 'username')!=-1"> - <a ng-click="btnWork()" ng-show="!working" class="waves-effect waves-light btn green lighten-2">Work!</a> - <a ng-click="btnStop()" ng-show="working" class="waves-effect waves-light btn red lighten-2">Stop!</a> + <a ng-click="btnWork()" ng-show="!user.working" class="waves-effect waves-light btn green lighten-2">Work!</a> + <a ng-click="btnStop()" ng-show="user.working" class="waves-effect waves-light btn red lighten-2">Stop!</a> </div> <div ng-show="arrayObjectIndexOf(currentproject.users, user.username, 'username')==-1"> <a ng-click="joinProject()" class="waves-effect waves-light btn blue lighten-2">Join!</a>