TemplatesController.coffee 1.4 KB

1234567891011121314151617181920212223242526272829
  1. path = require('path')
  2. AuthenticationController = require('../../../js/Features/Authentication/AuthenticationController')
  3. TemplatesManager = require('./TemplatesManager')
  4. ProjectHelper = require('../../../js/Features/Project/ProjectHelper')
  5. logger = require('logger-sharelatex')
  6. module.exports = TemplatesController =
  7. getV1Template: (req, res)->
  8. templateVersionId = req.params.Template_version_id
  9. templateId = req.query.id
  10. if !/^[0-9]+$/.test(templateVersionId) || !/^[0-9]+$/.test(templateId)
  11. logger.err templateVersionId:templateVersionId, templateId: templateId, "invalid template id or version"
  12. return res.sendStatus 400
  13. data = {}
  14. data.templateVersionId = templateVersionId
  15. data.templateId = templateId
  16. data.name = req.query.templateName
  17. data.compiler = ProjectHelper.compilerFromV1Engine(req.query.latexEngine)
  18. data.mainFile = req.query.mainFile
  19. data.brandVariationId = req.query.brandVariationId
  20. res.render path.resolve(__dirname, "../../../views/project/editor/new_from_template"), data
  21. createProjectFromV1Template: (req, res, next)->
  22. user_id = AuthenticationController.getLoggedInUserId(req)
  23. TemplatesManager.createProjectFromV1Template req.body.brandVariationId, req.body.compiler, req.body.mainFile, req.body.templateId, req.body.templateName, req.body.templateVersionId, user_id, (err, project) ->
  24. return next err if err?
  25. delete req.session.templateData
  26. res.redirect "/project/#{project._id}"