better handling of errors in supervisor signin

parent 8cd04f26
...@@ -2,16 +2,8 @@ ...@@ -2,16 +2,8 @@
Changes to be performed manually in servers to upgrade Changes to be performed manually in servers to upgrade
## AngularJS
(already done in dev & pre)
- angular-re-captcha has been replaced by angular-recaptcha, so bower has to be run
- reinstall ui-bootstrap
- replace angular-file-upload by ng-file-upload
`bower install`
## Database ## Database
- Delete active column from scene table (deleted from `already done in dev` sql `create scene table` statement) - Delete active column from scene table (deleted from `already done in dev` sql `create scene table` statement)
`alter table scene drop active;` `alter table scene drop active;`
...@@ -54,29 +46,3 @@ Changes to be performed manually in servers to upgrade ...@@ -54,29 +46,3 @@ Changes to be performed manually in servers to upgrade
- Reload enrolments trigger - Reload enrolments trigger
`source /vagrant/roles/database/files/triggers-enrolments-integrity-constraints.sql` `source /vagrant/roles/database/files/triggers-enrolments-integrity-constraints.sql`
(already done in dev & pre)
- add new column to license:
`alter table license add column creator varchar(40) DEFAULT NULL;`
- add arasaac to source table
`INSERT INTO `source` (`id`, `name`, `description`) VALUES (3, 'Arasaac', 'Arasaac pictograms collection');`
- alter table supervisor add arasaac license:
`ALTER TABLE supervisor ADD COLUMN arasaac_license BOOLEAN DEFAULT FALSE;`
- load arasaac.sql into MySQL
- load pictocat_tree_populate.sql
`source /vagrant/roles/database/files/pictocat_tree_populate.sql;`
- reload trigers-enrolments-integrity-constraints.sql
- alter table supervisor to add postal_code:
`alter table supervisor add column `postal_code` char(10) COLLATE utf8_unicode_ci NOT NULL;`
- alter table office to add postal_code:
`alter table office add column `postal_code` char(10) COLLATE utf8_unicode_ci NOT NULL;`
- remove max_students and current_students columns from offices:
`alter table office drop column max_students;`
`alter table office drop column current_students;`
- copy postal_code value from office to its supervisors
`update supervisor as sup inner join office as off on off.id = sup.id_off set sup.postal_code = off.postal_code;`
- alter table office
`alter table office modify logo_url varchar(240) default null;`
...@@ -330,7 +330,7 @@ module.exports = { ...@@ -330,7 +330,7 @@ module.exports = {
email: params.email, email: params.email,
pic: sails.config.pictogram.paths.defaultAvatarFileName, pic: sails.config.pictogram.paths.defaultAvatarFileName,
address: params.address || '', address: params.address || '',
postalCode: params.postalCode || '', postal_code: params.postalCode || '',
country: params.country || '', country: params.country || '',
phone: params.phone || '', phone: params.phone || '',
lang: params.lang || 'es-es', lang: params.lang || 'es-es',
...@@ -338,6 +338,7 @@ module.exports = { ...@@ -338,6 +338,7 @@ module.exports = {
if (params.id_off) if (params.id_off)
supData.id_off = params.id_off; supData.id_off = params.id_off;
console.log(JSON.stringify(supData));
Supervisor.create(supData) Supervisor.create(supData)
.then(function (sup) { .then(function (sup) {
...@@ -369,11 +370,13 @@ module.exports = { ...@@ -369,11 +370,13 @@ module.exports = {
supervisor = sup; supervisor = sup;
sendConfirmationMail((err) => { sendConfirmationMail((err) => {
if (err) throw err; if (err) return res.serverError("Confirmation mail could not be sent: " + err);
return res.ok(); return res.ok();
}); });
}) })
.catch(err => {throw err}); .catch((err) => {
return res.serverError("Supervisor could not be created: " + err);
});
} else } else
return res.badRequest("Invalid role"); return res.badRequest("Invalid role");
}).catch(function (err) { }).catch(function (err) {
...@@ -474,12 +477,12 @@ module.exports = { ...@@ -474,12 +477,12 @@ module.exports = {
update: function (req, res) { update: function (req, res) {
Supervisor.findOne({ id: req.params.id }) Supervisor.findOne({ id: req.params.id })
.then(function (supervisor) { .then(function (supervisor) {
if (supervisor) { if (!supervisor)
if (req.body.password) { return res.notFound();
if (req.body.password && req.body.password.length > 0)
supervisor.password = req.body.password; supervisor.password = req.body.password;
} else { else
delete supervisor.password; delete supervisor.password;
}
supervisor.name = req.body.name || supervisor.name; supervisor.name = req.body.name || supervisor.name;
supervisor.surname = req.body.surname || supervisor.surname; supervisor.surname = req.body.surname || supervisor.surname;
supervisor.gender = req.body.gender || supervisor.gender; supervisor.gender = req.body.gender || supervisor.gender;
...@@ -493,18 +496,12 @@ module.exports = { ...@@ -493,18 +496,12 @@ module.exports = {
supervisor.ttsEngine = req.body.ttsEngine || supervisor.ttsEngine; supervisor.ttsEngine = req.body.ttsEngine || supervisor.ttsEngine;
supervisor.office = req.body.office || supervisor.office; supervisor.office = req.body.office || supervisor.office;
supervisor.save(function (error) { supervisor.save(function (error) {
if (error) { if (error) throw error;
res.serverError(); return res.ok(supervisor);
} else {
res.ok(supervisor);
}
}); });
} else {
res.notFound();
}
}) })
.catch(function () { .catch(function (err) {
res.serverError(); return res.serverError(err);
}); });
}, },
......
...@@ -44,7 +44,7 @@ module.exports = { ...@@ -44,7 +44,7 @@ module.exports = {
lang: { lang: {
required: true, required: true,
type: "string", type: "string",
size: 2 size: 5
}, },
contactPerson: { contactPerson: {
columnName: "contact_person", columnName: "contact_person",
...@@ -88,6 +88,7 @@ module.exports = { ...@@ -88,6 +88,7 @@ module.exports = {
collection: "Student", collection: "Student",
via: 'office' via: 'office'
}, },
toJSON: function() { toJSON: function() {
var office = this.toObject(); var office = this.toObject();
if (!office.logoUrl) if (!office.logoUrl)
......
...@@ -74,7 +74,7 @@ module.exports = { ...@@ -74,7 +74,7 @@ module.exports = {
lang: { lang: {
required: true, required: true,
type: "string", type: "string",
size: 2 size: 5
}, },
ttsEngine: { ttsEngine: {
columnName: 'tts_engine', columnName: 'tts_engine',
...@@ -143,7 +143,7 @@ module.exports = { ...@@ -143,7 +143,7 @@ module.exports = {
// //
beforeCreate: function (attrs, next) { beforeCreate: function (attrs, next) {
var async = require('async'); var async = require('async');
console.log("-->\n" + JSON.stringify(attrs));
async.series( async.series(
[ [
function (cb) { function (cb) {
...@@ -203,7 +203,8 @@ module.exports = { ...@@ -203,7 +203,8 @@ module.exports = {
var bcrypt = require('bcrypt-nodejs'); var bcrypt = require('bcrypt-nodejs');
if (attrs.password && attrs.password.length > 0) { if (attrs.password && attrs.password.length > 0) {
attrs.password = bcrypt.hashSync(attrs.password, bcrypt.genSaltSync()); attrs.password = bcrypt.hashSync(attrs.password, bcrypt.genSaltSync());
} } else
delete attrs.password;
cb(); cb();
} }
], ],
......
...@@ -21,7 +21,7 @@ function SignInCtrl($scope, ...@@ -21,7 +21,7 @@ function SignInCtrl($scope,
name: '', name: '',
surname: '', surname: '',
address: '', address: '',
postal_code: '', postalCode: '',
country: '00', country: '00',
phone: '', phone: '',
gender: 'F', gender: 'F',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment