use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class UpdateUser method updateUser.
/**
* Updates user details
* @param user User with updated details
*/
public void updateUser(User user) {
if (user == null) {
UiElements.generateAlert("Parameter error", "User to update can't be null");
return;
}
// OBJECT
JSONObject oldUser = new JSONObject(user);
// RECONSTRUCT OBJECT
JSONObject newUser = new JSONObject();
newUser.put("id", oldUser.get("id"));
newUser.put("firstName", oldUser.get("firstName"));
newUser.put("middleName", oldUser.get("middleName"));
newUser.put("lastName", oldUser.get("lastName"));
newUser.put("titleBefore", oldUser.get("titleBefore"));
newUser.put("titleAfter", oldUser.get("titleAfter"));
newUser.put("serviceUser", oldUser.get("serviceUser"));
newUser.put("sponsoredUser", oldUser.get("sponsoredUser"));
// whole JSON query
JSONObject jsonQuery = new JSONObject();
jsonQuery.put("user", newUser);
// new events
JsonCallbackEvents newEvents = new JsonCallbackEvents() {
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Updating user failed.");
events.onError(error);
}
public void onFinished(JavaScriptObject jso) {
User u = jso.cast();
session.getUiElements().setLogSuccessText("User " + u.getFullNameWithTitles() + " successfully updated!");
events.onFinished(jso);
}
public void onLoadingStart() {
events.onLoadingStart();
}
};
// sending data
JsonPostClient jspc = new JsonPostClient(newEvents);
jspc.sendData(JSON_URL, jsonQuery);
}
use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class CreatePassword method createRandomPassword.
/**
* Create empty password for the user - random password is generated on KDC side
*
* @param userId user to set password for
* @param login used for validation only
* @param namespace defined login in namespace
*/
public void createRandomPassword(int userId, String login, String namespace) {
this.userId = userId;
this.namespace = namespace;
this.login = login;
// test arguments
String errorMsg = "";
if (userId == 0) {
errorMsg += "<p>User ID can't be 0.";
}
if (namespace.isEmpty()) {
errorMsg += "<p>Namespace can't be empty.";
}
if (login.isEmpty()) {
errorMsg += "<p>Login to create password for can't be empty.";
}
if (errorMsg.length() > 0) {
Confirm c = new Confirm("Error while creating password.", new HTML(errorMsg), true);
c.show();
return;
}
// final events
final JsonCallbackEvents newEvents = new JsonCallbackEvents() {
@Override
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Creating password failed.");
// custom events
events.onError(error);
}
@Override
public void onFinished(JavaScriptObject jso) {
session.getUiElements().setLogSuccessText("Password created successfully.");
events.onFinished(jso);
}
};
// validate event
JsonCallbackEvents validateEvent = new JsonCallbackEvents() {
@Override
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Creating password failed.");
// custom events
events.onError(error);
}
@Override
public void onFinished(JavaScriptObject jso) {
JsonPostClient jspc = new JsonPostClient(newEvents);
jspc.sendData(JSON_URL_VALIDATE, validateCallJSON());
}
@Override
public void onLoadingStart() {
events.onLoadingStart();
}
};
// sending data
JsonPostClient jspc = new JsonPostClient(validateEvent);
jspc.sendData(JSON_URL_RESERVE_RANDOM, prepareJSONObject());
}
use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class CreatePassword method createPassword.
/**
* Changes password for the user
*
* @param userId user to set password for
* @param login used for validation only
* @param namespace defined login in namespace
* @param pass password to set
*/
public void createPassword(int userId, String login, String namespace, String pass) {
this.userId = userId;
this.namespace = namespace;
this.pass = pass;
this.login = login;
// test arguments
if (!this.testAdding()) {
return;
}
// final events
final JsonCallbackEvents newEvents = new JsonCallbackEvents() {
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Creating password failed.");
// custom events
events.onError(error);
}
public void onFinished(JavaScriptObject jso) {
session.getUiElements().setLogSuccessText("Password created successfully.");
events.onFinished(jso);
}
};
// validate event
JsonCallbackEvents validateEvent = new JsonCallbackEvents() {
@Override
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Creating password failed.");
// custom events
events.onError(error);
}
@Override
public void onFinished(JavaScriptObject jso) {
JsonPostClient jspc = new JsonPostClient(newEvents);
jspc.sendData(JSON_URL_VALIDATE, validateCallJSON());
}
@Override
public void onLoadingStart() {
events.onLoadingStart();
}
};
// sending data
JsonPostClient jspc = new JsonPostClient(validateEvent);
jspc.sendData(JSON_URL_RESERVE, prepareJSONObject());
}
use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class AddSpecificUserOwner method addSpecificUser.
/**
* Create connection between user and service/specific user
*
* @param user
* @param specificUser
*/
public void addSpecificUser(final User user, final User specificUser) {
this.user = user;
this.specificUser = specificUser;
// test arguments
if (!this.testAdding()) {
return;
}
// new events
JsonCallbackEvents newEvents = new JsonCallbackEvents() {
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Adding " + specificUser.getFullName() + " to user: " + user.getFullName() + " failed.");
// custom events
events.onError(error);
}
public void onFinished(JavaScriptObject jso) {
session.getUiElements().setLogSuccessText("Service identity: " + specificUser.getFullName() + " added to user: " + user.getFullName());
events.onFinished(jso);
}
public void onLoadingStart() {
events.onLoadingStart();
}
};
// sending data
JsonPostClient jspc = new JsonPostClient(newEvents);
jspc.sendData(JSON_URL, prepareJSONObject());
}
use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class ChangePassword method changePassword.
/**
* Changes password for the user
*
* @param user User to change password for
* @param loginNamespace Login namespace
* @param oldPassword Old password for comparing
* @param newPassword New password
*/
public void changePassword(User user, String loginNamespace, String oldPassword, String newPassword) {
this.user = user;
this.loginNamespace = loginNamespace;
this.oldPassword = oldPassword;
this.newPassword = newPassword;
// test arguments
if (!this.testAdding()) {
return;
}
// new events
JsonCallbackEvents newEvents = new JsonCallbackEvents() {
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Changing password failed.");
// custom events
events.onError(error);
}
public void onFinished(JavaScriptObject jso) {
session.getUiElements().setLogSuccessText("Password changed successfully.");
events.onFinished(jso);
}
public void onLoadingStart() {
events.onLoadingStart();
}
};
// sending data
JsonPostClient jspc = new JsonPostClient(newEvents);
jspc.sendData(JSON_URL, prepareJSONObject());
}
Aggregations