Fixes up some more password changing quirks
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
function currentUserResource($q, $http, umbRequestHelper) {
|
function currentUserResource($q, $http, umbRequestHelper, umbDataFormatter) {
|
||||||
|
|
||||||
//the factory object returned
|
//the factory object returned
|
||||||
return {
|
return {
|
||||||
@@ -38,8 +38,11 @@ function currentUserResource($q, $http, umbRequestHelper) {
|
|||||||
*/
|
*/
|
||||||
changePassword: function (changePasswordArgs) {
|
changePassword: function (changePasswordArgs) {
|
||||||
|
|
||||||
changePasswordArgs = _.omit(changePasswordArgs, "confirm");
|
changePasswordArgs = umbDataFormatter.formatChangePasswordModel(changePasswordArgs);
|
||||||
|
if (!changePasswordArgs) {
|
||||||
|
throw 'No password data to change';
|
||||||
|
}
|
||||||
|
|
||||||
return umbRequestHelper.resourcePromise(
|
return umbRequestHelper.resourcePromise(
|
||||||
$http.post(
|
$http.post(
|
||||||
umbRequestHelper.getApiUrl(
|
umbRequestHelper.getApiUrl(
|
||||||
|
|||||||
@@ -7,8 +7,30 @@
|
|||||||
* @description A helper object used to format/transform JSON Umbraco data, mostly used for persisting data to the server
|
* @description A helper object used to format/transform JSON Umbraco data, mostly used for persisting data to the server
|
||||||
**/
|
**/
|
||||||
function umbDataFormatter() {
|
function umbDataFormatter() {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
||||||
|
formatChangePasswordModel: function(model) {
|
||||||
|
if (!model) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
var trimmed = _.omit(model, ["confirm", "generatedPassword"])
|
||||||
|
|
||||||
|
//ensure that the pass value is null if all child properties are null
|
||||||
|
var allNull = true;
|
||||||
|
var vals = _.values(trimmed);
|
||||||
|
for (var k = 0; k < vals.length; k++) {
|
||||||
|
if (vals[k] !== null && vals[k] !== undefined) {
|
||||||
|
allNull = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (allNull) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return trimmed;
|
||||||
|
},
|
||||||
|
|
||||||
formatContentTypePostData: function (displayModel, action) {
|
formatContentTypePostData: function (displayModel, action) {
|
||||||
|
|
||||||
//create the save model from the display model
|
//create the save model from the display model
|
||||||
@@ -82,7 +104,7 @@
|
|||||||
|
|
||||||
//create the save model from the display model
|
//create the save model from the display model
|
||||||
var saveModel = _.pick(displayModel, 'id', 'parentId', 'name', 'username', 'culture', 'email', 'startContentIds', 'startMediaIds', 'userGroups', 'message', 'changePassword');
|
var saveModel = _.pick(displayModel, 'id', 'parentId', 'name', 'username', 'culture', 'email', 'startContentIds', 'startMediaIds', 'userGroups', 'message', 'changePassword');
|
||||||
saveModel.changePassword = _.omit(saveModel.changePassword, "confirm");
|
saveModel.changePassword = this.formatChangePasswordModel(saveModel.changePassword);
|
||||||
|
|
||||||
//make sure the userGroups are just a string array
|
//make sure the userGroups are just a string array
|
||||||
var currGroups = saveModel.userGroups;
|
var currGroups = saveModel.userGroups;
|
||||||
@@ -222,7 +244,8 @@
|
|||||||
});
|
});
|
||||||
saveModel.email = propEmail.value;
|
saveModel.email = propEmail.value;
|
||||||
saveModel.username = propLogin.value;
|
saveModel.username = propLogin.value;
|
||||||
saveModel.password = _.omit(propPass.value, "confirm");
|
|
||||||
|
saveModel.password = this.formatChangePasswordModel(propPass.value);
|
||||||
|
|
||||||
var selectedGroups = [];
|
var selectedGroups = [];
|
||||||
for (var n in propGroups.value) {
|
for (var n in propGroups.value) {
|
||||||
|
|||||||
@@ -67,10 +67,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<pre>
|
|
||||||
{{config | json}}
|
|
||||||
</pre>
|
|
||||||
<pre>
|
|
||||||
{{passwordValues | json}}
|
|
||||||
</pre>
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user