removed stackTrace from 500 error page when running in production mode
This commit is contained in:
parent
5587c03065
commit
22b2ca7910
@ -165,14 +165,19 @@ exports.read = function(req, res) {
|
||||
* Show the current form for rendering form live
|
||||
*/
|
||||
var readForRender = exports.readForRender = function(req, res) {
|
||||
var newForm = req.form.toJSON();
|
||||
var newForm = req.form;
|
||||
if (!newForm.isLive && !req.user) {
|
||||
return res.status(401).send({
|
||||
message: 'Form is Not Public'
|
||||
});
|
||||
}
|
||||
|
||||
delete newForm.submissions;
|
||||
//delete newForm.analytics;
|
||||
delete newForm.admin;
|
||||
delete newForm.lastModified;
|
||||
delete newForm.__v;
|
||||
delete newForm.created;
|
||||
|
||||
if(!newForm.startPage.showStart){
|
||||
delete newForm.startPage;
|
||||
@ -321,8 +326,8 @@ exports.formByIDFast = function(req, res, next, id) {
|
||||
});
|
||||
}
|
||||
Form.findById(id)
|
||||
.select('title', 'language', 'form_fields', 'startPage', 'endPage', 'hideFooter', 'isLive', 'design', 'admin', 'analytics.gaCode')
|
||||
.populate()
|
||||
.select('title language form_fields startPage endPage hideFooter isLive design admin analytics.gaCode')
|
||||
.populate('admin')
|
||||
.cache()
|
||||
.lean()
|
||||
.exec(function(err, form) {
|
||||
@ -336,10 +341,11 @@ exports.formByIDFast = function(req, res, next, id) {
|
||||
else {
|
||||
//Remove sensitive information from User object
|
||||
var _form = form;
|
||||
if(_form.admin){
|
||||
_form.admin.password = null;
|
||||
_form.admin.salt = null;
|
||||
_form.provider = null;
|
||||
|
||||
}
|
||||
req.form = _form;
|
||||
return next();
|
||||
}
|
||||
|
||||
@ -17,14 +17,14 @@ module.exports = function(app) {
|
||||
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formId([a-zA-Z0-9]+)')
|
||||
.post(forms.createSubmission);
|
||||
|
||||
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formId([a-zA-Z0-9]+)/render')
|
||||
app.route('/subdomain/:userSubdomain((?!api$)[A-Za-z0-9]+)/forms/:formIdFast([a-zA-Z0-9]+)/render')
|
||||
.get(forms.readForRender);
|
||||
|
||||
app.route('/forms/:formId([a-zA-Z0-9]+)/render')
|
||||
.put(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.readForRender)
|
||||
.get(auth.isAuthenticatedOrApiKey, forms.hasAuthorization, forms.readForRender);
|
||||
} else {
|
||||
app.route('/forms/:formId([a-zA-Z0-9]+)/render')
|
||||
app.route('/forms/:formIdFast([a-zA-Z0-9]+)/render')
|
||||
.get(forms.readForRender);
|
||||
}
|
||||
app.route('/forms')
|
||||
|
||||
@ -184,8 +184,6 @@ module.exports = function(db) {
|
||||
level: 9
|
||||
}));
|
||||
|
||||
// Showing stack errors
|
||||
app.set('showStackError', true);
|
||||
|
||||
// Set swig as the template engine
|
||||
app.engine('server.view.html', consolidate[config.templateEngine]);
|
||||
@ -296,10 +294,16 @@ module.exports = function(db) {
|
||||
// Log it
|
||||
client.captureError(err);
|
||||
|
||||
// Error page
|
||||
res.status(500).render('500', {
|
||||
error: err.stack
|
||||
});
|
||||
if(process.env.NODE_ENV === 'production'){
|
||||
res.status(500).render('500', {
|
||||
error: 'Internal Server Error'
|
||||
});
|
||||
} else {
|
||||
// Error page
|
||||
res.status(500).render('500', {
|
||||
error: err.stack
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Assume 404 since no middleware responded
|
||||
|
||||
8
public/dist/application.js
vendored
8
public/dist/application.js
vendored
@ -2674,7 +2674,7 @@ angular.module('forms').directive('editSubmissionsFormDirective', ['$rootScope',
|
||||
|
||||
//Export selected submissions of Form
|
||||
$scope.exportSubmissions = function(type){
|
||||
angular.element('#table-submission-data').tableExport({type: type, escape:false});
|
||||
angular.element('#table-submission-data').tableExport({type: type, escape:false, ignoreColumn: [0]});
|
||||
};
|
||||
|
||||
}]
|
||||
@ -4460,7 +4460,9 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
|
||||
form.timeElapsed = _timeElapsed;
|
||||
form.percentageComplete = $filter('formValidity')($scope.myform) / $scope.myform.visible_form_fields.length * 100;
|
||||
delete form.visible_form_fields;
|
||||
|
||||
delete form.analytics;
|
||||
delete form.design;
|
||||
delete form.submissions;
|
||||
for(var i=0; i < $scope.myform.form_fields.length; i++){
|
||||
if($scope.myform.form_fields[i].fieldType === 'dropdown' && !$scope.myform.form_fields[i].deletePreserved){
|
||||
$scope.myform.form_fields[i].fieldValue = $scope.myform.form_fields[i].fieldValue.option_value;
|
||||
@ -4472,7 +4474,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
|
||||
.success(function (data, status) {
|
||||
$scope.myform.submitted = true;
|
||||
$scope.loading = false;
|
||||
SendVisitorData.send($scope.myform, getActiveField(), _timeElapsed);
|
||||
SendVisitorData.send(form, getActiveField(), _timeElapsed);
|
||||
})
|
||||
.error(function (error) {
|
||||
$scope.loading = false;
|
||||
|
||||
4
public/dist/application.min.js
vendored
4
public/dist/application.min.js
vendored
File diff suppressed because one or more lines are too long
6
public/dist/form-application.js
vendored
6
public/dist/form-application.js
vendored
@ -942,7 +942,9 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
|
||||
form.timeElapsed = _timeElapsed;
|
||||
form.percentageComplete = $filter('formValidity')($scope.myform) / $scope.myform.visible_form_fields.length * 100;
|
||||
delete form.visible_form_fields;
|
||||
|
||||
delete form.analytics;
|
||||
delete form.design;
|
||||
delete form.submissions;
|
||||
for(var i=0; i < $scope.myform.form_fields.length; i++){
|
||||
if($scope.myform.form_fields[i].fieldType === 'dropdown' && !$scope.myform.form_fields[i].deletePreserved){
|
||||
$scope.myform.form_fields[i].fieldValue = $scope.myform.form_fields[i].fieldValue.option_value;
|
||||
@ -954,7 +956,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
|
||||
.success(function (data, status) {
|
||||
$scope.myform.submitted = true;
|
||||
$scope.loading = false;
|
||||
SendVisitorData.send($scope.myform, getActiveField(), _timeElapsed);
|
||||
SendVisitorData.send(form, getActiveField(), _timeElapsed);
|
||||
})
|
||||
.error(function (error) {
|
||||
$scope.loading = false;
|
||||
|
||||
2
public/dist/form-application.min.js
vendored
2
public/dist/form-application.min.js
vendored
File diff suppressed because one or more lines are too long
@ -339,7 +339,9 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
|
||||
form.timeElapsed = _timeElapsed;
|
||||
form.percentageComplete = $filter('formValidity')($scope.myform) / $scope.myform.visible_form_fields.length * 100;
|
||||
delete form.visible_form_fields;
|
||||
|
||||
delete form.analytics;
|
||||
delete form.design;
|
||||
delete form.submissions;
|
||||
for(var i=0; i < $scope.myform.form_fields.length; i++){
|
||||
if($scope.myform.form_fields[i].fieldType === 'dropdown' && !$scope.myform.form_fields[i].deletePreserved){
|
||||
$scope.myform.form_fields[i].fieldValue = $scope.myform.form_fields[i].fieldValue.option_value;
|
||||
@ -351,7 +353,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
|
||||
.success(function (data, status) {
|
||||
$scope.myform.submitted = true;
|
||||
$scope.loading = false;
|
||||
SendVisitorData.send($scope.myform, getActiveField(), _timeElapsed);
|
||||
SendVisitorData.send(form, getActiveField(), _timeElapsed);
|
||||
})
|
||||
.error(function (error) {
|
||||
$scope.loading = false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user