Přidána podpora pro výběr záznamu v gridu přes ID předané jako parametr

"select" v URL.
multitenant
Josef Rokos 10 years ago
parent e16786eda4
commit b89519e3ca

@ -22,8 +22,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
public class LoginSuccessHandler implements AuthenticationSuccessHandler { public class LoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler implements AuthenticationSuccessHandler {
@Autowired @Autowired
private SessionData sessionData; private SessionData sessionData;
@ -61,7 +62,7 @@ public class LoginSuccessHandler implements AuthenticationSuccessHandler {
userService.update(u); userService.update(u);
} }
response.sendRedirect("app/"); super.onAuthenticationSuccess(request, response, auth);
} }
} }

@ -10,6 +10,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.AccessDeniedException;
import org.zkoss.bind.BindUtils; import org.zkoss.bind.BindUtils;
@ -44,7 +46,7 @@ public class ListViewModel<T extends DataModel> {
protected Class<T> dataClass; protected Class<T> dataClass;
protected String formZul; protected String formZul;
protected Filter<T> dataFilter; protected Filter<T> dataFilter;
public List<T> getDataList() { public List<T> getDataList() {
if (dataList == null) { if (dataList == null) {
dataList = new ArrayList<T>(); dataList = new ArrayList<T>();
@ -266,10 +268,36 @@ public class ListViewModel<T extends DataModel> {
newRec = false; newRec = false;
} }
Map<String, String[]> map = Executions.getCurrent().getParameterMap();
int id = -1;
try {
if (map.get("select") != null) {
id = Integer.parseInt(map.get("select")[0]);
}
} catch (NumberFormatException e) {
Logger logger = LoggerFactory.getLogger(this.getClass());
logger.warn("ID is not number: " + map.get("select")[0]);
}
if (id > 0) {
for (int i = 0; i < dataList.size(); i++) {
if (dataList.get(i).getId() == id) {
selIndex = i;
beforeSelectViaUrl();
break;
}
}
}
if (selIndex > -1) { if (selIndex > -1) {
this.setDataBean(dataList.get(selIndex)); this.setDataBean(dataList.get(selIndex));
} }
} }
protected void beforeSelectViaUrl() {
}
@Command @Command
@NotifyChange("dataBean") @NotifyChange("dataBean")

@ -9,6 +9,10 @@ public class TabPanelsVM
private boolean showCentre; private boolean showCentre;
private boolean showWorkgroup; private boolean showWorkgroup;
private boolean showAll; private boolean showAll;
private boolean selectMy;
private boolean selectCentre;
private boolean selectWorkgroup;
private boolean selectAll;
@Init @Init
public void init() public void init()
@ -16,8 +20,13 @@ public class TabPanelsVM
showCentre = true; showCentre = true;
showWorkgroup = true; showWorkgroup = true;
showAll = true; showAll = true;
selectMy = true;
selectCentre = false;
selectWorkgroup = false;
selectAll = false;
} }
@GlobalCommand @GlobalCommand
@NotifyChange("showCentre") @NotifyChange("showCentre")
public void disableCentre() public void disableCentre()
@ -38,6 +47,27 @@ public class TabPanelsVM
{ {
showAll = false; showAll = false;
} }
@GlobalCommand
@NotifyChange("selectCentre")
public void selectCentre() {
selectMy = false;
selectCentre = true;
}
@GlobalCommand
@NotifyChange("selectWorkgroup")
public void selectWorkgroup() {
selectMy = false;
selectWorkgroup = true;
}
@GlobalCommand
@NotifyChange("selectAll")
public void selectAll() {
selectMy = false;
selectAll = true;
}
public boolean isShowCentre() public boolean isShowCentre()
{ {
@ -53,4 +83,21 @@ public class TabPanelsVM
{ {
return showAll; return showAll;
} }
public boolean isSelectMy() {
return selectMy;
}
public boolean isSelectCentre() {
return selectCentre;
}
public boolean isSelectWorkgroup() {
return selectWorkgroup;
}
public boolean isSelectAll() {
return selectAll;
}
} }

@ -64,4 +64,9 @@ public class ReqListMyAll extends RequirementSubpage<Requirement>
{ {
this.reload(); this.reload();
} }
@Override
protected void beforeSelectViaUrl() {
BindUtils.postGlobalCommand(null, null, "selectAll", null);
}
} }

@ -64,4 +64,9 @@ public class ReqListMyCenters extends RequirementSubpage<Requirement>
{ {
this.reload(); this.reload();
} }
@Override
protected void beforeSelectViaUrl() {
BindUtils.postGlobalCommand(null, null, "selectCentre", null);
}
} }

@ -64,4 +64,9 @@ public class ReqListMyWorkgroups extends RequirementSubpage<Requirement>
{ {
this.reload(); this.reload();
} }
@Override
protected void beforeSelectViaUrl() {
BindUtils.postGlobalCommand(null, null, "selectWorkgroup", null);
}
} }

@ -59,5 +59,10 @@ public class TripRequirementListAll extends RequirementSubpage<TripRequirement>
public void reloadRelated() { public void reloadRelated() {
this.reload(); this.reload();
} }
@Override
protected void beforeSelectViaUrl() {
BindUtils.postGlobalCommand(null, null, "selectAll", null);
}
} }

@ -56,5 +56,10 @@ public class TripRequirementListCentre extends RequirementSubpage<TripRequiremen
public void reloadRelated() { public void reloadRelated() {
this.reload(); this.reload();
} }
@Override
protected void beforeSelectViaUrl() {
BindUtils.postGlobalCommand(null, null, "selectCentre", null);
}
} }

@ -62,5 +62,10 @@ public class TripRequirementListWorkgroup extends RequirementSubpage<TripRequire
public void reloadRelated() { public void reloadRelated() {
this.reload(); this.reload();
} }
@Override
protected void beforeSelectViaUrl() {
BindUtils.postGlobalCommand(null, null, "selectWorkgroup", null);
}
} }

@ -6,13 +6,16 @@
<tab label="${labels.RequirementsGridMy}" /> <tab label="${labels.RequirementsGridMy}" />
<tab <tab
label="${labels.RequirementsGridMyCentres}" label="${labels.RequirementsGridMyCentres}"
disabled="@load(not vm.showCentre)" /> disabled="@load(not vm.showCentre)"
selected="@load(vm.selectCentre)" />
<tab <tab
label="${labels.RequirementsGridMyWorkgroups}" label="${labels.RequirementsGridMyWorkgroups}"
disabled="@load(not vm.showWorkgroup)" /> disabled="@load(not vm.showWorkgroup)"
selected="@load(vm.selectWorkgroup)" />
<tab <tab
label="${labels.RequirementsGridAll}" label="${labels.RequirementsGridAll}"
disabled="@load(not vm.showAll)" /> disabled="@load(not vm.showAll)"
selected="@load(vm.selectAll)" />
</tabs> </tabs>
<tabpanels> <tabpanels>
<tabpanel> <tabpanel>

Loading…
Cancel
Save