Skip to content

Lisatud kaks funktsionaalsust, mis lasevad liigiredaktoris lisada ylemusLiiki.#3

Open
Mailis wants to merge 2 commits intomasterfrom
myFork
Open

Lisatud kaks funktsionaalsust, mis lasevad liigiredaktoris lisada ylemusLiiki.#3
Mailis wants to merge 2 commits intomasterfrom
myFork

Conversation

@Mailis
Copy link
Owner

@Mailis Mailis commented Dec 18, 2011

'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";
}

'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());
	}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant