Index: src/main/java/com/example/autopartz/config/WebSecurityConfig.java
===================================================================
--- src/main/java/com/example/autopartz/config/WebSecurityConfig.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/config/WebSecurityConfig.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -29,5 +29,5 @@
                 .authorizeRequests()
                 .antMatchers("/", "/products", "/services", "/filtered", "/login", "/register","/registerWarehouseman","/finishRegister","/test/*","/access_denied").permitAll()
-                .antMatchers("/orders","/repairs","/reviews","/part/*","/currentOrder").hasRole("CLIENT")
+                .antMatchers("/orders","/repairs","/reviews","/part/*","/currentOrder","/addCarSampleForUser").hasRole("CLIENT")
                 .antMatchers("/viewUsers","/approve/*").hasRole("ADMIN")
                 .anyRequest()
Index: src/main/java/com/example/autopartz/controller/AdminController.java
===================================================================
--- src/main/java/com/example/autopartz/controller/AdminController.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/controller/AdminController.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -1,7 +1,9 @@
 package com.example.autopartz.controller;
 
+import com.example.autopartz.model.Deliveryman;
 import com.example.autopartz.model.Role;
 import com.example.autopartz.model.User;
 import com.example.autopartz.model.Warehouseman;
+import com.example.autopartz.repository.DeliverymanRepository;
 import com.example.autopartz.repository.WarehousemanRepository;
 import com.example.autopartz.service.UserService;
@@ -13,5 +15,4 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 
-import javax.annotation.security.RolesAllowed;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -25,8 +26,10 @@
     private final UserService userService;
     private final WarehousemanRepository warehousemanRepository;
+    private final DeliverymanRepository deliverymanRepository;
 
