installer.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. module.exports = function(app) {
  2. 'use strict';
  3. var debug = require('debug')('crowi:routes:installer')
  4. , models = app.set('models')
  5. , Config = models.Config
  6. , User = models.User
  7. , actions = {};
  8. actions.index = function(req, res) {
  9. return res.render('installer');
  10. };
  11. actions.createAdmin = function(req, res) {
  12. var registerForm = req.body.registerForm || {};
  13. if (req.form.isValid) {
  14. var name = registerForm.name;
  15. var username = registerForm.username;
  16. var email = registerForm.email;
  17. var password = registerForm.password;
  18. User.createUserByEmailAndPassword(name, username, email, password, function(err, userData) {
  19. if (err) {
  20. // TODO
  21. return ;
  22. }
  23. userData.makeAdmin(function(err, userData) {
  24. Config.applicationInstall(function(err, configs) {
  25. if (err) {
  26. // TODO
  27. return ;
  28. }
  29. // login処理
  30. req.user = req.session.user = userData;
  31. req.flash('successMessage', 'Crowi のインストールが完了しました!はじめに、このページでこの Wiki の各種設定を確認してください。');
  32. return res.redirect('admin/app');
  33. });
  34. });
  35. });
  36. } else {
  37. return res.render('installer');
  38. }
  39. };
  40. return actions;
  41. };