List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink setVisibilityAllowed
public final Component setVisibilityAllowed(boolean allowed)
From source file:com.gitblit.wicket.panels.SshKeysPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); setOutputMarkupId(true);/*from w ww .jav a2 s .com*/ final List<SshKey> keys = new ArrayList<SshKey>(app().keys().getKeys(user.username)); final ListDataProvider<SshKey> dp = new ListDataProvider<SshKey>(keys); final DataView<SshKey> keysView = new DataView<SshKey>("keys", dp) { private static final long serialVersionUID = 1L; @Override public void populateItem(final Item<SshKey> item) { final SshKey key = item.getModelObject(); item.add(new Label("comment", key.getComment())); item.add(new Label("fingerprint", key.getFingerprint())); item.add(new Label("permission", key.getPermission().toString())); item.add(new Label("algorithm", key.getAlgorithm())); AjaxLink<Void> delete = new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { if (app().keys().removeKey(user.username, key)) { // reset the keys list keys.clear(); keys.addAll(app().keys().getKeys(user.username)); // update the panel target.add(SshKeysPanel.this); } } }; if (!canWriteKeys) { delete.setVisibilityAllowed(false); } item.add(delete); } }; add(keysView); Form<Void> addKeyForm = new Form<Void>("addKeyForm"); final IModel<String> keyData = Model.of(""); addKeyForm.add(new TextAreaOption("addKeyData", getString("gb.key"), null, "span5", keyData)); final IModel<AccessPermission> keyPermission = Model.of(AccessPermission.PUSH); addKeyForm.add(new ChoiceOption<AccessPermission>("addKeyPermission", getString("gb.permission"), getString("gb.sshKeyPermissionDescription"), keyPermission, Arrays.asList(AccessPermission.SSHPERMISSIONS))); final IModel<String> keyComment = Model.of(""); addKeyForm.add(new TextOption("addKeyComment", getString("gb.comment"), getString("gb.sshKeyCommentDescription"), "span5", keyComment)); addKeyForm.add(new AjaxButton("addKeyButton") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target) { UserModel user = GitBlitWebSession.get().getUser(); String data = keyData.getObject(); if (StringUtils.isEmpty(data)) { // do not submit empty key return; } SshKey key = new SshKey(data); try { key.getPublicKey(); } catch (Exception e) { // failed to parse the key return; } AccessPermission permission = keyPermission.getObject(); key.setPermission(permission); String comment = keyComment.getObject(); if (!StringUtils.isEmpty(comment)) { key.setComment(comment); } if (app().keys().addKey(user.username, key)) { // reset add key fields keyData.setObject(""); keyPermission.setObject(AccessPermission.PUSH); keyComment.setObject(""); // reset the keys list keys.clear(); keys.addAll(app().keys().getKeys(user.username)); // update the panel target.add(SshKeysPanel.this); } } }); if (!canWriteKeys) { addKeyForm.setVisibilityAllowed(false); } add(addKeyForm); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.groups.ListOfMembersGroupPage.java
License:Apache License
private void setupComponents(final int groupId) { add(new Label("title", facade.getResearchGroupTitle(groupId))); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); LoadableDetachableModel<List<Map<String, Object>>> listModel = new LoadableDetachableModel<List<Map<String, Object>>>() { private static final long serialVersionUID = 1L; @Override/*from ww w . j a v a 2s .co m*/ protected List<Map<String, Object>> load() { return facade.getListOfGroupMembers(groupId); } }; final boolean isUserGroupAdmin = securityFacade.userIsAdminInGroup(groupId); PropertyListView<Map<String, Object>> members = new PropertyListView<Map<String, Object>>("members", listModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Map<String, Object>> item) { final Map<String, Object> person = item.getModelObject(); boolean enabled = true; final int personId = (Integer) person.get("personId"); final ResearchGroupMembershipId id = new ResearchGroupMembershipId(personId, groupId); item.add(new Label("givenname", (String) person.get("givenname"))); item.add(new Label("surname", (String) person.get("surname"))); item.add(new Label("username", (String) (person.get("username") != null ? person.get("username") : "---"))); GroupRole role = GroupRole.valueOf((String) person.get("authority")); item.add(new EnumLabel<GroupRole>("authority", role)); final DropDownChoice<GroupRole> roles = new DropDownChoice<GroupRole>("roles", new Model<GroupRole>(role), Arrays.asList(GroupRole.values()), new EnumChoiceRenderer<GroupRole>()); roles.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { GroupRole groupRole = roles.getModelObject(); ResearchGroupMembership membership = facade.readMemberhip(id); membership.setAuthority(groupRole.name()); facade.updateMemberhip(membership); setResponsePage(getPage()); } }); roles.setVisibilityAllowed(isUserGroupAdmin); Person owner = personFacade.getPerson((String) person.get("username")); List<ResearchGroup> groups = facade.getResearchGroupsWhereOwner(owner); for (ResearchGroup group : groups) { if (group.getResearchGroupId() == groupId) { enabled = false; } } item.setEnabled(enabled); item.add(roles); AjaxLink<Void> removeLink = (new AjaxLink<Void>("removeFromGroupLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { ResearchGroupMembership membership = facade.readMemberhip(id); facade.deleteMemberhip(membership); setResponsePage(getPage()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('" + ResourceUtils.getString("link.confirm.sureToRemoveUserFromGroup") + "');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }); removeLink.setVisibilityAllowed(isUserGroupAdmin); removeLink.setVisible(enabled); item.add(removeLink); } }; container.add(members); BookmarkablePageLink<Void> backToDetailLink = new BookmarkablePageLink<Void>("backLink", ResearchGroupsDetailPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> addMemberLink = new BookmarkablePageLink<Void>("addMemberLink", AddMemberToGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> transferOwnershipLink = new BookmarkablePageLink<Void>("transferOwnershipLink", TransferOwnershipPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); addMemberLink.setVisibilityAllowed(isUserGroupAdmin); transferOwnershipLink.setVisibilityAllowed(isLoggedPersonOwner); add(container, backToDetailLink, addMemberLink, transferOwnershipLink); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.groups.ResearchGroupsDetailPage.java
License:Apache License
public ResearchGroupsDetailPage(PageParameters parameters) { setPageTitle(ResourceUtils.getModel("pageTitle.researchGroupDetail")); add(new ButtonPageMenu("leftMenu", prepareLeftMenu())); StringValue value = parseParameters(parameters); int groupId = value.toInt(); final ResearchGroup group = researchGroupFacade.getResearchGroupById(groupId); add(new Label("title", group.getTitle())); add(new Label("description", group.getDescription())); AjaxLink<Void> requestMembership = new AjaxLink<Void>("request") { private static final long serialVersionUID = 1L; @Override/*from www . ja v a2 s.co m*/ public void onClick(AjaxRequestTarget target) { try { GroupPermissionRequest request = new GroupPermissionRequest(); request.setPerson(EEGDataBaseSession.get().getLoggedUser()); request.setResearchGroup(group); request.setRequestedPermission(Util.GROUP_EXPERIMENTER); researchGroupFacade.createPermissionRequest(request); info("Request was send."); setVisibilityAllowed(false); target.add(this); } catch (MailException e) { error("Request was not send."); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('" + ResourceUtils.getString( "text.confirmSendingMembershipRequest", new Model<ResearchGroup>(group)) + "');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }; requestMembership.setVisibilityAllowed(!securityFacade.userIsMemberInGroup(groupId)); BookmarkablePageLink<Void> listOfMembers = new BookmarkablePageLink<Void>("listOfMembers", ListOfMembersGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> addMember = new BookmarkablePageLink<Void>("addMember", AddMemberToGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> editGroup = new BookmarkablePageLink<Void>("editGroup", ResearchGroupFormPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> listOfPlans = new BookmarkablePageLink<Void>("listGroupMembershipPlans", ListOfMembershipPlansGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); boolean userIsAdminInGroup = securityFacade.userIsAdminInGroup(groupId); listOfMembers.setVisibilityAllowed(securityFacade.userIsExperimenterInGroup(groupId)); addMember.setVisibilityAllowed(userIsAdminInGroup); editGroup.setVisibilityAllowed(userIsAdminInGroup); add(requestMembership, listOfMembers, addMember, editGroup, listOfPlans); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListArtifactDefinitionsPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.artifactList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<Artifact> model = new ListModelWithResearchGroupCriteria<Artifact>() { private static final long serialVersionUID = 1L; @Override//from w w w .ja v a2s . c o m protected List<Artifact> loadList(ResearchGroup group) { if (group == null) return Collections.EMPTY_LIST; else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) groups = researchGroupFacade.getAllRecords(); else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<Artifact> artifacts = new PropertyListView<Artifact>("artifacts", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Artifact> item) { item.add(new Label("artifactId")); item.add(new Label("compensation")); item.add(new Label("rejectCondition")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getArtifactId()) .add(PageParametersUtils.GROUP_PARAM, model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", ArtifactFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getArtifactId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { facade.deleteGroupRel(item.getModelObject(), researchGroupFacade.getResearchGroupById(group.getResearchGroupId())); facade.delete(item.getModelObject()); setResponsePage(ListArtifactDefinitionsPage.class); } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(artifacts); AjaxLink<Void> link = new AjaxLink<Void>("addArtifactLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(ArtifactFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListExperimentOptParamPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.experimentOptionalParameterList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<ExperimentOptParamDef> model = new ListModelWithResearchGroupCriteria<ExperimentOptParamDef>() { private static final long serialVersionUID = 1L; @Override// www. j a va2 s . c o m protected List<ExperimentOptParamDef> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultExperimentOptParamDef"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<ExperimentOptParamDef> params = new PropertyListView<ExperimentOptParamDef>("params", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<ExperimentOptParamDef> item) { item.add(new Label("experimentOptParamDefId")); item.add(new Label("paramName")); item.add(new Label("paramDataType")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getExperimentOptParamDefId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", ExperimentOptParamFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getExperimentOptParamDefId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); setResponsePage(ListExperimentOptParamPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { ExperimentOptParamDefGroupRel h = facade.getGroupRel(id, groupId); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } facade.deleteGroupRel(h); setResponsePage(ListExperimentOptParamPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(params); AjaxLink<Void> link = new AjaxLink<Void>("addParamLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(ExperimentOptParamFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListFileMetadataPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.fileMetadataDefinitionsList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<FileMetadataParamDef> model = new ListModelWithResearchGroupCriteria<FileMetadataParamDef>() { private static final long serialVersionUID = 1L; @Override// ww w . j a va 2 s .c o m protected List<FileMetadataParamDef> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultFileMetadataParamDef"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<FileMetadataParamDef> params = new PropertyListView<FileMetadataParamDef>("params", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<FileMetadataParamDef> item) { item.add(new Label("fileMetadataParamDefId")); item.add(new Label("paramName")); item.add(new Label("paramDataType")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getFileMetadataParamDefId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", FileMetadataFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getFileMetadataParamDefId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); setResponsePage(ListFileMetadataPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { FileMetadataParamDefGroupRel h = facade.getGroupRel(id, groupId); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } facade.deleteGroupRel(h); setResponsePage(ListFileMetadataPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(params); AjaxLink<Void> link = new AjaxLink<Void>("addMetadataLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(FileMetadataFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListHardwareDefinitionsPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.hardwareList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true);//from w ww. j a v a2 s . co m container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<Hardware> model = new ListModelWithResearchGroupCriteria<Hardware>() { private static final long serialVersionUID = 1L; @Override protected List<Hardware> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultHardware"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<Hardware> hardware = new PropertyListView<Hardware>("hardware", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Hardware> item) { item.add(new Label("hardwareId")); item.add(new Label("title")); item.add(new Label("type")); item.add(new Label("description")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getHardwareId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", HardwareFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.add(getFeedback()); int id = item.getModelObject().getHardwareId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); //getFeedback().info(ResourceUtils.getString("text.itemWasDeletedFromDatabase")); setResponsePage(ListHardwareDefinitionsPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { HardwareGroupRel h = facade.getGroupRel(id, groupId); facade.deleteGroupRel(h); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } setResponsePage(ListHardwareDefinitionsPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(hardware); AjaxLink<Void> link = new AjaxLink<Void>("addHardwareLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(HardwareFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListPersonOptParamPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.personOptionalParameterList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<PersonOptParamDef> model = new ListModelWithResearchGroupCriteria<PersonOptParamDef>() { private static final long serialVersionUID = 1L; @Override//from w ww. j a v a 2 s. co m protected List<PersonOptParamDef> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultPersonOptParamDef"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<PersonOptParamDef> params = new PropertyListView<PersonOptParamDef>("params", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<PersonOptParamDef> item) { item.add(new Label("personOptParamDefId")); item.add(new Label("paramName")); item.add(new Label("paramDataType")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getPersonOptParamDefId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", PersonOptParamFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getPersonOptParamDefId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); setResponsePage(ListPersonOptParamPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { PersonOptParamDefGroupRel h = facade.getGroupRel(id, groupId); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } facade.deleteGroupRel(h); setResponsePage(ListPersonOptParamPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(container); target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(params); AjaxLink<Void> link = new AjaxLink<Void>("addParamLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(PersonOptParamFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListSoftwareDefinitionsPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.softwareList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true);/*from www. j a v a 2 s . c o m*/ container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<Software> model = new ListModelWithResearchGroupCriteria<Software>() { private static final long serialVersionUID = 1L; @Override protected List<Software> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultSoftware"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<Software> software = new PropertyListView<Software>("software", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Software> item) { item.add(new Label("softwareId")); item.add(new Label("title")); item.add(new Label("description")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getSoftwareId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", SoftwareFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.add(getFeedback()); int id = item.getModelObject().getSoftwareId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default item if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); //getFeedback().info(ResourceUtils.getString("text.itemWasDeletedFromDatabase")); setResponsePage(ListSoftwareDefinitionsPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } setResponsePage(ListSoftwareDefinitionsPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(software); AjaxLink<Void> link = new AjaxLink<Void>("addSoftwareLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(SoftwareFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListWeatherDefinitiosPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.weatherDefinitionsList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<Weather> model = new ListModelWithResearchGroupCriteria<Weather>() { private static final long serialVersionUID = 1L; @Override/* w w w.j a va 2 s . co m*/ protected List<Weather> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultWeather"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<Weather> weathers = new PropertyListView<Weather>("weathers", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Weather> item) { item.add(new Label("weatherId")); item.add(new Label("title")); item.add(new Label("description")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getWeatherId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", WeatherFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getWeatherId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); setResponsePage(ListWeatherDefinitiosPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { WeatherGroupRel h = facade.getGroupRel(id, groupId); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } facade.deleteGroupRel(h); setResponsePage(ListWeatherDefinitiosPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(container); target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(weathers); AjaxLink<Void> link = new AjaxLink<Void>("addWeatherLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(WeatherFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }