diff --git a/client/app/dashboard/model/edit/ModelEdit.js b/client/app/dashboard/model/edit/ModelEdit.js index bce18795..046f1860 100644 --- a/client/app/dashboard/model/edit/ModelEdit.js +++ b/client/app/dashboard/model/edit/ModelEdit.js @@ -9,7 +9,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ 'ui.bootstrap', 'ui.bootstrap.datepicker', 'ui.bootstrap.modal', - 'ngCookies' + 'ngCookies' ]) .config(function config($stateProvider) { @@ -69,7 +69,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ //Loop through fields and check for forced default fields GeneralModelService.checkDefaultValues($scope.model, $scope.data); - + //Check to see if editing model var id = null; if ($stateParams.id && $stateParams.id > 0) id = $stateParams.id; @@ -125,7 +125,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ */ function save(callback) { var id = $scope.data[$scope.action.options.key]; - GeneralModelService.saveWithFiles($scope.model.name, id, $scope.data) + GeneralModelService.saveWithFiles($scope.model.name, id, $scope.data, $scope.action.options.upsertApi) .then(function(response) { if (modalInstance) modalInstance.close(); $rootScope.$broadcast('modelEditSaved'); @@ -181,7 +181,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ } }); }; - + $scope.clickDeleteModel = function(data, formParams) { $scope.deleteDialogText = (formParams && formParams.deleteDialogText) ? formParams.deleteDialogText : $scope.deleteDialogText; if (!confirm($scope.deleteDialogText)) return; @@ -213,7 +213,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ }); } }; - + /** * Checks if the user access to edit the field for this Model */ @@ -247,7 +247,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ if (!$cookies.roles) { return false; //user has no role access } - + var userRoles = JSON.parse($cookies.roles); for (var i in userRoles) { var role = userRoles[i]; @@ -257,7 +257,7 @@ angular.module('dashboard.Dashboard.Model.Edit', [ } return false; }; - + init(); }) diff --git a/client/common/services/GeneralModelService.js b/client/common/services/GeneralModelService.js index 52cc3042..3314f5cf 100644 --- a/client/common/services/GeneralModelService.js +++ b/client/common/services/GeneralModelService.js @@ -97,8 +97,8 @@ angular.module('dashboard.services.GeneralModel', [ * The CMS exposes the /model/save API that can take in model data * in hierarchical format */ - this.save = function(model, id, params) { - var path = Config.serverParams.cmsBaseUrl + '/model/save'; + this.save = function(model, id, params, upsertApi) { + var path = upsertApi || Config.serverParams.cmsBaseUrl + '/model/save'; params.__model = model; params.__id = id; params.__accessToken = $cookies.accessToken; @@ -112,9 +112,10 @@ angular.module('dashboard.services.GeneralModel', [ * @param model * @param id * @param data + * @param upsertApi * @returns {promise.promise|Function|deferred.promise|{then, catch, finally}|*|r.promise} */ - this.saveWithFiles = function(model, id, data) { + this.saveWithFiles = function(model, id, data, upsertApi) { var modelDef = Config.serverParams.models[model]; var deferred = $q.defer(); @@ -179,7 +180,7 @@ angular.module('dashboard.services.GeneralModel', [ uploadFiles(function() { //Loop through fields and check for forced default fields self.checkDefaultValues(modelDef, data); - self.save(model, id, data).then( + self.save(model, id, data, upsertApi).then( function(result) { deferred.resolve(result); },