Search in sources :

Example 1 with AssignmentToShiftState

use of com.qcadoo.mes.assignmentToShift.states.constants.AssignmentToShiftState in project mes by qcadoo.

the class AssignmentToShiftDetailsListeners method changeCopyStaffAssignmentToShiftButtonState.

private void changeCopyStaffAssignmentToShiftButtonState(ViewDefinitionState view, Entity assignmentToShift) {
    WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
    Ribbon ribbon = window.getRibbon();
    RibbonGroup copyRibbonGroup = ribbon.getGroupByName(L_COPY);
    RibbonActionItem copyStaffAssignmentToShiftRibbonActionItem = copyRibbonGroup.getItemByName(L_COPY_STAFF_ASSIGNMENT_TO_SHIFT);
    GridComponent staffAssignmentToShiftsGrid = (GridComponent) view.getComponentByReference(AssignmentToShiftFields.STAFF_ASSIGNMENT_TO_SHIFTS);
    String state = assignmentToShift.getStringField(AssignmentToShiftFields.STATE);
    AssignmentToShiftState assignmentToShiftState = AssignmentToShiftState.parseString(state);
    Long assignmentToShiftId = assignmentToShift.getId();
    boolean isSaved = (assignmentToShiftId != null);
    if (isSaved) {
        assignmentToShift = getAssignmentToShiftFromDB(assignmentToShiftId);
    }
    boolean isExternalSynchronized = assignmentToShift.getBooleanField(AssignmentToShiftFields.EXTERNAL_SYNCHRONIZED);
    boolean areSelected = !staffAssignmentToShiftsGrid.getSelectedEntities().isEmpty();
    boolean isEnabled = isSaved ? isExternalSynchronized && assignmentToShiftState.isEditingAllowed() && areSelected : false;
    copyStaffAssignmentToShiftRibbonActionItem.setEnabled(isEnabled);
    copyStaffAssignmentToShiftRibbonActionItem.requestUpdate(true);
}
Also used : RibbonGroup(com.qcadoo.view.api.ribbon.RibbonGroup) WindowComponent(com.qcadoo.view.api.components.WindowComponent) Ribbon(com.qcadoo.view.api.ribbon.Ribbon) GridComponent(com.qcadoo.view.api.components.GridComponent) RibbonActionItem(com.qcadoo.view.api.ribbon.RibbonActionItem) AssignmentToShiftState(com.qcadoo.mes.assignmentToShift.states.constants.AssignmentToShiftState)

Example 2 with AssignmentToShiftState

use of com.qcadoo.mes.assignmentToShift.states.constants.AssignmentToShiftState in project mes by qcadoo.

the class AssignmentToShiftDetailsHooks method disableButtonsWhenNotExternalSynchronized.

