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);
}
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);
}
}
}
Aggregations