Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed May 22, 2014
2 parents f0729be + b843d3a commit ebfbeb7
Show file tree
Hide file tree
Showing 59 changed files with 1,833 additions and 381 deletions.
Expand Up @@ -26,6 +26,7 @@
public class AceEditor extends TextArea<String> {

private IModel<Boolean> readonly = new Model(false);
private int minSize = 200;

public AceEditor(String id, IModel<String> model) {
super(id, model);
Expand All @@ -37,11 +38,22 @@ public void renderHead(IHeaderResponse response) {
super.renderHead(response);

StringBuilder sb = new StringBuilder();
sb.append("initEditor('").append(getMarkupId()).append("',").append(readonly.getObject()).append(");");
sb.append("initEditor('").append(getMarkupId());
sb.append("',").append(readonly.getObject());
sb.append(",").append(minSize);
sb.append(");");

response.render(OnDomReadyHeaderItem.forScript(sb.toString()));
}

public int getMinSize() {
return minSize;
}

public void setMinSize(int minSize) {
this.minSize = minSize;
}

public void setReadonly(boolean readonly) {
this.readonly.setObject(readonly);
}
Expand Down
Expand Up @@ -186,9 +186,16 @@ private VisibleEnableBehaviour createFetchErrorVisibleBehaviour() {
@Override
public boolean isVisible() {
OperationResult fetchResult = getModelObject().getFetchResult();
if (fetchResult != null && !WebMiscUtil.isSuccessOrHandledError(fetchResult)) {
return true;
}

OperationResult result = getModelObject().getResult();
return !WebMiscUtil.isSuccessOrHandledError(fetchResult)
|| !WebMiscUtil.isSuccessOrHandledError(result);
if (result != null && !WebMiscUtil.isSuccessOrHandledError(result)) {
return true;
}

return false;
}
};
}
Expand Down
Expand Up @@ -18,7 +18,9 @@
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<div class="col-xs-10" style="padding-left: 5px;">
<h3 wicket:id="title"/>
<span wicket:id="status"/>
<h3 style="display: inline-block;" wicket:id="title"/>
<a wicket:id="showMore"><wicket:message key="H3Header.showMore"/></a>
</div>
<div class="col-xs-2 cog" wicket:id="menu"/>
</wicket:panel>
Expand Down
Expand Up @@ -16,11 +16,17 @@

package com.evolveum.midpoint.web.component.prism;

import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.web.component.BootstrapLabel;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenu;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.util.SimplePanel;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.web.page.PageBase;
import com.evolveum.midpoint.web.util.WebMiscUtil;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.IModel;
Expand All @@ -36,6 +42,8 @@
*/
public class H3Header extends SimplePanel<ObjectWrapper> {

private static final String ID_STATUS = "status";
private static final String ID_SHOW_MORE = "showMore";
private static final String ID_TITLE = "title";
private static final String ID_MENU = "menu";

Expand Down Expand Up @@ -67,6 +75,54 @@ public boolean isVisible() {
}
});
add(menu);

BootstrapLabel status = new BootstrapLabel(ID_STATUS, createStringResource("H3Header.label.error"),
new Model(BootstrapLabel.State.DANGER));
status.add(createFetchErrorVisibleBehaviour());
add(status);
AjaxLink showMore = new AjaxLink(ID_SHOW_MORE) {

@Override
public void onClick(AjaxRequestTarget target) {
onShowMorePerformed(target);
}
};
showMore.add(createFetchErrorVisibleBehaviour());
add(showMore);
}

private VisibleEnableBehaviour createFetchErrorVisibleBehaviour() {
return new VisibleEnableBehaviour() {

@Override
public boolean isVisible() {
OperationResult fetchResult = getModelObject().getFetchResult();
if (fetchResult != null && !WebMiscUtil.isSuccessOrHandledError(fetchResult)) {
return true;
}

OperationResult result = getModelObject().getResult();
if (result != null && !WebMiscUtil.isSuccessOrHandledError(result)) {
return true;
}

return false;
}
};
}

