Index: src/main/java/com/example/moviezone/config/CustomUsernamePasswordAuthenticationProvider.java
===================================================================
--- src/main/java/com/example/moviezone/config/CustomUsernamePasswordAuthenticationProvider.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/config/CustomUsernamePasswordAuthenticationProvider.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -2,4 +2,5 @@
 
 
+import com.example.moviezone.model.exceptions.UserNotFoundException;
 import com.example.moviezone.service.UserService;
 import org.springframework.security.authentication.AuthenticationProvider;
@@ -35,4 +36,5 @@
 
         UserDetails userDetails = this.userService.findByUsername(username);
+
 //        String realPassword = userDetails.getPassword();
         if (!Objects.equals(password,userDetails.getPassword())) {
Index: src/main/java/com/example/moviezone/model/Worker.java
===================================================================
--- src/main/java/com/example/moviezone/model/Worker.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/model/Worker.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -32,4 +32,11 @@
         super(password, first_name, last_name, address, contact_number, username);
     }
+    public Worker(String password, String first_name, String last_name, String address, String contact_number, String username,String position,String work_hours_from,String work_hours_to,Cinema cinema) {
+        super(password, first_name, last_name, address, contact_number, username);
+        this.position=position;
+        this.work_hours_from=work_hours_from;
+        this.work_hours_to=work_hours_to;
+        this.cinema=cinema;
+    }
 
     @Override
Index: src/main/java/com/example/moviezone/service/CinemaService.java
===================================================================
--- src/main/java/com/example/moviezone/service/CinemaService.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/service/CinemaService.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -7,3 +7,4 @@
 public interface CinemaService {
     List<Cinema> findAllCinemas();
+    Cinema findCinemaById(Integer id_cinema);
 }
Index: src/main/java/com/example/moviezone/service/Impl/CinemaServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/CinemaServiceImpl.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/service/Impl/CinemaServiceImpl.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -20,3 +20,8 @@
         return cinemaRepository.findAll();
     }
+
+    @Override
+    public Cinema findCinemaById(Integer id_cinema) {
+        return cinemaRepository.findById(id_cinema).orElseThrow(RuntimeException::new);
+    }
 }
Index: src/main/java/com/example/moviezone/service/Impl/UserServiceImpl.java
===================================================================
--- src/main/java/com/example/moviezone/service/Impl/UserServiceImpl.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/service/Impl/UserServiceImpl.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -1,8 +1,5 @@
 package com.example.moviezone.service.Impl;
 
-import com.example.moviezone.model.Customer;
-import com.example.moviezone.model.Role;
-import com.example.moviezone.model.User;
-import com.example.moviezone.model.Worker;
+import com.example.moviezone.model.*;
 import com.example.moviezone.model.exceptions.InvalidUsernameOrPasswordException;
 import com.example.moviezone.model.exceptions.PasswordsDoNotMatchException;
@@ -75,4 +72,10 @@
     }
 
+    @Override
+    public void registerWorker(String first_name, String last_name, String username, String email, String number, String password, String position, String work_hours_from, String work_hours_to, Cinema cinema) {
+        userRepository.save(new Worker(password,first_name,last_name,email,number,username,position,work_hours_from,work_hours_to,cinema));
+
+    }
+
 
 }
Index: src/main/java/com/example/moviezone/service/UserService.java
===================================================================
--- src/main/java/com/example/moviezone/service/UserService.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/service/UserService.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -1,4 +1,5 @@
 package com.example.moviezone.service;
 
+import com.example.moviezone.model.Cinema;
 import com.example.moviezone.model.Role;
 import com.example.moviezone.model.User;
@@ -13,3 +14,4 @@
     void register(String first_name, String last_name,String username, String email, String number, String password, Role role);
     User login(String username,String password);
+    void registerWorker(String first_name, String last_name, String username, String email, String number, String password, String position, String work_hours_from, String work_hours_to, Cinema cinema);
 }
Index: src/main/java/com/example/moviezone/web/HomeController.java
===================================================================
--- src/main/java/com/example/moviezone/web/HomeController.java	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/java/com/example/moviezone/web/HomeController.java	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -17,9 +17,12 @@
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import javax.transaction.Transactional;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -151,11 +154,11 @@
             model.addAttribute("hasError", true);
             model.addAttribute("error", e.getMessage());
