use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class DeleteCategory method deleteCategory.
/**
* Attempts to delete a Category, it first tests the values and then submits them.
*
* @param categoryId ID of category to be deleted
*/
public void deleteCategory(final int categoryId) {
this.categoryId = categoryId;
// test arguments
if (!this.testDeleting()) {
return;
}
// json object
JSONObject jsonQuery = prepareJSONObject();
// local events
JsonCallbackEvents newEvents = new JsonCallbackEvents() {
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Deleting category " + categoryId + " failed.");
events.onError(error);
}
public void onFinished(JavaScriptObject jso) {
session.getUiElements().setLogSuccessText("Category " + categoryId + " deleted.");
events.onFinished(jso);
}
public void onLoadingStart() {
events.onLoadingStart();
}
};
// create request
JsonPostClient request = new JsonPostClient(newEvents);
request.sendData(JSON_URL, jsonQuery);
}
use of cz.metacentrum.perun.webgui.json.JsonCallbackEvents in project perun by CESNET.
the class SetLogin method setLogin.
/**
* Set new login for user
*
* @param user
* @param namespace
* @param login
*/
public void setLogin(final User user, final String namespace, final String login) {
this.user = user;
this.userId = user.getId();
this.login = login;
this.namespace = namespace;
// test arguments
if (!this.testAdding()) {
return;
}
// new events
JsonCallbackEvents newEvents = new JsonCallbackEvents() {
public void onError(PerunError error) {
session.getUiElements().setLogErrorText("Adding login to user: " + user.getFullName() + " failed.");
// custom events
events.onError(error);
}
public void onFinished(JavaScriptObject jso) {
session.getUiElements().setLogSuccessText("Login successfully 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 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());
}
Aggregations