Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package controlers;
- import hibernate.Korisnik;
- import hibernate.KorisnikModel;
- import java.util.Date;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import javax.inject.Named;
- import javax.enterprise.context.RequestScoped;
- import javax.validation.constraints.*;
- /**
- *
- * @author vidojezeljic
- */
- @Named(value = "korisnikRequestController")
- @RequestScoped
- public class KorisnikRequestController {
- private Integer id_korisnik;
- @Size(min = 1, message = "Korisnicko ime je obavezno!")
- private String username;
- @Size(min = 1, message = "Sifra je obavezna!")
- private String password;
- @Size(min = 1, message = "Korisnicko ime je obavezno!")
- private String usernamePS;
- @Size(min = 1, message = "Sifra je obavezna!")
- private String passwordPS;
- @Size(min = 1, message = "Sifra je obavezna!")
- private String password2;
- @Size(min = 1, message = "Potvrda sifre je obavezna!")
- private String password_conf;
- @Size(min = 1, message = "Izaberite vrstu!")
- private String vrsta;
- @Size(min = 1, message = "Ime je obavezno!")
- private String ime;
- @Size(min = 1, message = "Prezime je obavezno!")
- private String prezime;
- @Size(min = 1, message = "Email je obavezan!")
- private String email;
- private Date datum_rodjenja;
- private long godine;
- @Size(min = 1, message = "Pol je obavezan!")
- private String pol;
- private Integer validan_nalog;
- private KorisnikModel korisnik_model = new KorisnikModel();
- private static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
- private static final Pattern VALID_PASSWORD_REGEX = Pattern.compile("^(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$&`])(?=.*[a-z].*[a-z].*[a-z])(?=[a-zA-Z])(?=.{8,10}$)((.)\\2?(?!\\2))+$");
- private String porukaRegistrovanje;
- private String porukaPromenaSifre;
- private Boolean error;
- public KorisnikRequestController() {
- }
- public Integer getId_korisnik() {
- return id_korisnik;
- }
- public void setId_korisnik(int id_korisnik) {
- this.id_korisnik = id_korisnik;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getUsernamePS() {
- return usernamePS;
- }
- public void setUsernamePS(String usernamePS) {
- this.usernamePS = usernamePS;
- }
- public String getPasswordPS() {
- return passwordPS;
- }
- public void setPasswordPS(String passwordPS) {
- this.passwordPS = passwordPS;
- }
- public String getPassword2() {
- return password2;
- }
- public void setPassword2(String password2) {
- this.password2 = password2;
- }
- public String getPassword_conf() {
- return password_conf;
- }
- public void setPassword_conf(String password_conf) {
- this.password_conf = password_conf;
- }
- public Date getDatum_rodjenja() {
- return datum_rodjenja;
- }
- public void setDatum_rodjenja(Date datum_rodjenja) {
- this.datum_rodjenja = datum_rodjenja;
- }
- public Integer getValidan_nalog() {
- return validan_nalog;
- }
- public void setValidan_nalog(Integer validan_nalog) {
- this.validan_nalog = validan_nalog;
- }
- public KorisnikModel getKorisnik_model() {
- return korisnik_model;
- }
- public void setKorisnik_model(KorisnikModel korisnik_model) {
- this.korisnik_model = korisnik_model;
- }
- public String getVrsta() {
- return vrsta;
- }
- public void setVrsta(String vrsta) {
- this.vrsta = vrsta;
- }
- public String getIme() {
- return ime;
- }
- public void setIme(String ime) {
- this.ime = ime;
- }
- public String getPrezime() {
- return prezime;
- }
- public void setPrezime(String prezime) {
- this.prezime = prezime;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public String getPol() {
- return pol;
- }
- public void setPol(String pol) {
- this.pol = pol;
- }
- public String getPorukaRegistrovanje() {
- return porukaRegistrovanje;
- }
- public void setPorukaRegistrovanje(String porukaRegistrovanje) {
- this.porukaRegistrovanje = porukaRegistrovanje;
- }
- public String getPorukaPromenaSifre() {
- return porukaPromenaSifre;
- }
- public void setPorukaPromenaSifre(String porukaPromenaSifre) {
- this.porukaPromenaSifre = porukaPromenaSifre;
- }
- public Boolean getError() {
- return error;
- }
- public void setError(Boolean error) {
- this.error = error;
- }
- public long getGodine() {
- return godine;
- }
- public void setGodine(long godine) {
- this.godine = godine;
- }
- public String registrovanje() {
- if(!proveraKorisnickogImena(username)){
- porukaRegistrovanje = "Korisnicko ime vec postoji u sistemu!";
- error = true;
- return "index?faces-redirect=true";
- }
- if(!proveraSifreFormat(password)){
- porukaRegistrovanje = new String("Sifra nije u odgovarajucem formatu!");
- error = true;
- return "index";
- }
- if(!proveraSifri1_2(password, password_conf)){
- porukaRegistrovanje = new String("Greska prilikom potvrde sifre!");
- error = true;
- return "index";
- }
- if(!proveraEmailFormat(email)){
- porukaRegistrovanje = new String("Email nije u odgovarajucem formatu!");
- error = true;
- return "index";
- }
- if(!proveraEmail(email)){
- porukaRegistrovanje = new String("Uneti email vec postoji u sistemu!");
- error = true;
- return "index";
- }
- godine = new Date().getTime() - datum_rodjenja.getTime();
- godine = godine/1000/60/60/24/365;
- if(godine < 18){
- porukaRegistrovanje = new String("Morate imati 18!");
- error = true;
- return "index";
- }
- Korisnik k = new Korisnik();
- k.setUsername(username);
- k.setPassword(password);
- k.setVrsta(vrsta);
- k.setIme(ime);
- k.setPrezime(prezime);
- k.setEmail(email);
- k.setDatumRodjenja(datum_rodjenja);
- k.setPol(pol);
- k.setValidanNalog(0);
- korisnik_model.napraviKorisnika(k);
- return "index?faces-redirect=true";
- }
- private boolean proveraKorisnickogImena(String username) {
- Korisnik k = korisnik_model.dohvatiKorisnika(username);
- if(k != null) return false;
- return true;
- }
- private boolean proveraSifreFormat(String password) {
- Matcher matcher = VALID_PASSWORD_REGEX.matcher(password);
- if (matcher.find()) return true;
- return false;
- }
- private boolean proveraSifri1_2(String password1, String password2) {
- if (password1.equals(password2)) return true;
- return false;
- }
- private boolean proveraEmailFormat(String email) {
- Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(email);
- if (matcher.find()) return true;
- return false;
- }
- private boolean proveraEmail(String email) {
- Korisnik k = korisnik_model.dohvatiKorisnikaEmail(email);
- if(k != null) return false;
- return true;
- }
- public String promenaSifre() {
- Korisnik k = korisnik_model.dohvatiKorisnika(usernamePS);
- if(k == null){
- porukaPromenaSifre = "Pogresno korisnicko ime!";
- error = true;
- return "index?faces-redirect=true";
- }
- if(!passwordPS.equals(k.getPassword())){
- porukaPromenaSifre = "Pogresna sifra!";
- error = true;
- return "index?faces-redirect=true";
- }
- if(!proveraSifreFormat(password2)){
- porukaPromenaSifre = new String("Nova sifra nije u odgovarajucem formatu!");
- error = true;
- return "index?faces-redirect=true";
- }
- if (!korisnik_model.promeniSifru(usernamePS, password2)) {
- porukaPromenaSifre = "Greska prilikom promene sire!";
- }
- return "index?faces-redirect=true";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement