Fixed bug that didn't allow user to rearrange form fields

This commit is contained in:
David Baldwynn 2017-08-02 16:05:17 -04:00
parent 7ab619615e
commit f13d0cf077
6 changed files with 24 additions and 15 deletions

View file

@ -198,6 +198,10 @@ var readForRender = exports.readForRender = function(req, res) {
*/ */
exports.update = function(req, res) { exports.update = function(req, res) {
var form = req.form; var form = req.form;
var updatedForm = req.body.form;
delete updatedForm.__v;
delete updatedForm.created;
if (req.body.changes) { if (req.body.changes) {
var formChanges = req.body.changes; var formChanges = req.body.changes;
@ -207,8 +211,8 @@ exports.update = function(req, res) {
}); });
} else { } else {
//Unless we have 'admin' privileges, updating form admin is disabled //Unless we have 'admin' privileges, updating form admin is disabled
if(req.body.form && req.user.roles.indexOf('admin') === -1) { if(updatedForm && req.user.roles.indexOf('admin') === -1) {
delete req.body.form.admin; delete updatedForm.admin;
} }
if(form.analytics === null){ if(form.analytics === null){
@ -224,11 +228,12 @@ exports.update = function(req, res) {
delete field._id; delete field._id;
} }
} }
form = _.extend(form, req.body.form); form = _.extend(form, updatedForm);
} }
form.save(function(err, savedForm) { form.save(function(err, savedForm) {
if (err) { if (err) {
console.log(err);
res.status(405).send({ res.status(405).send({
message: errorHandler.getErrorMessage(err) message: errorHandler.getErrorMessage(err)
}); });

View file

@ -49,7 +49,8 @@
"angular": "1.4.14", "angular": "1.4.14",
"angular-ui-select": "compiled", "angular-ui-select": "compiled",
"jspdf": "~1.0.178", "jspdf": "~1.0.178",
"angular-sanitize": "1.4.14" "angular-sanitize": "1.4.14",
"angular-ui-sortable": "^0.17.1"
}, },
"overrides": { "overrides": {
"BOWER-PACKAGE": { "BOWER-PACKAGE": {

View file

@ -2785,8 +2785,10 @@ angular.module('forms').directive('editFormDirective', ['$rootScope', 'FormField
forceHelperSize: true, forceHelperSize: true,
forcePlaceholderSize: true, forcePlaceholderSize: true,
update: function(e, ui) { update: function(e, ui) {
console.log(ui);
console.log(e);
console.log($scope.myform.form_fields);
$scope.update(false, $scope.myform, false, false, function(err){ $scope.update(false, $scope.myform, false, false, function(err){
if(!err) $scope.myform.form_fields.push(newField);
}); });
}, },
start: function(e, ui) { start: function(e, ui) {

File diff suppressed because one or more lines are too long

View file

@ -19,15 +19,16 @@ angular.module('forms').directive('editFormDirective', ['$rootScope', 'FormField
//Setup UI-Sortable //Setup UI-Sortable
$scope.sortableOptions = { $scope.sortableOptions = {
appendTo: '.dropzone', appendTo: '.dropzone',
helper: 'clone', //helper: 'clone',
forceHelperSize: true, forceHelperSize: true,
forcePlaceholderSize: true, forcePlaceholderSize: true,
update: function(e, ui) { update: function(e, ui) {
console.log(ui.item.sortable.model);
$scope.update(false, $scope.myform, false, false, function(err){ $scope.update(false, $scope.myform, false, false, function(err){
if(!err) $scope.myform.form_fields.push(newField);
}); });
}, },
start: function(e, ui) { start: function(e, ui) {
console.log(ui)
} }
}; };

View file

@ -556,7 +556,7 @@
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-10 dropzoneContainer"> <div class="col-sm-12 col-md-10 dropzoneContainer">
<div class="panel-group dropzone" ui-sortable="sortableOptions"> <div class="panel-group dropzone" ui-sortable="sortableOptions" ng-model="myform.form_fields">
<div class="panel panel-default" ng-repeat="field in myform.form_fields" <div class="panel panel-default" ng-repeat="field in myform.form_fields"
ng-if="!field.deletePreserved" ng-if="!field.deletePreserved"