main_route.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**
  2. * Created by chen on 2017/7/17.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. const projectModel = require("../../pm/models/project_model");
  6. const pmFacade = require('../../pm/facade/pm_facade');
  7. let config = require("../../../config/config.js");
  8. module.exports =function (app) {
  9. const baseController = new BaseController();
  10. app.get('/main', baseController.init, function(req, res) {
  11. let pm = require('../../pm/controllers/pm_controller');
  12. pm.checkProjectRight(req.session.sessionUser.id, req.query.project, async function (hasRight, projectData, shareInfo) {
  13. if (hasRight) {
  14. //分享的项目,只读、协作(允许编辑)
  15. let projectReadOnly = false,
  16. projectCooperate = false;
  17. if(req.session.sessionUser.id !== projectData.userID){
  18. projectData._doc.readOnly = true;
  19. projectCooperate = !!shareInfo.allowCooperate;
  20. //允许协作的项目允许编辑,非只读
  21. projectReadOnly = !projectCooperate;
  22. }
  23. let fileKind = '1'; //默认投标文件
  24. let constructProject = await pmFacade.getConstructionProject(req.query.project);
  25. if (constructProject && constructProject.property && constructProject.property.fileKind) {
  26. fileKind = constructProject.property.fileKind;
  27. }
  28. res.render('building_saas/main/html/main.html',
  29. {
  30. userAccount: req.session.userAccount,
  31. userID: req.session.sessionUser.id,
  32. projectData: projectData,
  33. compilationName: req.session.sessionCompilation.name,
  34. versionName: req.session.compilationVersion,
  35. projectReadOnly: projectReadOnly,
  36. projectCooperate: projectCooperate,
  37. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  38. overWriteUrl:req.session.sessionCompilation.overWriteUrl,
  39. fileKind: fileKind
  40. });
  41. } else {
  42. res.redirect('/pm');
  43. }
  44. });
  45. });
  46. }