-            return "/login";
-        }
-
-    }
-
-    @PostMapping()
-    public String register(@RequestParam String username,
+            return "login";
+        }
+
+    }
+
+    @PostMapping("/register")
+    public void register(@RequestParam String username,
                            @RequestParam String first_name,
                            @RequestParam String last_name,
@@ -164,16 +167,53 @@
                            @RequestParam String email,
                            @RequestParam String number,
-                           @RequestParam Role role)
-    {
+                           @RequestParam Role role,HttpServletResponse response, HttpSession session) throws IOException {
+
+        System.out.println(username + first_name+ last_name + password + repeatedPassword + email + number + role);
+        if(role.equals(Role.ROLE_ADMIN)){
+            session.setAttribute("username", username);
+            session.setAttribute("first_name", first_name);
+            session.setAttribute("last_name", last_name);
+            session.setAttribute("password", password);
+            session.setAttribute("repeatedPassword", repeatedPassword);
+            session.setAttribute("email", email);
+            session.setAttribute("number", number);
+            response.sendRedirect("/registerWorker");
+        }
+        else {
+            try {
+                userService.register(first_name,last_name,username,email,number,password,role);
+                response.sendRedirect( "redirect:/login");
+            }catch (PasswordsDoNotMatchException exception)
+            {
+//                return "redirect:/register?error=" + exception.getMessage();
+            }
+        }
+
+    }
+    @GetMapping("/registerWorker")
+    public String getRegisterWorkerPage(Model model){
+        model.addAttribute("cinemas",cinemaService.findAllCinemas());
+        model.addAttribute("bodyContent","registerWorker");
+        return "master-template";
+    }
+    @PostMapping("/finishRegister")
+    public void handleWorkerRegister(Model model, HttpServletResponse response, HttpSession session,
+                                     @RequestParam String position, @RequestParam String work_hours_from,
+                                     @RequestParam String work_hours_to,@RequestParam Integer id_cinema){
+        System.out.println("here?");
+        String username = (String) session.getAttribute("username");
+        String first_name = (String) session.getAttribute("first_name");
+        String last_name = (String) session.getAttribute("last_name");
+        String password = (String) session.getAttribute("password");
+        String email = (String) session.getAttribute("email");
+        String number = (String) session.getAttribute("number");
+        Cinema cinema=cinemaService.findCinemaById(id_cinema);
+        userService.registerWorker(first_name,last_name,username,email,number,password,position,work_hours_from,work_hours_to,cinema);
         try {
-           userService.register(first_name,last_name,username,email,number,password,role);
-            return "redirect:/login";
-        }catch (PasswordsDoNotMatchException exception)
-        {
-            return "redirect:/register?error=" + exception.getMessage();
-        }
-
-    }
-
+            response.sendRedirect("/login");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
 
     @GetMapping("/films")
Index: src/main/resources/templates/login.html
===================================================================
--- src/main/resources/templates/login.html	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/resources/templates/login.html	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -1,3 +1,5 @@
-
+<div class="container">
+    <h1 th:if="${hasError}" th:text="${error}"></h1>
+</div>
 <div>
     <form th:method="POST" th:action="@{/login}">
Index: src/main/resources/templates/register.html
===================================================================
--- src/main/resources/templates/register.html	(revision 17a2fdae9e250b294caa9ec83ad8931e33755be0)
+++ src/main/resources/templates/register.html	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -4,31 +4,36 @@
 <div class="container">
     <form class="form-signin mt-xl-5" method="post" action="/register">
-        <h2 class="form-signin-heading">Register</h2>
+        <h2 class="form-signin-heading" style="color: white">Регистрација</h2>
         <p>
-            <label for="username" class="sr-only">Корисничко име</label>
+            <label for="username" class="sr-only" style="color: white">Корисничко име</label>
             <input type="text" id="username" name="username" class="form-control" placeholder="Корисничко име" required=""
                    autofocus="">
         </p>
         <p>
-            <label for="password" class="sr-only">Лозинка</label>
+            <label for="password" class="sr-only" style="color: white">Лозинка</label>
             <input type="password" id="password" name="password" class="form-control" placeholder="Лозинка"
                    required="">
         </p>
         <p>