private void disableButtonsWhenNotExternalSynchronized(final ViewDefinitionState view, Entity assignmentToShift) {
    WindowComponent window = (WindowComponent) view.getComponentByReference(QcadooViewConstants.L_WINDOW);
    Ribbon ribbon = window.getRibbon();
    RibbonGroup actionsRibbonGroup = ribbon.getGroupByName(L_ACTIONS);
    RibbonGroup statusRibbonGroup = ribbon.getGroupByName(L_STATUS);
    RibbonGroup copyRibbonGroup = ribbon.getGroupByName(L_COPY);
    RibbonGroup addRibbonGroup = ribbon.getGroupByName(L_ADD);
    RibbonActionItem saveRibbonActionItem = actionsRibbonGroup.getItemByName(L_SAVE);
    RibbonActionItem saveBackRibbonActionItem = actionsRibbonGroup.getItemByName(L_SAVE_BACK);
    RibbonActionItem saveNewRibbonActionItem = actionsRibbonGroup.getItemByName(L_SAVE_NEW);
    RibbonActionItem deleteRibbonActionItem = actionsRibbonGroup.getItemByName(L_DELETE);
    RibbonActionItem acceptAssignmentToShiftRibbonActionItem = statusRibbonGroup.getItemByName(L_ACCEPT_ASSIGNMENT_TO_SHIFT);
    RibbonActionItem correctAssignmentToShiftRibbonActionItem = statusRibbonGroup.getItemByName(L_CORRECT_ASSIGNMENT_TO_SHIFT);
    RibbonActionItem acceptCorrectedAssignmentToShiftRibbonActionItem = statusRibbonGroup.getItemByName(L_ACCEPT_CORRECTED_ASSIGNMENT_TO_SHIFT);
    RibbonActionItem copyStaffAssignmentToShiftRibbonActionItem = copyRibbonGroup.getItemByName(L_COPY_STAFF_ASSIGNMENT_TO_SHIFT);
    RibbonActionItem addManyWorkersRibbonActionItem = addRibbonGroup.getItemByName(L_ADD_MANY_WORKERS);
    GridComponent staffAssignmentToShiftsGrid = (GridComponent) view.getComponentByReference(AssignmentToShiftFields.STAFF_ASSIGNMENT_TO_SHIFTS);
    String state = assignmentToShift.getStringField(AssignmentToShiftFields.STATE);
    AssignmentToShiftState assignmentToShiftState = AssignmentToShiftState.parseString(state);
    Long assignmentToShiftId = assignmentToShift.getId();
    boolean isSaved = (assignmentToShiftId != null);
    if (isSaved) {
        assignmentToShift = getAssignmentToShift(assignmentToShiftId);
    }
    boolean isExternalSynchronized = assignmentToShift.getBooleanField(AssignmentToShiftFields.EXTERNAL_SYNCHRONIZED);
    boolean areSelected = !staffAssignmentToShiftsGrid.getSelectedEntities().isEmpty();
    boolean isEnabled = isSaved ? isExternalSynchronized && assignmentToShiftState.isEditingAllowed() : true;
    String message = null;
    if (!isEnabled) {
        if (isExternalSynchronized) {
            message = L_ASSIGNMENT_TO_SHIFT_STATE_DOES_NOT_ALLOW_EDITING;
        } else {
            message = L_ASSIGNMENT_TO_SHIFT_INFO_IS_WAITING_FOR_SYNC;
        }
    }
    List<RibbonActionItem> ribbonActionItems = Lists.newArrayList(saveRibbonActionItem, saveBackRibbonActionItem, saveNewRibbonActionItem, deleteRibbonActionItem, acceptAssignmentToShiftRibbonActionItem, correctAssignmentToShiftRibbonActionItem, acceptCorrectedAssignmentToShiftRibbonActionItem, copyStaffAssignmentToShiftRibbonActionItem, addManyWorkersRibbonActionItem);
    for (RibbonActionItem ribbonActionItem : ribbonActionItems) {
        if (ribbonActionItem != null) {
            String ribbonActionItemName = ribbonActionItem.getName();
            if (AssignmentToShiftStateStringValues.DRAFT.equals(state) && (L_CORRECT_ASSIGNMENT_TO_SHIFT.equals(ribbonActionItemName) || L_ACCEPT_CORRECTED_ASSIGNMENT_TO_SHIFT.equals(ribbonActionItemName))) {
                ribbonActionItem.setEnabled(false);
                ribbonActionItem.setMessage(message);
            } else if ((AssignmentToShiftStateStringValues.ACCEPTED.equals(state) || AssignmentToShiftStateStringValues.CORRECTED.equals(state)) && L_CORRECT_ASSIGNMENT_TO_SHIFT.equals(ribbonActionItemName)) {
                ribbonActionItem.setEnabled(true);
            } else if (AssignmentToShiftStateStringValues.DURING_CORRECTION.equals(state) && (L_DELETE.equals(ribbonActionItemName) || L_ACCEPT_ASSIGNMENT_TO_SHIFT.equals(ribbonActionItemName) || L_CORRECT_ASSIGNMENT_TO_SHIFT.equals(ribbonActionItemName))) {
                ribbonActionItem.setEnabled(false);
                ribbonActionItem.setMessage(message);
            } else if (L_COPY_STAFF_ASSIGNMENT_TO_SHIFT.equals(ribbonActionItemName) && !areSelected) {
                ribbonActionItem.setEnabled(false);
            } else if (L_ADD_MANY_WORKERS.equals(ribbonActionItemName) && !isSaved) {
                ribbonActionItem.setEnabled(false);
            } else {
                ribbonActionItem.setEnabled(isEnabled);
                ribbonActionItem.setMessage(message);
            }
            ribbonActionItem.requestUpdate(true);
        }
    }
}
Also used : RibbonGroup(com.qcadoo.view.api.ribbon.RibbonGroup) WindowComponent(com.qcadoo.view.api.components.WindowComponent) Ribbon(com.qcadoo.view.api.ribbon.Ribbon) GridComponent(com.qcadoo.view.api.components.GridComponent) RibbonActionItem(com.qcadoo.view.api.ribbon.RibbonActionItem) StaffAssignmentToShiftState(com.qcadoo.mes.assignmentToShift.constants.StaffAssignmentToShiftState) AssignmentToShiftState(com.qcadoo.mes.assignmentToShift.states.constants.AssignmentToShiftState)

Aggregations

AssignmentToShiftState (com.qcadoo.mes.assignmentToShift.states.constants.AssignmentToShiftState)2 GridComponent (com.qcadoo.view.api.components.GridComponent)2 WindowComponent (com.qcadoo.view.api.components.WindowComponent)2 Ribbon (com.qcadoo.view.api.ribbon.Ribbon)2 RibbonActionItem (com.qcadoo.view.api.ribbon.RibbonActionItem)2 RibbonGroup (com.qcadoo.view.api.ribbon.RibbonGroup)2 StaffAssignmentToShiftState (com.qcadoo.mes.assignmentToShift.constants.StaffAssignmentToShiftState)1