Conversation
'Allub: ' väljalt valitud ylemusyksuse siis, kui sisestatav liik on
baasis olemas(salvesta1),
kui ka siis kui sisestatav liik on uus (salvetsa).
Selleks lisatud uus meetod
String searchButtonName(final HttpServletRequest request) {...
, mis suudab
tuvastada, millist nuppu vormis vajutati
ning on muudetud meetodit
@RequestMapping(method = RequestMethod.POST)
public String create(@Valid Riigi_admin_yksuse_liik liik, ...)
klassis Riigi_admin_yksuse_liikController
AdminYksuseLiigi kontrolleris create.
Ka on parandatud liigiredaktori nuppe index.jspx-s.
***********************************************************
Uus lisatud meetod on
//minu elupäästja, keda ma kolm nädalat otsisin:
//
http://stackoverflow.com/questions/2025280/have-multiple-submit-buttons-in-a-form-and-determine-which-was-pressed-in-a-cont
String searchButtonName(final HttpServletRequest request) {
String buttonName = "";
@SuppressWarnings("unchecked")
Map<String, String[]> paramMap = request.getParameterMap();
if (!paramMap.isEmpty()) {
for (Map.Entry<String, String[]> entry :
paramMap.entrySet()) {
/* Search for the button name as given in
the 'value' attribute for the input tag */
if ("Lisa".equals(entry.getValue()[0]) ||
"Eemalda".equals(entry.getValue()[0]) ||
"Salvesta".equals(entry.getValue()[0]) ||
"Salvesta2".equals(entry.getValue()[0])){
buttonName = entry.getKey();
break;
}
}
}
return buttonName;
}
***********************************************************
Parandatud meetod on
@RequestMapping(method = RequestMethod.POST)
public String create(@Valid Riigi_admin_yksuse_liik liik,
BindingResult bindingResult, Model uiModel,
HttpServletRequest httpServletRequest) {
Collection<Riigi_admin_yksuse_liik> coll =
Riigi_admin_yksuse_liik.findAllRiigi_admin_yksuse_liiks();
boolean liikOnBaasis = false;
String liigiId="";
String nupunimi = searchButtonName(httpServletRequest);
Riigi_admin_yksuse_liik lisatavAlluv = new
Riigi_admin_yksuse_liik();
if (bindingResult.hasErrors()) {
uiModel.addAttribute("riigi_admin_yksuse_liik", liik);
addDateTimeFormatPatterns(uiModel);
return "redirect:/adminyksuseliigiredaktor/index";
}
//kui siukse nimega liik on baasis olemas ja ta pole suletud,
//siis seda uuesti ei salvestata,
//vaid minnakse kohe alluvaid valima
String nimetus =
httpServletRequest.getParameterValues("nimetus")[0];
for(Riigi_admin_yksuse_liik l : coll){
if(l.getNimetus().equalsIgnoreCase(nimetus)){
if(l.getSuletud().after(new Date())){
uiModel.asMap().clear();
liikOnBaasis = true;
liigiId = l.getId().toString();
lisatavAlluv = l;
lisatavAlluv.createAutoFill();
}
}
}
//see on uus liik, salvesta baasi
if(!liikOnBaasis){
uiModel.asMap().clear();
liik.persist();
lisatavAlluv = liik;
liigiId = liik.getId().toString();
}
//kui vajutati lisa-nuppu
if(nupunimi.equalsIgnoreCase("lisa")){
return "redirect:/voimalik_alluvuses"+"?form&liigiID=" +
liigiId;
}//kui vajutati salvesta-nuppu
else if(nupunimi.equalsIgnoreCase("salvesta") ||
nupunimi.equalsIgnoreCase("salvesta2")){
//kysi riikuestilt valitud ylemusyksuse(dropdown boksist) id
baasis
String[] bossiIDlist =
httpServletRequest.getParameterValues("voimalikudAlluvused_1");
String bossiID = bossiIDlist[0];
Long bossiLong = Long.valueOf(bossiID);
//suhte ylemliik
Riigi_admin_yksuse_liik boss =
Riigi_admin_yksuse_liik.findRiigi_admin_yksuse_liik(bossiLong);
////uus alluvusuhe
Voimalik_alluvus v6imalik = new Voimalik_alluvus();
//määra ylemus
v6imalik.setRiigi_admin_yksuse_liik(boss);
//määra alluv
v6imalik.setVoimalik_alluv_liik(lisatavAlluv);
//kommentaar
String komm =
httpServletRequest.getParameterValues("kommentaar")[0];
v6imalik.setKommentaar(komm);
//lisa baasi
//uiModel.asMap().clear();
v6imalik.persist();
return "redirect:/adminyksuseliigiredaktor/index";
}
else
return "redirect:/voimalik_alluvuses";
}
eemalda-nupp sulgeb
liigiredaktoris võimaliku alluvuse.
selle tulemusena määratakse sisseloginu sulgejaks
ja sulgemisajaks tänane päev.
**************************************
**************************************
1.
Lisasin meetodi 'annaV6imalikualluvuseList' ja selle Modeli atribuudiks
klassi Voimalik_alluvusController,
mis annab sulgemata alluvuste nimekirja kuvamiseks.
public List<Voimalik_alluvus>
annaV6imalikualluvuseList(Riigi_admin_yksuse_liik ylemLiik){
Voimalik_alluvus v6i = null;
List<Voimalik_alluvus> vaList = new ArrayList<Voimalik_alluvus>();
for(Voimalik_alluvus va :
Voimalik_alluvus.findAllVoimalik_alluvuses()){
if(va.getRiigi_admin_yksuse_liik()== ylemLiik){
//ära näita suletud alluvaid
//eilse kuup saamine
Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.DATE, +1);
Date homme = rightNow.getTime();
if(!(va.getSuletud().before(homme))){
v6i = va;
vaList.add(v6i);
}
}
}
return vaList;
}
**************************************
2.
Muutsin meetodeid klassis Riigi_admin_yksuse_liikController,
mis tuvastab eemalda-nupu ja sooritab sulgemise:
a) Meetodi 'String searchButtonName(...' muudatus:
for (Map.Entry<String, String[]> entry : paramMap.entrySet()) {
/* Search for the button name as given in
the 'value' attribute for the input tag */
if ("Eemalda".equals(entry.getValue()[0])){
this.realEemalda = entry.getKey();
buttonName = "eemalda";
break;
}
b) Meetodi 'public String create(@...' muudatus:
else if(nupunimi.equalsIgnoreCase("eemalda")){
//v6imaliku alluvuse id sulgemiseks
String vIdstr = this.realEemalda.substring("eemalda".length());
Long vId = Long.valueOf(vIdstr);
Voimalik_alluvus vaEemaldatav =
Voimalik_alluvus.findVoimalik_alluvus(vId);
vaEemaldatav.setSuletud(new Date());
uiModel.asMap().clear();
vaEemaldatav.merge();
return "redirect:/adminyksuseliigiredaktor/index?liigiID=" +
liigiId;
}
**************************************
3.Muutsin meetodit klassis BaseEntity:
@PreUpdate
public void updateAutoFill(){
setSulgeja(SecurityStuff.username());
setMuutja(SecurityStuff.username());
setMuudetud(new Date());
}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
'Allub: ' väljalt valitud ylemusyksuse siis, kui sisestatav liik on
baasis olemas(salvesta1),
kui ka siis kui sisestatav liik on uus (salvetsa).
Selleks lisatud uus meetod
String searchButtonName(final HttpServletRequest request) {...
, mis suudab
tuvastada, millist nuppu vormis vajutati
ning on muudetud meetodit
@RequestMapping(method = RequestMethod.POST)
public String create(@Valid Riigi_admin_yksuse_liik liik, ...)
klassis Riigi_admin_yksuse_liikController
AdminYksuseLiigi kontrolleris create.
Ka on parandatud liigiredaktori nuppe index.jspx-s.
Uus lisatud meetod on
//minu elupäästja, keda ma kolm nädalat otsisin:
//http://stackoverflow.com/questions/2025280/have-multiple-submit-buttons-in-a-form-and-determine-which-//was-pressed-in-a-cont
String searchButtonName(final HttpServletRequest request) {
String buttonName = "";
@SuppressWarnings("unchecked")
Map<String, String[]> paramMap = request.getParameterMap();
if (!paramMap.isEmpty()) {
for (Map.Entry<String, String[]> entry :
paramMap.entrySet()) {
/* Search for the button name as given in
the 'value' attribute for the input tag */
if ("Lisa".equals(entry.getValue()[0]) ||
"Eemalda".equals(entry.getValue()[0]) ||
"Salvesta".equals(entry.getValue()[0]) ||
"Salvesta2".equals(entry.getValue()[0])){
buttonName = entry.getKey();
break;
}
}
}
return buttonName;
}
Parandatud meetod on
@RequestMapping(method = RequestMethod.POST)
public String create(@Valid Riigi_admin_yksuse_liik liik,
BindingResult bindingResult, Model uiModel,
HttpServletRequest httpServletRequest) {
Riigi_admin_yksuse_liik.findAllRiigi_admin_yksuse_liiks();
boolean liikOnBaasis = false;
String liigiId="";
String nupunimi = searchButtonName(httpServletRequest);
Riigi_admin_yksuse_liik lisatavAlluv = new
Riigi_admin_yksuse_liik();
httpServletRequest.getParameterValues("nimetus")[0];
for(Riigi_admin_yksuse_liik l : coll){
if(l.getNimetus().equalsIgnoreCase(nimetus)){
if(l.getSuletud().after(new Date())){
uiModel.asMap().clear();
liikOnBaasis = true;
liigiId = l.getId().toString();
lisatavAlluv = l;
lisatavAlluv.createAutoFill();
}
}
}
liigiId;
}//kui vajutati salvesta-nuppu
else if(nupunimi.equalsIgnoreCase("salvesta") ||
nupunimi.equalsIgnoreCase("salvesta2")){
baasis
String[] bossiIDlist =
httpServletRequest.getParameterValues("voimalikudAlluvused_1");
String bossiID = bossiIDlist[0];
Long bossiLong = Long.valueOf(bossiID);
//suhte ylemliik
Riigi_admin_yksuse_liik boss =
Riigi_admin_yksuse_liik.findRiigi_admin_yksuse_liik(bossiLong);
httpServletRequest.getParameterValues("kommentaar")[0];
v6imalik.setKommentaar(komm);