-    public AdminController(UserService userService, WarehousemanRepository warehousemanRepository) {
+    public AdminController(UserService userService, WarehousemanRepository warehousemanRepository, DeliverymanRepository deliverymanRepository) {
         this.userService = userService;
         this.warehousemanRepository = warehousemanRepository;
+        this.deliverymanRepository = deliverymanRepository;
     }
 
@@ -44,4 +47,10 @@
             wh.setEmployed_from(LocalDate.now());
             warehousemanRepository.save(wh);
+
+        }
+        else {
+            Deliveryman dm = (Deliveryman) userService.findById(id);
+            dm.setEmployed_from(LocalDate.now());
+            deliverymanRepository.save(dm);
             try {
                 response.sendRedirect("/viewUsers");
Index: src/main/java/com/example/autopartz/controller/PartController.java
===================================================================
--- src/main/java/com/example/autopartz/controller/PartController.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/controller/PartController.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -1,10 +1,8 @@
 package com.example.autopartz.controller;
 
-import com.example.autopartz.model.Client;
-import com.example.autopartz.model.Order;
-import com.example.autopartz.model.Part;
-import com.example.autopartz.model.User;
+import com.example.autopartz.model.*;
 import com.example.autopartz.model.manytomany.OrderContainsPart;
-import com.example.autopartz.repository.OrderContainsPartRepository;
+import com.example.autopartz.model.manytomany.RsForCm;
+import com.example.autopartz.repository.*;
 import com.example.autopartz.service.*;
 import org.springframework.stereotype.Controller;
@@ -16,4 +14,6 @@
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 @Controller
@@ -26,5 +26,11 @@
     private final UserService userService;
     private final OrderContainsPartRepository orderContainsPartRepository;
-    public PartController(PartService partService, RepairShopService repairShopService, PriceService priceService, OrderService orderService, UserService userService, OrderContainsPartRepository orderContainsPartRepository) {
+    private final DeliveryRepository deliveryRepository;
+    private final RepairRepository repairRepository;
+    private final CarSampleRepository carSampleRepository;
+    private final ServiceBookRepository serviceBookRepository;
+    private final DeliverymanRepository deliverymanRepository;
+    private final RsForCmRepository rsForCmRepository;
+    public PartController(PartService partService, RepairShopService repairShopService, PriceService priceService, OrderService orderService, UserService userService, OrderContainsPartRepository orderContainsPartRepository, DeliveryRepository deliveryRepository, RepairRepository repairRepository, CarSampleRepository carSampleRepository, ServiceBookRepository serviceBookRepository, DeliverymanRepository deliverymanRepository, RsForCmRepository rsForCmRepository) {
         this.partService = partService;
         this.repairShopService = repairShopService;
@@ -33,4 +39,10 @@
         this.userService = userService;
         this.orderContainsPartRepository = orderContainsPartRepository;
+        this.deliveryRepository = deliveryRepository;
+        this.repairRepository = repairRepository;
+        this.carSampleRepository = carSampleRepository;
+        this.serviceBookRepository = serviceBookRepository;
+        this.deliverymanRepository = deliverymanRepository;
+        this.rsForCmRepository = rsForCmRepository;
     }
     @GetMapping("/{id}")
@@ -44,12 +56,55 @@
     }
     @GetMapping("/delivery")
-    public String getDeliveryPage(Model model){
-        model.addAttribute("repairShops",repairShopService.findAll());
+    public String getDeliveryPage(Model model, HttpServletRequest request){
+        Client cl = (Client) userService.findByUsername(request.getRemoteUser());
+        List<CarSample> cs = carSampleRepository.findAllByClient(cl);
+        model.addAttribute("cars",cs);
+        if(cs.size()==0){
+                model.addAttribute("hasError",true);
+                model.addAttribute("error","Внеси твоја кола");
+        }
+        else {
+            model.addAttribute("hasError",false);
+        }
         model.addAttribute("bodyContent","deliveryForPart");
         return "master-template";
     }
     @PostMapping("/repairshopdelivery")
-    public void setRepairShopDelivery(@RequestParam String name, HttpServletResponse response, HttpSession session){
+    public void setRepairShopDelivery(@RequestParam Integer vin, HttpServletResponse response, HttpSession session, HttpServletRequest request){
         // insert into project.repair (vin, id_repair_shop, id_service_book) values (1111,3,1)
+        session.setAttribute("carVin",vin);
+        try {
+            response.sendRedirect("/part/chooseRepairShop");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/chooseRepairShop")
+    public String chooseRepairShop(Model model, HttpSession session){
+        if(session.getAttribute("carVin")==null){
+            model.addAttribute("hasError",true);
+            model.addAttribute("error","Внеси твоја кола");
+        }
+        else {
+            model.addAttribute("hasError", false);
+            CarSample cs = carSampleRepository.findById((Integer) session.getAttribute("carVin")).get();
+            Integer idCM = cs.getCar().getCar_manufacturer().getID_car_manufacturer();
+            List<RsForCm> rsForCm = rsForCmRepository.findAllByCmid(idCM);
+            List<RepairShop> newRepairShopList = new ArrayList<>();
+            for (RsForCm forCm : rsForCm) {
+                newRepairShopList.add(repairShopService.getById(forCm.getRsid()));
+            }
+            model.addAttribute("authorized", newRepairShopList);
+        }
+        model.addAttribute("bodyContent", "chooseRepairShop");
+        return "master-template";
+    }
+    @PostMapping("/chooseRepairShop")
+    public void chooseRepairShop(@RequestParam Integer rs,HttpSession session, HttpServletResponse response){
+        Order o = (Order) session.getAttribute("order");
+        CarSample cs = (CarSample)session.getAttribute("car");
+        ServiceBook sb = serviceBookRepository.findByCarSample(cs);
+        RepairShop repairShop = repairShopService.getById(rs);
+        repairRepository.save(new Repair(o,repairShop,sb));
         session.removeAttribute("order");
         try {
@@ -62,4 +117,10 @@
     public void setHomeDelivery(@RequestParam String address, HttpServletResponse response, HttpSession session){
         // insert into delivery (delivery_status, delivery_address,id_user,id_order) values ('in progress','Aerodrom',4,1)
+        Order o = (Order) session.getAttribute("order");
+        List<Deliveryman> deliverymanList = deliverymanRepository.findAll().stream().filter(dm->dm.getAuthorities().contains(Role.ROLE_DELIVERYMAN)).toList();
+        int num = deliverymanList.size();
+        int deliverer =  (int) ((Math.random() * (num)));
+        Deliveryman dm = deliverymanList.get(deliverer);
+        deliveryRepository.save(new Delivery("in progress",address,dm,o));
         session.removeAttribute("order");
         try {
Index: src/main/java/com/example/autopartz/controller/UserController.java
===================================================================
--- src/main/java/com/example/autopartz/controller/UserController.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/controller/UserController.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -1,15 +1,20 @@
 package com.example.autopartz.controller;
 
-import com.example.autopartz.repository.OrdersForUserRepository;
-import com.example.autopartz.repository.RepairsForUserRepository;
-import com.example.autopartz.repository.ReviewsForUserRepository;
+import com.example.autopartz.model.CarSample;
+import com.example.autopartz.model.Client;
+import com.example.autopartz.model.ServiceBook;
+import com.example.autopartz.repository.*;
+import com.example.autopartz.service.CarService;
 import com.example.autopartz.service.UserService;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 
 @Controller
@@ -20,9 +25,15 @@
     private final ReviewsForUserRepository reviewsForUserRepository;
     private final UserService userService;
-    public UserController(OrdersForUserRepository ordersForUserRepository, RepairsForUserRepository repairsForUserRepository, ReviewsForUserRepository reviewsForUserRepository, UserService userService) {
+    private final CarService carService;
+    private final CarSampleRepository carSampleRepository;
+    private final ServiceBookRepository serviceBookRepository;
+    public UserController(OrdersForUserRepository ordersForUserRepository, RepairsForUserRepository repairsForUserRepository, ReviewsForUserRepository reviewsForUserRepository, UserService userService, CarService carService, CarSampleRepository carSampleRepository, ServiceBookRepository serviceBookRepository) {
         this.ordersForUserRepository = ordersForUserRepository;
         this.repairsForUserRepository = repairsForUserRepository;
         this.reviewsForUserRepository = reviewsForUserRepository;
         this.userService = userService;
+        this.carService = carService;
+        this.carSampleRepository = carSampleRepository;
+        this.serviceBookRepository = serviceBookRepository;
     }
     @GetMapping("orders")
@@ -47,3 +58,23 @@
         return "master-template";
     }
+    @GetMapping("/addCarSampleForUser")
+    public String addCarSampleForUser(Model model){
+        model.addAttribute("bodyContent","addCarSampleForUser");
+        model.addAttribute("cars",carService.findAll());
+        return "master-template";
+    }
+    @PostMapping("/addCarSampleForUser")
+    public void addCarSampleForUser(@RequestParam Integer vin, @RequestParam Integer year, @RequestParam Integer power,
+                                    @RequestParam Integer displacement, @RequestParam String fuel,
+                                    @RequestParam Integer km, @RequestParam Integer cartype,
+                                    HttpServletRequest request, HttpServletResponse response){
+        CarSample cs = new CarSample(vin,year,power,displacement,fuel,km, (Client) userService.findByUsername(request.getRemoteUser()),carService.findById(cartype));
+        carSampleRepository.save(cs);
+        serviceBookRepository.save(new ServiceBook(cs));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
Index: src/main/java/com/example/autopartz/model/Car.java
===================================================================
--- src/main/java/com/example/autopartz/model/Car.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/model/Car.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -18,5 +18,6 @@
 public class Car {
     @Id
-    Integer ID_car;
+    @Column(name = "ID_car")
+    Integer id;
     Integer in_production_since;
     Integer in_production_till;
@@ -32,5 +33,5 @@
         if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
         Car car = (Car) o;
-        return ID_car != null && Objects.equals(ID_car, car.ID_car);
+        return id != null && Objects.equals(id, car.id);
     }
 
Index: src/main/java/com/example/autopartz/model/CarSample.java
===================================================================
--- src/main/java/com/example/autopartz/model/CarSample.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/model/CarSample.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -31,4 +31,16 @@
     Car car;
 
+
+    public CarSample(Integer vin,Integer year_of_production, Integer engine_power, Integer displacement, String fuel_type, Integer km_driven, Client client, Car car) {
+        this.vin = vin;
+        this.year_of_production = year_of_production;
+        this.engine_power = engine_power;
+        this.displacement = displacement;
+        this.fuel_type = fuel_type;
+        this.km_driven = km_driven;
+        this.client = client;
+        this.car = car;
+    }
+
     @Override
     public boolean equals(Object o) {
Index: src/main/java/com/example/autopartz/model/Delivery.java
===================================================================
--- src/main/java/com/example/autopartz/model/Delivery.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/model/Delivery.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -17,4 +17,5 @@
 public class Delivery {
     @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
     Integer ID_delivery;
     @Column(name = "delivery_status")
@@ -28,4 +29,11 @@
     @OneToOne
     Order order;
+
+    public Delivery(String status, String address, Deliveryman deliveryman, Order order) {
+        this.status = status;
+        this.address = address;
+        this.deliveryman = deliveryman;
+        this.order = order;
+    }
 
     @Override
Index: src/main/java/com/example/autopartz/model/Repair.java
===================================================================
--- src/main/java/com/example/autopartz/model/Repair.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/model/Repair.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -17,4 +17,5 @@
 public class Repair {
     @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
     Integer ID_repair;
     @OneToOne
@@ -27,4 +28,10 @@
     @JoinColumn(name = "id_service_book")
     ServiceBook serviceBook;
+
+    public Repair(Order order, RepairShop repairShop, ServiceBook serviceBook) {
+        this.order = order;
+        this.repairShop = repairShop;
+        this.serviceBook = serviceBook;
+    }
 
     @Override
Index: src/main/java/com/example/autopartz/model/ServiceBook.java
===================================================================
--- src/main/java/com/example/autopartz/model/ServiceBook.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/model/ServiceBook.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -19,9 +19,16 @@
 public class ServiceBook {
     @Id
-    Integer ID_service_book;
+    @Column(name = "ID_service_book")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    Integer id;
     LocalDateTime sb_created_on;
     @OneToOne
     @JoinColumn(name = "vin")
     CarSample carSample;
+
+    public ServiceBook(CarSample carSample) {
+        this.sb_created_on = LocalDateTime.now();
+        this.carSample = carSample;
+    }
 
     @Override
@@ -30,5 +37,5 @@
         if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) return false;
         ServiceBook that = (ServiceBook) o;
-        return ID_service_book != null && Objects.equals(ID_service_book, that.ID_service_book);
+        return id != null && Objects.equals(id, that.id);
     }
 
Index: src/main/java/com/example/autopartz/model/manytomany/RsForCm.java
===================================================================
--- src/main/java/com/example/autopartz/model/manytomany/RsForCm.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/model/manytomany/RsForCm.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,24 @@
+package com.example.autopartz.model.manytomany;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.*;
+
+@Entity
+@Getter
+@Setter
+@ToString
+@RequiredArgsConstructor
+@Table(name = "`repair_shop_is_authorized_for_car_make`")
+@IdClass(RsForCmId.class)
+public class RsForCm {
+    @Id
+    @Column(name = "id_repair_shop")
+    Integer rsid;
+    @Column(name = "id_car_manufacturer")
+    @Id
+    Integer cmid;
+}
Index: src/main/java/com/example/autopartz/model/manytomany/RsForCmId.java
===================================================================
--- src/main/java/com/example/autopartz/model/manytomany/RsForCmId.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/model/manytomany/RsForCmId.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,11 @@
+package com.example.autopartz.model.manytomany;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class RsForCmId implements Serializable {
+    Integer rsid;
+    Integer cmid;
+}
Index: src/main/java/com/example/autopartz/repository/CarSampleRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/CarSampleRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/repository/CarSampleRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,11 @@
+package com.example.autopartz.repository;
+
+import com.example.autopartz.model.CarSample;
+import com.example.autopartz.model.Client;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.List;
+
+public interface CarSampleRepository extends JpaRepository<CarSample,Integer> {
+    List<CarSample> findAllByClient(Client client);
+}
Index: src/main/java/com/example/autopartz/repository/DeliverymanRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/DeliverymanRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/repository/DeliverymanRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,7 @@
+package com.example.autopartz.repository;
+
+import com.example.autopartz.model.Deliveryman;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface DeliverymanRepository extends JpaRepository<Deliveryman,Integer> {
+}
Index: src/main/java/com/example/autopartz/repository/RepairRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/RepairRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/repository/RepairRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,7 @@
+package com.example.autopartz.repository;
+
+import com.example.autopartz.model.Repair;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface RepairRepository extends JpaRepository<Repair,Integer> {
+}
Index: src/main/java/com/example/autopartz/repository/RepairShopRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/RepairShopRepository.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/repository/RepairShopRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -7,4 +7,4 @@
 @Repository
 public interface RepairShopRepository extends JpaRepository<RepairShop,Integer> {
-
+    RepairShop getRepairShopByName(String name);
 }
Index: src/main/java/com/example/autopartz/repository/RsForCmRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/RsForCmRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/repository/RsForCmRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,11 @@
+package com.example.autopartz.repository;
+
+import com.example.autopartz.model.manytomany.RsForCm;
+import com.example.autopartz.model.manytomany.RsForCmId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.util.List;
+
+public interface RsForCmRepository extends JpaRepository<RsForCm, RsForCmId> {
+    List<RsForCm> findAllByCmid(Integer cmid);
+}
Index: src/main/java/com/example/autopartz/repository/ServiceBookRepository.java
===================================================================
--- src/main/java/com/example/autopartz/repository/ServiceBookRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/java/com/example/autopartz/repository/ServiceBookRepository.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,9 @@
+package com.example.autopartz.repository;
+
+import com.example.autopartz.model.CarSample;
+import com.example.autopartz.model.ServiceBook;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ServiceBookRepository extends JpaRepository<ServiceBook, Integer> {
+    ServiceBook findByCarSample(CarSample carSample);
+}
Index: src/main/java/com/example/autopartz/service/CarService.java
===================================================================
--- src/main/java/com/example/autopartz/service/CarService.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/service/CarService.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -7,3 +7,4 @@
 public interface CarService {
     List<Car> findAll();
+    Car findById(Integer id);
 }
Index: src/main/java/com/example/autopartz/service/RepairShopService.java
===================================================================
--- src/main/java/com/example/autopartz/service/RepairShopService.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/service/RepairShopService.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -7,3 +7,5 @@
 public interface RepairShopService {
     List<RepairShop> findAll();
+    RepairShop getByName(String name);
+    RepairShop getById(Integer id);
 }
Index: src/main/java/com/example/autopartz/service/impl/CarServiceImpl.java
===================================================================
--- src/main/java/com/example/autopartz/service/impl/CarServiceImpl.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/service/impl/CarServiceImpl.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -20,3 +20,8 @@
         return carRepository.findAll();
     }
+
+    @Override
+    public Car findById(Integer id) {
+        return carRepository.findById(id).get();
+    }
 }
Index: src/main/java/com/example/autopartz/service/impl/RepairShopServiceImpl.java
===================================================================
--- src/main/java/com/example/autopartz/service/impl/RepairShopServiceImpl.java	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/java/com/example/autopartz/service/impl/RepairShopServiceImpl.java	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -20,3 +20,13 @@
         return repairShopRepository.findAll();
     }
+
+    @Override
+    public RepairShop getByName(String name) {
+        return repairShopRepository.getRepairShopByName(name);
+    }
+
+    @Override
+    public RepairShop getById(Integer id) {
+        return repairShopRepository.findById(id).get();
+    }
 }
Index: src/main/resources/templates/addCarSampleForUser.html
===================================================================
--- src/main/resources/templates/addCarSampleForUser.html	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/resources/templates/addCarSampleForUser.html	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,45 @@
+<div>
+  <form class="form-signin mt-xl-5" method="post" action="/addCarSampleForUser">
+    <h2 class="form-signin-heading">Додај ја својата кола</h2>
+    <p>
+      <label for="vin" class="sr-only">Број на шасија</label>
+      <input type="number" id="vin" name="vin" class="form-control" placeholder="Внеси го бројот на шасија" required="" autofocus=""/>
+    </p>
+    <p>
+      <label for="year" class="sr-only">Година на производство</label>
+      <input type="number" id="year" name="year" class="form-control" placeholder="Внеси ја годината на производство" required="" autofocus=""/>
+    </p>
+    <p>
+      <label for="power" class="sr-only">Јачина на мотор</label>
+      <input type="number" id="power" name="power" class="form-control" placeholder="Внеси јачина на мотор" required="" autofocus=""/>
+    </p>
+    <p>
+      <label for="displacement" class="sr-only">Зафатнина</label>
+      <input type="number" id="displacement" name="displacement" class="form-control" placeholder="Внеси зафатнина" required=""/>
+    </p>
+    <p>
+      <label for="fuel" class="sr-only">
+        Одбери тип на гориво
+      </label><select class="form-control" id="fuel" name="fuel" required>
+      <option value="Petrol">Petrol</option>
+      <option value="Diesel">Diesel</option>
+      <option value="Petrol/Gas">Petrol/Gas</option>
+    </select>
+    </p>
+    <p>
+      <label for="km" class="sr-only">Поминати километри</label>
+      <input type="number" id="km" name="km" class="form-control" placeholder="Додај поминати километри.." required=""/>
+    </p>
+    <p>
+      <label for="cartype" class="sr-only">
+        Одбери од кој тип на кола
+      </label><select class="form-control" id="cartype" name="cartype" required>
+      <option  th:each="car : ${cars}"
+               th:text="${car.getCartype()}"
+               th:value="${car.getId()}">
+      </option>
+    </select>
+    </p>
+    <button class="btn btn-lg btn-primary btn-block" type="submit">Додај кола</button>
+  </form>
+</div>
Index: src/main/resources/templates/chooseRepairShop.html
===================================================================
--- src/main/resources/templates/chooseRepairShop.html	(revision f484b14ac6839719d4237822f088e088abec9846)
+++ src/main/resources/templates/chooseRepairShop.html	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -0,0 +1,18 @@
+<div>
+  <h1 th:if="${hasError}" th:text="${error}"></h1>
+  <div th:if="${!hasError}">
+  <h3>Достава до овластен сервис</h3>
+  <form class="form-signin mt-xl-5" method="post" action="/part/chooseRepairShop">
+    <p>
+      <label for="rs" class="sr-only">Избор на сервис</label>
+      <select id="rs" required name="rs">
+        <option  th:each="aut : ${authorized}"
+                 th:text="${aut.getName()}"
+                 th:value="${aut.getId()}">
+        </option>
+      </select>
+    </p>
+    <button class="btn btn-lg btn-primary btn-block" type="submit">Достава до сервис</button>
+  </form>
+  </div>
+</div>
Index: src/main/resources/templates/deliveryForPart.html
===================================================================
--- src/main/resources/templates/deliveryForPart.html	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/resources/templates/deliveryForPart.html	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -13,16 +13,20 @@
   </form>
   <h3>Достава до овластен сервис</h3>
+  <h1 th:if="${hasError}" th:text="${error}"></h1>
+  <div th:if="${!hasError}">
   <form class="form-signin mt-xl-5" method="post" action="/part/repairshopdelivery">
     <p>
-      <label for="repairShop" class="sr-only">Избор на овластен сервис</label>
-      <select id="repairShop" required name="name">
-        <option  th:each="rs : ${repairShops}"
-                 th:text="${rs.getName()}"
-                 th:value="${rs.getId()}">
+      <span>Избор на некоја од твоите коли</span>
+      <label for="vin" class="sr-only">Избор на некоја од твоите коли</label>
+      <select id="vin" required name="vin">
+        <option  th:each="car : ${cars}"
+                 th:text="${car.getCar().getCartype()}"
+                 th:value="${car.getVin()}">
         </option>
       </select>
     </p>
-    <button class="btn btn-lg btn-primary btn-block" type="submit">Достава до сервис</button>
+    <button class="btn btn-lg btn-primary btn-block" type="submit">Следно</button>
   </form>
+  </div>
 </main>
 
Index: src/main/resources/templates/fragments/header.html
===================================================================
--- src/main/resources/templates/fragments/header.html	(revision 1bd8d1ecea6caeb46112d4e4b23379b6bbd9ce31)
+++ src/main/resources/templates/fragments/header.html	(revision f484b14ac6839719d4237822f088e088abec9846)
@@ -20,4 +20,9 @@
             <a class="nav-link active" href="/currentOrder">Моја нарачка</a>
           </li>
+          </th:block>
+          <th:block sec:authorize="hasAuthority('ROLE_CLIENT')">
+            <li class="nav-item m-auto">
+              <a class="nav-link active" href="/addCarSampleForUser">Додај примерок од кола</a>
+            </li>
           </th:block>
           <th:block sec:authorize="hasAuthority('ROLE_WAREHOUSEMAN')">
