Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion my-todolist/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
node_modules/


.idea
uploads/
uploads
94 changes: 30 additions & 64 deletions my-todolist/app.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,25 @@
var express = require('express');
var multer=require('multer');
var session = require('cookie-session');
var session = require('cookie-session'); // Loads the piece of middleware for sessions
var bodyParser = require('body-parser');// Loads the piece of middleware for managing the settings
var mongoose=require('mongoose');
var validator=require('validator');
var fs= require('fs');
mongoose.connect('mongodb://localhost:27017/test');
var user=require('./model/user');
//nick.save(function(err){console.log('user saved successfully')})
var morgan=require('morgan');
var jwt=require('jsonwebtoken');
var config=require('./config');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
//var fs = require('fs');
var app = express();
var Task=require('./model/task');
var Step=require('./model/step');
//console.log(Step);
var router=express.Router();
var ObjectId = require('mongodb').ObjectID;
// var buf = new Buffer(1024);
var id,id1=0;
var arr=[],arr1=[],arr2=[],array1=[],array=[],arr3=[],arr4=[];
var gfs;
var token;
//var myo=new Object();
/* If there is no to do list in the session,
we create an empty one in the form of an array before continuing */
app.use('/uploads',express.static(__dirname+"/upload"));
Expand All @@ -48,17 +43,15 @@ app.use(function(req, res, next){
});
function addme(n,m,res)
{
//var addme=require("./Routes/addme")(n,m,res);

Task.find({}, "-_id Todo", function (err, task) {
arr = task;
for (var i in arr) {
//console.log(arr[i]);
var myo = new Object();
myo = arr[i];
arr1[i] = myo.Todo;
//console.log(myo.Todo);
}
//console.log(arr[1]);

}).skip(n).limit(m);
Task.find({}, "-_id Memberassigned", function (err, task) {
arr = task;
Expand Down Expand Up @@ -88,7 +81,6 @@ function addme(n,m,res)
Task.find({}, "-_id Priority", function (err, task) {

arr = task;
//arr.forEach();
for (var i in arr) {
//console.log(arr[i]);
var myo = new Object();
Expand All @@ -107,7 +99,7 @@ function addme(n,m,res)
}
/*
/* The to do list and the form are displayed */
router.get('/todo', function(req, res,next) {
router.get('/todo', function(req, res) {
// var token = req.body.token || req.query.token || req.headers['x-access-token'];
if(token)
{
Expand All @@ -126,40 +118,37 @@ addme(0,10,res);
router.get('/todo/login',function(req,res) {
res.render('login.ejs');
});
router.post('/todo/login/', urlencodedParser,
router.post('/todo/login/',
function(req,res){
user.findOne({'name':req.body.member},function(err,user){
console.log(user);
user.findOne({'name':req.body.member,'admin':true},function(err,user){
if(!user)
{ res.json({success:false,message:'Authentication failed.user not found'})
}
{
user.findOne({'name':req.body.member,'admin':false},function(err,user){
if(!user) {

else if(user){
console.log(user);
console.log(user.password);
console.log(req.body.password);
//req.session.name = user;
//res.redirect('/todo/member');
//res.json({success:false,message:'Authentication failed.user not found'});
res.json({success:false,message:'Authentication failed.user not found'})
}else if(user){
if(user.password!=req.body.password)
{
res.json({success:false,message:'Authentication failed.Wrong password'})
}}
else
{
req.session.name = user;
res.redirect('/todo/member');
}
});

}else if(user){
if(user.password!=req.body.password)
{
res.json({success:false,message:'Authentication failed.Wrong password'})
}else{
if(user.admin==true) {


var secret = config.secret;
console.log(secret);
var token1 = jwt.sign(user, app.get('superSecret'), {
expiresIn: 1440
});
token = token1;
res.redirect('/api/todo');
}
else{
res.redirect('/todo/member');
}
var token1=jwt.sign(user,app.get('supersecret'),{
expiresInMinutes:1440
});
token=token1;
res.redirect('/todo')
}
}

Expand Down Expand Up @@ -199,20 +188,13 @@ router.get('/todo1', function(req, res) {
});
/* Adding an item to the to do list */
router.post('/todo/add/', urlencodedParser, function(req, res) {

//console.log(step);
if (req.body.newtodo != '') {
// for(var i in req.body.)
var task = new Task();
var step= new Step();

//console.log(req.body.hid);
for (var i in req.body.hid)
{
var a=req.body.Step;
//console.log(req.body.Step);
step.Steps=a;
//step.Todo=task.Todo;
}
task.Todo = req.body.newtodo;
console.log(req.body.newtodo);
Expand All @@ -236,9 +218,6 @@ router.post('/todo/add/', urlencodedParser, function(req, res) {
upload(req,res,function(err){
if(err) {
return res.end(err);
//res.end("error uploading file")}
// res.end("file is uploaded");

}
}
);
Expand Down Expand Up @@ -268,8 +247,6 @@ router.post('/todo/add/', urlencodedParser, function(req, res) {
if (err) {
throw err;
}
console.log(task);
//res.json({message:'Bear updated!'});
});
}
);
Expand All @@ -278,23 +255,14 @@ router.post('/todo/add/', urlencodedParser, function(req, res) {
else
{
res.send("sorry no data updated");
//alert("No data updated");
res.redirect('/api/todo1')
}});
router.get('*', function (req, res) {
res.sendFile(__dirname + '/public/index.html');
// load the single view file (angular will handle the page changes on the front-end)
});
/* Deletes an item from the to do list */
router.get('/todo/delete/:id', function(req, res) {

console.log(req.params.id);
id=req.params.id;
Task.findByIdAndRemove(req.params.id,function(err,tasks){console.log(tasks);});

//Task.remove();
//console.log(a);

res.redirect('/api/todo');
});

Expand All @@ -308,19 +276,17 @@ router.get('/todo/delete/:id', function(req, res) {
/* Redirects to the to do list if the page requested is not found */
app.use('/api',router);
app.use(function(req, res, next) {
console.log(id1);

if(id1==0)
{
router.route('/api/todo');
res.redirect('/api/todo/login');

}
else
{
res.redirect('/api/todo1');
}
//next();
});


app.set('superSecret',config.secret);
app.use(morgan('dev'));
app.listen(8010);
29 changes: 29 additions & 0 deletions my-todolist/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!doctype html>
<html ng-app="todoApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js">
</script>
<script src="todo.js"></script>
<link rel="stylesheet" href="todo.css">
</head>
<body>
<h2>Todo</h2>
<div ng-controller="TodoListController as todoList">
<span>{{todoList.remaining()}} of {{todoList.todos.length}} remaining</span>
[ <a href="" ng-click="todoList.archive()">archive</a> ]
<ul class="unstyled">
<li ng-repeat="todo in todoList.todos">
<label class="checkbox">
<input type="checkbox" ng-model="todo.done">
<span class="done-{{todo.done}}">{{todo.text}}</span>
</label>
</li>
</ul>
<form ng-submit="todoList.addTodo()">
<input type="text" ng-model="todoList.todoText" size="30"
placeholder="add new todo here">
<input class="btn-primary" type="submit" value="add">
</form>
</div>
</body>
</html>
26 changes: 26 additions & 0 deletions my-todolist/indexanother.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html data-ng-app="TodoApp">
<head>
<meta charset="UTF-8">
<base href="/"/>
<title>Todo</title>
</head>
<body>
<div>
<div>
<a ui-sref="Todo">Todo App</a>
</div>
<div>
<a ui-sref="Todo">Home</a>
</div>

</div>
<script type="text/javascript" src="lib/angular.min.js"></script>
<script type="text/javascript" src="lib/angular-resource.min.js">
</script>
<script type="text/javascript" src="lib/angular-resource-ui-router.min.js"></script>
<script type="text/javascript" src="js/appstar.js"></script>
<script type="text/javascript" src="js/controllers"></script>
<script type="text/javascript" src="js/services.js"></script>
</body>
</html>
26 changes: 26 additions & 0 deletions my-todolist/js/appstar.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
angular.module('movieApp',['uirouter','ngResource','TodoApp.controllers','TodoApp.services']);

angular.module('TodoApp').config(function($stateProvider){
$stateProvider.state('Todo',{
url:'/todo',
templateurl:'views/todo.ejs',
controller:'TodoController'
})
.state('viewTodo',{
url:'/todo/delete/:id',
templateurl:'views/todo.ejs',
controller:'TodoViewController'
})
.state('AddTodo',{
url:'/todo/add',
templateurl:'views/todo.ejs',
controller:'TodoCreateController'
})
.state('editTodo',{
url:'/todo/update/',
templateurl:'views/todo1.ejs',
controller:'TodoEditController'
});
}).run(function ($state) {
$state.go('Todo');
});
37 changes: 37 additions & 0 deletions my-todolist/js/controllers
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/**
* Created by lcom64 on 27/1/17.
*/
angular.module('TodoApp.controllers',[]).controller('TodoListController',function ($scope,$state,popupService,$window,Todo){

$scope.Todo=Todo.query();
$scope.deleteTodo=function(Todo)
{
if(popupService.showPopup("Really delete this?"))
{
Todo.$delete(function(){
$window.location.href='';
});
}
};
}).controller('TodoListController',function($scope,$stateParams,Todo){
$scope.Todo=Todo.get({id:$stateParams});

}).controller('TodoCreateController',function($scope,$state,$stateParams,Todo){
$scope.Todo=new Todo();

$scope.addTodo =function(){
$scope.Todo.$save(function(){
$state.go('Todo');
});
};
}).controller('TodoEditController',function($scope,$state,$stateParams,Todo){
$scope.updateTodo=function(){
$scope.Todo.$update(function(){
state.go('Todo');
});
};
$scope.loadTodo=function(){
$scope.Todo(Todo.get({id:$stateParams.id}))
};
$scope.loadTodo();
})
11 changes: 11 additions & 0 deletions my-todolist/js/services.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**
* Created by lcom64 on 27/1/17.
*/
angular.module('Todo.services',[]).factory('Todo',function($resource){
return $resource('http://localhost:8010/api/todo/:id',{ id:'@_id'},{
update: {
method: 'PUT'
}

})
});
Loading