CCM NG/ccm-cms: More forms for workflow management

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4450 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2016-11-22 08:35:09 +00:00
parent ae05156a71
commit a124b1ebd8
2 changed files with 25 additions and 26 deletions

View File

@ -29,22 +29,17 @@ import com.arsdigita.bebop.event.TableActionEvent;
import com.arsdigita.bebop.table.DefaultTableCellRenderer;
import com.arsdigita.bebop.table.TableCellRenderer;
import org.librecms.workflow.CmsTask;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.web.Web;
import java.math.BigDecimal;
import org.apache.log4j.Logger;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.security.Shiro;
import org.libreccm.security.User;
import org.libreccm.workflow.AssignableTask;
import org.libreccm.workflow.AssignableTaskManager;
import org.libreccm.workflow.AssignableTaskRepository;
import org.libreccm.workflow.WorkflowManager;
import org.librecms.CmsConstants;
import org.librecms.workflow.CmsTaskTypeRepository;
public final class AssignedTaskTable extends Table {
@ -70,8 +65,12 @@ public final class AssignedTaskTable extends Table {
final int column = event.getColumn();
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final AssignableTaskRepository userTaskRepo = cdiUtil.findBean(AssignableTaskRepository.class);
final WorkflowManager workflowManager = cdiUtil.findBean(WorkflowManager.class);
final AssignableTaskRepository userTaskRepo = cdiUtil.findBean(
AssignableTaskRepository.class);
final WorkflowManager workflowManager = cdiUtil.findBean(
WorkflowManager.class);
final AssignableTaskManager taskManager = cdiUtil.findBean(
AssignableTaskManager.class);
final Shiro shiro = cdiUtil.findBean(Shiro.class);
if (column == 1) {
@ -82,9 +81,9 @@ public final class AssignedTaskTable extends Table {
if (task.isLocked()
&& lockingUser != null
&& lockingUser.equals(currentUser)) {
workflowManager.unlockTask(task);
taskManager.unlockTask(task);
} else {
workflowManager.lockTask(task);
taskManager.lockTask(task);
}
}
}
@ -102,27 +101,27 @@ public final class AssignedTaskTable extends Table {
final int row,
final int column) {
// SF patch [ 1587168 ] Show locking user
BoxPanel p = new BoxPanel();
User lockingUser = (User) value;
final BoxPanel panel = new BoxPanel();
final User lockingUser = (User) value;
if (lockingUser != null) {
final StringBuilder sb = new StringBuilder("Locked by <br />");
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final Shiro shiro = cdiUtil.findBean(Shiro.class);
if (lockingUser.equals(shiro.getUser())) {
sb.append("you");
p.add(new ControlLink(new Label(
panel.add(new ControlLink(new Label(
gz("cms.ui.workflow.task.unlock"))));
} else {
sb.append(lockingUser.getName());
p.add(new ControlLink(new Label(
panel.add(new ControlLink(new Label(
gz("cms.ui.workflow.task.takeover"))));
}
p.add(new Label(sb.toString(), false));
panel.add(new Label(sb.toString(), false));
} else {
p.add(new ControlLink(
panel.add(new ControlLink(
new Label(gz("cms.ui.workflow.task.lock"))));
}
return p;
return panel;
}
}

View File

@ -26,12 +26,12 @@ import com.arsdigita.util.Assert;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.workflow.Workflow;
import org.libreccm.workflow.WorkflowConstants;
import org.libreccm.workflow.WorkflowManager;
import org.librecms.CmsConstants;
import java.util.Collections;
import java.util.Iterator;
import org.libreccm.workflow.WorkflowState;
/**
*
@ -62,7 +62,7 @@ class AssignedTaskTableModelBuilder extends AbstractTableModelBuilder {
final CdiUtil cdiUtil= CdiUtil.createCdiUtil();
final WorkflowManager workflowManager = cdiUtil.findBean(WorkflowManager.class);
if (workflowManager.getState(workflow) == WorkflowConstants.STARTED) {
if (workflow.getState() == WorkflowState.STARTED) {
final AssignedTaskController controller = cdiUtil.findBean(
AssignedTaskController.class);
m_iter = controller.getAssignedTasks(workflow).iterator();