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.DefaultTableCellRenderer;
import com.arsdigita.bebop.table.TableCellRenderer; import com.arsdigita.bebop.table.TableCellRenderer;
import org.librecms.workflow.CmsTask;
import com.arsdigita.globalization.GlobalizedMessage; 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.cdi.utils.CdiUtil;
import org.libreccm.security.Shiro; import org.libreccm.security.Shiro;
import org.libreccm.security.User; import org.libreccm.security.User;
import org.libreccm.workflow.AssignableTask; import org.libreccm.workflow.AssignableTask;
import org.libreccm.workflow.AssignableTaskManager;
import org.libreccm.workflow.AssignableTaskRepository; import org.libreccm.workflow.AssignableTaskRepository;
import org.libreccm.workflow.WorkflowManager; import org.libreccm.workflow.WorkflowManager;
import org.librecms.CmsConstants; import org.librecms.CmsConstants;
import org.librecms.workflow.CmsTaskTypeRepository;
public final class AssignedTaskTable extends Table { public final class AssignedTaskTable extends Table {
@ -70,8 +65,12 @@ public final class AssignedTaskTable extends Table {
final int column = event.getColumn(); final int column = event.getColumn();
final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final AssignableTaskRepository userTaskRepo = cdiUtil.findBean(AssignableTaskRepository.class); final AssignableTaskRepository userTaskRepo = cdiUtil.findBean(
final WorkflowManager workflowManager = cdiUtil.findBean(WorkflowManager.class); AssignableTaskRepository.class);
final WorkflowManager workflowManager = cdiUtil.findBean(
WorkflowManager.class);
final AssignableTaskManager taskManager = cdiUtil.findBean(
AssignableTaskManager.class);
final Shiro shiro = cdiUtil.findBean(Shiro.class); final Shiro shiro = cdiUtil.findBean(Shiro.class);
if (column == 1) { if (column == 1) {
@ -82,9 +81,9 @@ public final class AssignedTaskTable extends Table {
if (task.isLocked() if (task.isLocked()
&& lockingUser != null && lockingUser != null
&& lockingUser.equals(currentUser)) { && lockingUser.equals(currentUser)) {
workflowManager.unlockTask(task); taskManager.unlockTask(task);
} else { } else {
workflowManager.lockTask(task); taskManager.lockTask(task);
} }
} }
} }
@ -102,27 +101,27 @@ public final class AssignedTaskTable extends Table {
final int row, final int row,
final int column) { final int column) {
// SF patch [ 1587168 ] Show locking user // SF patch [ 1587168 ] Show locking user
BoxPanel p = new BoxPanel(); final BoxPanel panel = new BoxPanel();
User lockingUser = (User) value; final User lockingUser = (User) value;
if (lockingUser != null) { if (lockingUser != null) {
final StringBuilder sb = new StringBuilder("Locked by <br />"); final StringBuilder sb = new StringBuilder("Locked by <br />");
final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final Shiro shiro = cdiUtil.findBean(Shiro.class); final Shiro shiro = cdiUtil.findBean(Shiro.class);
if (lockingUser.equals(shiro.getUser())) { if (lockingUser.equals(shiro.getUser())) {
sb.append("you"); sb.append("you");
p.add(new ControlLink(new Label( panel.add(new ControlLink(new Label(
gz("cms.ui.workflow.task.unlock")))); gz("cms.ui.workflow.task.unlock"))));
} else { } else {
sb.append(lockingUser.getName()); sb.append(lockingUser.getName());
p.add(new ControlLink(new Label( panel.add(new ControlLink(new Label(
gz("cms.ui.workflow.task.takeover")))); gz("cms.ui.workflow.task.takeover"))));
} }
p.add(new Label(sb.toString(), false)); panel.add(new Label(sb.toString(), false));
} else { } else {
p.add(new ControlLink( panel.add(new ControlLink(
new Label(gz("cms.ui.workflow.task.lock")))); 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.cdi.utils.CdiUtil;
import org.libreccm.workflow.Workflow; import org.libreccm.workflow.Workflow;
import org.libreccm.workflow.WorkflowConstants;
import org.libreccm.workflow.WorkflowManager; import org.libreccm.workflow.WorkflowManager;
import org.librecms.CmsConstants; import org.librecms.CmsConstants;
import java.util.Collections; import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import org.libreccm.workflow.WorkflowState;
/** /**
* *
@ -62,7 +62,7 @@ class AssignedTaskTableModelBuilder extends AbstractTableModelBuilder {
final CdiUtil cdiUtil= CdiUtil.createCdiUtil(); final CdiUtil cdiUtil= CdiUtil.createCdiUtil();
final WorkflowManager workflowManager = cdiUtil.findBean(WorkflowManager.class); final WorkflowManager workflowManager = cdiUtil.findBean(WorkflowManager.class);
if (workflowManager.getState(workflow) == WorkflowConstants.STARTED) { if (workflow.getState() == WorkflowState.STARTED) {
final AssignedTaskController controller = cdiUtil.findBean( final AssignedTaskController controller = cdiUtil.findBean(
AssignedTaskController.class); AssignedTaskController.class);
m_iter = controller.getAssignedTasks(workflow).iterator(); m_iter = controller.getAssignedTasks(workflow).iterator();