-            <label for="repeatedPassword" class="sr-only">Повтори лозинка</label>
+            <label for="repeatedPassword" class="sr-only" style="color: white">Повтори лозинка</label>
             <input type="password" id="repeatedPassword" name="repeatedPassword" class="form-control"
                    placeholder="Повтори лозинка" required="">
         </p>
         <p>
-            <label for="first_name" class="sr-only">Име</label>
+            <label for="first_name" class="sr-only" style="color: white">Име</label>
             <input type="text" id="first_name" name="first_name" class="form-control" placeholder="Име" required="" autofocus="">
         </p>
         <p>
-            <label for="last_name" class="sr-only">Презиме</label>
+            <label for="last_name" class="sr-only" style="color: white">Презиме</label>
             <input type="text" id="last_name" name="last_name" class="form-control" placeholder="Презиме" required=""
                    autofocus="">
         </p>
         <p>
-            <label for="number" class="sr-only">Телефонски број</label>
+            <label for="last_name" class="sr-only" style="color: white">Е-пошта</label>
+            <input type="text" id="email" name="email" class="form-control" placeholder="Е-пошта" required=""
+                   autofocus="">
+        </p>
+        <p>
+            <label for="number" class="sr-only" style="color: white">Телефонски број</label>
             <input type="text" id="number" name="number" class="form-control" placeholder="Телефонски број" required=""
                    autofocus="">
@@ -37,9 +42,9 @@
         <div class="form-check form-check-inline">
             <input class="form-check-input" name="role" type="radio" id="ROLE_ADMIN" value="ROLE_ADMIN">
-            <label class="form-check-label" for="ROLE_ADMIN">ROLE_ADMIN</label>
+            <label class="form-check-label" for="ROLE_ADMIN" style="color: white">ROLE_ADMIN</label>
         </div>
         <div class="form-check form-check-inline">
             <input class="form-check-input" name="role"  type="radio" id="ROLE_USER" value="ROLE_USER">
-            <label class="form-check-label" for="ROLE_USER">ROLE_USER</label>
+            <label class="form-check-label" for="ROLE_USER" style="color: white">ROLE_USER</label>
         </div>
         </p>
Index: src/main/resources/templates/registerWorker.html
===================================================================
--- src/main/resources/templates/registerWorker.html	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
+++ src/main/resources/templates/registerWorker.html	(revision 54444094b45e0d3d9666c117ed0c957c2900bca0)
@@ -0,0 +1,38 @@
+<div class="container">
+  <h1 th:if="${hasError}" th:text="${error}"></h1>
+</div>
+<div class="container">
+  <form class="form-signin mt-xl-5" method="post" action="/finishRegister">
+    <h2 class="form-signin-heading" style="color: white">Избери кино, внеси позиција и работно време</h2>
+
+    <div class="form-group">
+      <label style="color: white;font-size: 20px;font-weight: bold">Избери кинотека</label>
+      <select name="id_cinema" class="form-control" id="id_cinema">
+        <option
+                th:selected="${cinemas.get(1)}"
+                th:each="cinema : ${cinemas}"
+                th:value="${cinema.getId_cinema()}"
+                th:text="${cinema.getName()}">
+        </option>
+      </select>
+
+    </div>
+    <p>
+      <label for="position" class="sr-only" style="color: white">Позиција</label>
+      <input type="text" id="position" name="position" class="form-control" placeholder="Позиција" required=""
+             autofocus="">
+    </p>
+
+    <p>
+      <label for="work_hours_from" class="sr-only" style="color: white">Почеток работно време</label>
+      <input type="text" id="work_hours_from" name="work_hours_from" class="form-control" placeholder="Почеток работно време" required="" autofocus="">
+    </p>
+    <p>
+      <label for="work_hours_to" class="sr-only" style="color: white">Крај работно време</label>
+      <input type="text" id="work_hours_to" name="work_hours_to" class="form-control" placeholder="Крај работно време" required="" autofocus="">
+    </p>
+
+    <button class="btn btn-lg btn-primary btn-block" type="submit">Регистрирај се</button>
+  </form>
+
+</div>
