瀏覽代碼

pm: var --> let, check project right for /main

MaiXinRong 8 年之前
父節點
當前提交
6d01689468

+ 2 - 2
modules/pm/controllers/copy_proj_controller.js

@@ -2,12 +2,12 @@
  * Created by Mai on 2017/4/24.
  */
 
-var billsData = require('../../main/models/bills');
+let billsData = require('../../main/models/bills');
 
 module.exports = {
     copyProjectData: function (srcProjID, newProjID, callback) {
         billsData.getProjectBills(srcProjID).then(function (results) {
-            var datas = [];
+            let datas = [];
             results.forEach(function (result) {
                 result._doc.projectID = newProjID;
                 datas.push(result._doc);

+ 3 - 3
modules/pm/controllers/new_proj_controller.js

@@ -2,13 +2,13 @@
  * Created by Mai on 2017/4/24.
  */
 
-var billsData = require('../../main/models/bills');
-var BillsTemplateData = require('../../templates/models/bills_template');
+let billsData = require('../../main/models/bills');
+let BillsTemplateData = require('../../templates/models/bills_template');
 
 module.exports = {
     copyTemplateData: function (tempType, newProjID, callback) {
         BillsTemplateData.getTemplate(tempType).then(function (templates) {
-            var datas = [];
+            let datas = [];
             templates.forEach(function (template) {
                 template._doc.projectID = newProjID;
                 datas.push(template._doc);

+ 26 - 10
modules/pm/controllers/pm_controller.js

@@ -1,24 +1,40 @@
 /**
  * Created by Mai on 2017/1/18.
  */
-var ProjectsData = require('../models/project');
+let ProjectsData = require('../models/project').project;
+let projType = require('../models/project').projType;
 
 //统一回调函数
-var callback = function(req, res, err, message, data){
+let callback = function(req, res, err, message, data){
     res.json({error: err, message: message, data: data});
 }
 
 module.exports = {
     checkRight: function (req, res) {
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         if (data.user_id) {
             return data.user_id === req.session.userID;
         } else {
             return false;
         }
     },
+    checkProjectRight: function (userId, projectId, callback) {
+        ProjectsData.getProject(projectId).then(function (result) {
+            /**
+             * result._doc.userID(Number): MongoDB
+             * userId(String): Session.userID
+             */
+            if (result._doc.userID == userId && result._doc.projType === projType.tender) {
+                callback(true);
+            } else {
+                callback(false);
+            }
+        }).catch(function (err) {
+            callback(false);
+        });
+    },
     getProjects: function(req, res){
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.getUserProjects(data.user_id, function(err, message, projects){
             if (projects) {
                 callback(req, res, err, message, projects);
@@ -28,7 +44,7 @@ module.exports = {
         });
     },
     updateProjects: function (req, res) {
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.updateUserProjects(data.user_id, data.updateData, function (err, message, data) {
             if (err === 0) {
                 callback(req, res, err, message, data);
@@ -38,7 +54,7 @@ module.exports = {
         });
     },
     copyProjects: function (req, res) {
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.copyUserProjects(data.user_id, data.updateData, function (err, message, data) {
             if (err === 0) {
                 callback(req, res, err, message, data);
@@ -48,13 +64,13 @@ module.exports = {
         });
     },
     rename: function (req, res) {
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.rename(data.user_id, data.id, data.newName, function (err, message) {
             callback(req, res, err, message, null);
         });
     },
     getProject: function(req, res){
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.getUserProject(data.user_id, data.proj_id, function(err, message, data){
             if (err === 0) {
                 callback(req, res, err, message, data);
@@ -64,13 +80,13 @@ module.exports = {
         });
     },
     beforeOpenProject: function (req, res) {
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.beforeOpenProject(data.user_id, data.proj_id, data.updateData, function (err, message, data) {
             callback(req, res, err, message, data);
         });
     },
     getNewProjectID: function (req, res) {
-        var data = JSON.parse(req.body.data);
+        let data = JSON.parse(req.body.data);
         ProjectsData.getNewProjectID(data.count, function (err, message, data) {
             callback(req, res, err, message, data);
         });

+ 38 - 18
modules/pm/models/project.js

@@ -1,18 +1,18 @@
 /**
  * Created by Mai on 2017/1/18.
  */
-var counter = require("../../../public/counter/counter.js");
+let counter = require("../../../public/counter/counter.js");
 
-var newProjController = require('../controllers/new_proj_controller');
-var copyProjController = require('../controllers/copy_proj_controller');
+let newProjController = require('../controllers/new_proj_controller');
+let copyProjController = require('../controllers/copy_proj_controller');
 
-var mongoose = require("mongoose");
+let mongoose = require("mongoose");
 
-var dbm = require("../../../config/db/db_manager");
-var db = dbm.getCfgConnection("usersManages");
-var Schema = mongoose.Schema;
-var deleteSchema = require('../../../public/models/delete_schema');
-var ProjectSchema = new Schema({
+let dbm = require("../../../config/db/db_manager");
+let db = dbm.getCfgConnection("usersManages");
+let Schema = mongoose.Schema;
+let deleteSchema = require('../../../public/models/delete_schema');
+let ProjectSchema = new Schema({
     "ID": Number,
     "ParentID": Number,
     "NextSiblingID": Number,
@@ -24,9 +24,9 @@ var ProjectSchema = new Schema({
     "deleteInfo": deleteSchema,
     'fullFolder': Array
 });
-var Projects = db.model("projects", ProjectSchema);
+let Projects = db.model("projects", ProjectSchema);
 
-var ProjectsDAO = function(){};
+let ProjectsDAO = function(){};
 
 ProjectsDAO.prototype.getUserProjects = function(userId, callback){
     Projects.find({'$or': [{'userID': userId, 'deleteInfo': null}, {'userID': userId, 'deleteInfo.deleted': {'$in': [null, false]}}]}, '-_id', function(err, templates){
@@ -49,8 +49,8 @@ ProjectsDAO.prototype.getUserProject = function (userId, ProjId, callback) {
 }
 
 ProjectsDAO.prototype.updateUserProjects = function(userId, datas, callback){
-    var data, project, updateLength = 0, hasError = false, deleteInfo = null, tempType = 1, i, newProject;
-    var updateAll = function (err) {
+    let data, project, updateLength = 0, hasError = false, deleteInfo = null, tempType = 1, i, newProject;
+    let updateAll = function (err) {
             if (!err){
                 updateLength += 1;
                 if (updateLength === datas.length) {
@@ -94,8 +94,8 @@ ProjectsDAO.prototype.updateUserProjects = function(userId, datas, callback){
     }
 };
 ProjectsDAO.prototype.copyUserProjects = function (userId, datas, callback) {
-    var data, project, updateLength = 0, hasError = false, deleteInfo = null, tempType = 1, i;
-    var updateAll = function (err) {
+    let data, project, updateLength = 0, hasError = false, deleteInfo = null, tempType = 1, i;
+    let updateAll = function (err) {
         if (!err){
             updateLength += 1;
             if (updateLength === datas.length) {
@@ -156,13 +156,33 @@ ProjectsDAO.prototype.beforeOpenProject = function (userId, projectId, updateDat
 
 ProjectsDAO.prototype.getNewProjectID = function (count, callback) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.project, count, function (err, result) {
-        var highID = result.value.sequence_value;
+        let highID = result.value.sequence_value;
         if (!err) {
             callback(0, '', {lowID: highID - count + 1, highID: highID});
         } else {
             callback(1, '获取主键失败', null);
         }
     });
-}
+};
+
+ProjectsDAO.prototype.getProject = function (key, callback) {
+    if (callback) {
+        Projects.findOne({'_id': key}, function (err, result) {
+            if (err) {
+                callback(1, '查找标段失败');
+            } else {
+                callback(0, result);
+            }
+        });
+    } else {
+        return Projects.findOne({'ID': key}).exec();
+    }
+};
 
-module.exports = new ProjectsDAO();
+module.exports ={
+    project: new ProjectsDAO(),
+    projType: {
+        folder: 'Folder',
+        tender: 'Tender'
+    }
+};

+ 3 - 3
modules/pm/routes/pm_route.js

@@ -2,9 +2,9 @@
  * Created by Mai on 2017/3/8.
  */
 
-var express = require('express');
-var pmRouter = express.Router();
-var pmController = require('./../controllers/pm_controller');
+let express = require('express');
+let pmRouter = express.Router();
+let pmController = require('./../controllers/pm_controller');
 
 pmRouter.use(function (req, res, next) {
     if (/\/getNewProjectID/.test(req.originalUrl) || pmController.checkRight(req, res)) {

+ 24 - 23
server.js

@@ -1,27 +1,27 @@
-var express = require('express');
+let express = require('express');
 
-var config = require("./config/config.js");
+let config = require("./config/config.js");
 //config.setToLocalDb();
 config.setToQaDb();
 //config.setupCache();
-var cfgCacheUtil = require("./config/cacheCfg");
+let cfgCacheUtil = require("./config/cacheCfg");
 cfgCacheUtil.setupDftCache();
 
-var path = require('path');
-var session = require('express-session');
-var DBStore = require('connect-mongo')(session);
+let path = require('path');
+let session = require('express-session');
+let DBStore = require('connect-mongo')(session);
 
-var URL = require('url')
+let URL = require('url')
 
-var app = express();
-var _rootDir = __dirname;
+let app = express();
+let _rootDir = __dirname;
 app.use(express.static(_rootDir));
 
 app.set('views', path.join(__dirname, 'web'));
 app.engine('.html', require('ejs').__express);
 app.set('view engine', 'html');
 
-var bodyParser = require('body-parser');
+let bodyParser = require('body-parser');
 app.use(bodyParser.urlencoded({extended: false}));
 app.use(bodyParser.json());
 
@@ -39,7 +39,7 @@ app.use(session({
 }));
 
 app.use(function (req, res, next) {
-    var url = req.originalUrl, referer;
+    let url = req.originalUrl, referer;
     if (!/^\/login/.test(req.originalUrl) && !req.session.userAccount) {
         if (/\/api/.test(req.originalUrl)) {
             referer = URL.parse(req.headers.referer);
@@ -55,7 +55,7 @@ app.use('/', require('./modules/users/routes/users_route'));
 app.use('/feeRates', require('./modules/fee_rates/routes/fee_rates_route'));
 
 app.get('/template/bills', function (req, res) {
-    var checkAdmin = function (userAccount) {
+    let checkAdmin = function (userAccount) {
         return true;
     }
     if (checkAdmin(req.session.userAccount)) {
@@ -68,7 +68,7 @@ app.get('/template/bills', function (req, res) {
 });
 
 app.use('/template/bills/api', function (req, res, next) {
-    var checkAdmin = function (userAccount) {
+    let checkAdmin = function (userAccount) {
         return true;
     }
     if (checkAdmin(req.session.userAccount)) {
@@ -77,7 +77,7 @@ app.use('/template/bills/api', function (req, res, next) {
         res.json({error: 1, message: '对不起,您无权限操作清单模板。', data: null});
     }
 });
-var billsTemplateRouter = require('./modules/templates/routes/bills_template_router');
+let billsTemplateRouter = require('./modules/templates/routes/bills_template_router');
 app.use('/template/bills/api', billsTemplateRouter);
 
 app.get('/pm', function(req, res){
@@ -85,12 +85,13 @@ app.get('/pm', function(req, res){
         {userAccount: req.session.userAccount,
             userID: req.session.userID});
 });
-var pmRouter = require('./modules/pm/routes/pm_route');
+let pmRouter = require('./modules/pm/routes/pm_route');
 app.use('/pm/api', pmRouter);
 
 app.get('/main',  function(req, res) {
     let pm = require('./modules/pm/controllers/pm_controller');
     pm.checkProjectRight(req.session.userID, req.query.project, function (hasRight) {
+        console.log(hasRight);
         if (hasRight) {
             res.render('building_saas/main/html/main.html',
                 {
@@ -103,10 +104,10 @@ app.get('/main',  function(req, res) {
     });
 });
 
-var project_Router = require('./modules/main/routes/project_route');
-var bills_Router = require('./modules/main/routes/bills_route');
-var ration_Router = require('./modules/main/routes/ration_route');
-var GLJ_Router = require('./modules/main/routes/GLJ_route');
+let project_Router = require('./modules/main/routes/project_route');
+let bills_Router = require('./modules/main/routes/bills_route');
+let ration_Router = require('./modules/main/routes/ration_route');
+let GLJ_Router = require('./modules/main/routes/GLJ_route');
 app.use('/project', project_Router);
 app.use('/bills', bills_Router);
 app.use('/ration', ration_Router);
@@ -114,7 +115,7 @@ app.use('/glj', GLJ_Router);
 
 //app.use(express.static(_rootDir+"/web"));
 //app.use(express.static(_rootDir+"/lib"));
-//var rations_Router = require("./modules/rationLibEditor/routes/rationLibEditor_route");
+//let rations_Router = require("./modules/rationLibEditor/routes/rationLibEditor_route");
 //app.use("/rationLibEditor",rations_Router);
 
 app.get("/stdBillsmain", function(req, res){
@@ -136,11 +137,11 @@ app.get('/stdJobs', function(req, res){
 app.get('/stdItems', function(req, res){
     res.render('maintain/bills_lib/html/tezheng.html');
 });
-var billsLibRouter = require("./modules/bills_lib/routes/bills_lib_routes");
+let billsLibRouter = require("./modules/bills_lib/routes/bills_lib_routes");
 app.use("/stdBillsEditor", billsLibRouter);
 //-----------------
 
-var rationRepository_Router = require("./modules/ration_repository/routes/ration_rep_routes");
+let rationRepository_Router = require("./modules/ration_repository/routes/ration_rep_routes");
 app.use("/rationRepository/api",rationRepository_Router);
 
 app.use(function(req, res, next) {
@@ -150,6 +151,6 @@ app.use(function(err, req, res, next) {
     console.error(err.stack);
     res.status(500).send('500 Error');
 });
-app.listen(6066);
+app.listen(6060);