protected void onShowMorePerformed(AjaxRequestTarget target){
showResult(getModelObject().getFetchResult());
showResult(getModelObject().getResult());

target.add(getPageBase().getFeedbackPanel());
}

private void showResult(OperationResult result) {
PageBase page = getPageBase();
if (!WebMiscUtil.isSuccessOrHandledError(result)) {
page.showResult(result);
}
}

private String getDisplayName() {
Expand Down
@@ -0,0 +1,18 @@
#
# Copyright (c) 2010-2014 Evolveum
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

H3Header.showMore=Show more
H3Header.label.error=Error
Expand Up @@ -396,16 +396,18 @@ public Task createSimpleTask(String operation) {
}

public void showResult(OperationResult result) {
Validate.notNull(result, "Operation result must not be null.");
Validate.notNull(result.getStatus(), "Operation result status must not be null.");
if (result == null) {
return;
}

OpResult opResult = new OpResult(result);
showResult(opResult, false);
}

public void showResultInSession(OperationResult result) {
Validate.notNull(result, "Operation result must not be null.");
Validate.notNull(result.getStatus(), "Operation result status must not be null.");
if (result == null) {
return;
}

OpResult opResult = new OpResult(result);
showResult(opResult, true);
Expand Down
Expand Up @@ -170,7 +170,7 @@ private MenuBarItem createReportsItems() {

private MenuBarItem createConfigurationItems() {
MenuBarItem configuration = new MenuBarItem(createStringResource("PageAdmin.menu.top.configuration"), null);
// configuration.addMenuItem(new MenuItem(createStringResource("PageAdmin.menu.top.configuration.bulkActions"), PageDashboard.class));
configuration.addMenuItem(new MenuItem(createStringResource("PageAdmin.menu.top.configuration.bulkActions"), PageBulkAction.class));
configuration.addMenuItem(new MenuItem(createStringResource("PageAdmin.menu.top.configuration.importObject"), PageImportObject.class));
configuration.addMenuItem(new MenuItem(createStringResource("PageAdmin.menu.top.configuration.repositoryObjects"), PageDebugList.class));
configuration.addMenuItem(new MenuItem(null));
Expand Down
Expand Up @@ -530,11 +530,21 @@ protected boolean handleObject(PrismObject object, OperationResult parentResult)
}

private Writer createWriter(String fileName) throws IOException {
//todo improve!!!!
//todo improve!!!!!!!

MidpointConfiguration config = getMidpointConfiguration();
File file = new File(config.getMidpointHome() + "/export/" + fileName);
file.createNewFile();
File exportFolder = new File(config.getMidpointHome() + "/export/");
File file = new File(exportFolder, fileName);
try {
if (!exportFolder.exists() || !exportFolder.isDirectory()) {
exportFolder.mkdir();
}

file.createNewFile();
} catch (Exception ex) {
error(getString("PageAccounts.exportFileDoesntExist", file.getAbsolutePath()));
throw ex;
}

return new OutputStreamWriter(new FileOutputStream(file), "utf-8");
}
Expand Down
Expand Up @@ -36,4 +36,5 @@ PageAccounts.accounts.synchronizationSituation=Situation
PageAccounts.accounts.synchronizationTimestamp=Timestamp
PageAccounts.accounts.description=Description
PageAccounts.exportException=Error occurred during export, reason {0}
PageAccounts.button.clearExportFolder=Clear export folder
PageAccounts.button.clearExportFolder=Clear export folder
PageAccounts.exportFileDoesntExist=Couldn't create file {0}
Expand Up @@ -18,8 +18,25 @@
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
<body>
<wicket:extend>
<form wicket:id="mainForm">
<!--todo implement-->
<form wicket:id="mainForm" class="form-horizontal">
<div class="form-group">
<label class="col-md-2 control-label"><wicket:message key="PageBulkAction.options"/></label>

<div class="col-md-8">
<div>
<label class="col-md-2 checkbox-inline">
<input type="checkbox" wicket:id="async">
<wicket:message key="PageBulkAction.async"/>
</label>
</div>
</div>
</div>

<div class="form-group">
<div class="col-md-12">
<textarea wicket:id="editor"></textarea>
</div>
</div>

<div class="main-button-bar">
<a class="btn btn-primary" wicket:id="start"/>
Expand Down
Expand Up @@ -14,33 +14,53 @@
* limitations under the License.
*/

package com.evolveum.midpoint.web.page.admin.users;
package com.evolveum.midpoint.web.page.admin.configuration;

import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.web.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.AceEditor;
import com.evolveum.midpoint.web.component.AjaxSubmitButton;

import com.evolveum.midpoint.web.page.admin.configuration.dto.BulkActionDto;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

/**
* @author lazyman
*/
@PageDescriptor(url = "/admin/users/bulk", action = {@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_DENY_ALL)})
public class PageBulkUsers extends PageAdminUsers {
@PageDescriptor(url = "/admin/config/bulk", action = {
@AuthorizationAction(actionUri = PageAdminConfiguration.AUTH_CONFIGURATION_ALL,
label = PageAdminConfiguration.AUTH_CONFIGURATION_ALL_LABEL, description = PageAdminConfiguration.AUTH_CONFIGURATION_ALL_DESCRIPTION),
@AuthorizationAction(actionUri = AuthorizationConstants.NS_AUTHORIZATION + "#bulkAction",
label = "PageBulkAction.auth.bulkAction.label", description = "PageBulkAction.auth.bulkAction.description")
})
public class PageBulkAction extends PageAdminConfiguration {

private static final String ID_MAIN_FORM = "mainForm";
private static final String ID_START = "start";
private static final String ID_EDITOR = "editor";
private static final String ID_ASYNC = "async";

private IModel<BulkActionDto> model = new Model<>(new BulkActionDto());

public PageBulkUsers() {
public PageBulkAction() {
initLayout();
}

private void initLayout() {
Form mainForm = new Form(ID_MAIN_FORM);
add(mainForm);

CheckBox async = new CheckBox(ID_ASYNC, new PropertyModel<Boolean>(model, BulkActionDto.F_ASYNC));
mainForm.add(async);

AceEditor editor = new AceEditor(ID_EDITOR, new PropertyModel<String>(model, BulkActionDto.F_SCRIPT));
mainForm.add(editor);

AjaxSubmitButton start = new AjaxSubmitButton(ID_START, createStringResource("PageBulkUsers.button.start")) {

@Override
Expand All @@ -57,6 +77,8 @@ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
}

private void startPerformed(AjaxRequestTarget target) {
model.getObject();

//todo implement
}
}
Expand Up @@ -15,3 +15,5 @@
#
page.title=User bulk actions
PageBulkUsers.button.start=Start
PageBulkAction.async=Asynchronous
PageBulkAction.options=Options
Expand Up @@ -318,14 +318,14 @@ public void onSubmit(AjaxRequestTarget target, Form<?> form) {
}
}));

headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteAllType"), true,
new HeaderMenuAction(this) {

@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deleteAllType(target);
}
}));
// headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteAllType"), true,
// new HeaderMenuAction(this) {
//
// @Override
// public void onSubmit(AjaxRequestTarget target, Form<?> form) {
// deleteAllType(target);
// }
// }));

headerMenuItems.add(new InlineMenuItem());

Expand Down
Expand Up @@ -354,7 +354,7 @@ private void savePerformed(AjaxRequestTarget target) {
LoggingUtils.logException(LOGGER,"Couldn't save system configuration.", e);
}

showResult(result);
showResultInSession(result);
target.add(getFeedbackPanel());
resetPerformed(target);
}
Expand Down

0 comments on commit ebfbeb7

Please sign in to comment.