Changes in / [59a8941:a762b3a]


Ignore:
Location:
Prototype Application/Paw5/src/main
Files:
3 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/Adopter.java

    r59a8941 ra762b3a  
    4141
    4242    @Column(name = "verified_by_employee")
    43     private Integer verifiedByEmployeeId;
     43    private int verifiedByEmployeeId;
    4444
    4545    public Adopter(LocalDate dateCreated, String name, String email, String password, String telephone,
    4646                   FreeTime freeTime, Funds funds, boolean hasOtherPets, boolean hasKids, Housing housing,
    47                    PhysicalActivity physicalActivity, boolean willFoster, boolean verified) {
     47                   PhysicalActivity physicalActivity, boolean willFoster, boolean verified, int verifiedByEmployeeId) {
    4848        super(dateCreated, name, email, password, telephone);
    4949        this.freeTime = freeTime;
     
    5555        this.willFoster = willFoster;
    5656        this.verified = verified;
     57        this.verifiedByEmployeeId = verifiedByEmployeeId;
    5758    }
    5859
  • Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/Employee.java

    r59a8941 ra762b3a  
    1616
    1717    @Column(name = "id_shelter", nullable = false)
    18     private Integer shelterId;
     18    private int shelterId;
    1919
    2020    @Column(name = "is_verified", nullable = false)
     
    2222
    2323    @Column(name = "verified_by_admin")
    24     private Integer verifiedByAdminId;
     24    private int verifiedByAdminId;
    2525
    2626    public Employee(LocalDate dateCreated, String name, String email, String password, String telephone,
    27                     String position, int shelterId, boolean verified) {
     27                    String position, int shelterId, boolean verified, int verifiedByAdminId) {
    2828        super(dateCreated, name, email, password, telephone);
    2929        this.position = position;
    3030        this.shelterId = shelterId;
    3131        this.verified = verified;
     32        this.verifiedByAdminId = verifiedByAdminId;
    3233    }
    3334
  • Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/Shelter.java

    r59a8941 ra762b3a  
    2121
    2222    @Column(name = "id_organisation")
    23     private Integer organisationId;
     23    private int organisationId;
    2424
    2525    @Column(name = "name_shelter", nullable = false, length = 100)
     
    2929    private String email;
    3030
    31     public Shelter(String address, String telephone, Integer organisationId, String name, String email) {
     31    public Shelter(String address, String telephone, int organisationId, String name, String email) {
    3232        this.address = address;
    3333        this.telephone = telephone;
  • Prototype Application/Paw5/src/main/java/finki/paw5/repository/AdopterRepository.java

    r59a8941 ra762b3a  
    55import org.springframework.stereotype.Repository;
    66
    7 
    87@Repository
    98public interface AdopterRepository extends JpaRepository<Adopter, Integer> {
  • Prototype Application/Paw5/src/main/java/finki/paw5/repository/EmployeeRepository.java

    r59a8941 ra762b3a  
    22
    33import finki.paw5.model.entities.Employee;
    4 import finki.paw5.model.entities.Shelter;
    54import org.springframework.data.jpa.repository.JpaRepository;
    65import org.springframework.stereotype.Repository;
    7 
    8 import java.util.List;
    96
    107@Repository
  • Prototype Application/Paw5/src/main/java/finki/paw5/repository/ShelterRepository.java

    r59a8941 ra762b3a  
    55import org.springframework.stereotype.Repository;
    66
    7 import java.util.List;
    8 
    97@Repository
    108public interface ShelterRepository extends JpaRepository<Shelter, Integer> {
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/AuthService.java

    r59a8941 ra762b3a  
    44import finki.paw5.model.entities.Employee;
    55import finki.paw5.model.entities.User;
    6 import finki.paw5.model.enumerations.FreeTime;
    7 import finki.paw5.model.enumerations.Funds;
    8 import finki.paw5.model.enumerations.Housing;
    9 import finki.paw5.model.enumerations.PhysicalActivity;
     6
     7import java.util.Optional;
    108
    119public interface AuthService {
    1210    User login (String email, String password);
    13     Adopter registerAdopter(String name, String email, String password, String telephone, FreeTime freeTime, Funds funds, boolean hasOtherPets, boolean hasKids, Housing housing, PhysicalActivity physicalActivity, boolean willFoster);
    14     Employee registerEmployee(String name, String email, String password, String telephone, String position, Integer shelterId);
     11//    Adopter registerAdopter(String password, String repeatPassword, String name, String email, String telephone);
     12//    Employee registerEmployee(String password, String repeatPassword, String name, String email, String telephone);
    1513
    1614}
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/ShelterService.java

    r59a8941 ra762b3a  
    33import finki.paw5.model.entities.Shelter;
    44
    5 import java.util.List;
    65import java.util.Optional;
    76
    87public interface ShelterService {
    98    Optional<Shelter> findById(Integer id);
    10     List<Shelter> listShelters();
    119}
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/AuthServiceImpl.java

    r59a8941 ra762b3a  
    11package finki.paw5.service.implementation;
    22
    3 import finki.paw5.model.entities.Adopter;
    4 import finki.paw5.model.entities.Employee;
    53import finki.paw5.model.entities.User;
    6 import finki.paw5.model.enumerations.FreeTime;
    7 import finki.paw5.model.enumerations.Funds;
    8 import finki.paw5.model.enumerations.Housing;
    9 import finki.paw5.model.enumerations.PhysicalActivity;
    10 import finki.paw5.repository.AdopterRepository;
    11 import finki.paw5.repository.EmployeeRepository;
     4import finki.paw5.model.exceptions.NonExistingArgumentsException;
    125import finki.paw5.repository.UserRepository;
    136import finki.paw5.service.AuthService;
     
    158
    169import java.time.LocalDate;
     10import java.util.Objects;
     11import java.util.Optional;
    1712
    1813@Service
     
    2015
    2116    private final UserRepository userRepository;
    22     private final AdopterRepository adopterRepository;
    23     private final EmployeeRepository employeeRepository;
    2417
    25     public AuthServiceImpl(UserRepository userRepository, AdopterRepository adopterRepository, EmployeeRepository employeeRepository) {
     18    public AuthServiceImpl(UserRepository userRepository) {
    2619        this.userRepository = userRepository;
    27         this.adopterRepository = adopterRepository;
    28         this.employeeRepository = employeeRepository;
    2920    }
    3021
     
    3829    }
    3930
    40 
     31    /*
    4132    @Override
    42     public Adopter registerAdopter(String name, String email, String password, String telephone, FreeTime freeTime, Funds funds, boolean hasOtherPets, boolean hasKids, Housing housing, PhysicalActivity physicalActivity, boolean willFoster) {
    43         Adopter adopter = new Adopter(LocalDate.now(), name, email, password, telephone,freeTime,funds,hasOtherPets,hasKids,housing,physicalActivity,willFoster,false);
    44         return adopterRepository.save(adopter);
     33    public Adopter registerAdopter(String password, String repeatPassword, String name, String email, String telephone) {
     34        if (email == null || email.isEmpty() || password == null || password.isEmpty()) {
     35            //throw new Exception();
     36        }
     37        if (!password.equals(repeatPassword)) {
     38            //throw new Exception();
     39        }
     40        if (this.userRepository.findByEmail(email)!=null) {
     41            //throw new Exception("Username exists:"+email);
     42        }
     43        User user = new User(LocalDate.now(), name, email, password, telephone);
     44        return userRepository.save(user);
    4545    }
    46 
    47     @Override
    48     public Employee registerEmployee(String name, String email, String password, String telephone, String position, Integer shelterId) {
    49         Employee employee = new Employee(LocalDate.now(),name, email,password,telephone,position,shelterId,false);
    50         return employeeRepository.save(employee);
    51     }
    52 
     46    */
    5347}
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/ShelterServiceImplementation.java

    r59a8941 ra762b3a  
    66import org.springframework.stereotype.Service;
    77
    8 import java.util.List;
    98import java.util.Optional;
    109
     
    2221        return this.shelterRepository.findById(id);
    2322    }
    24 
    25     @Override
    26     public List<Shelter> listShelters() {
    27         return shelterRepository.findAll();
    28     }
    29 
    30 
    3123}
  • Prototype Application/Paw5/src/main/resources/templates/login.html

    r59a8941 ra762b3a  
    5353<style>
    5454  body{
    55     color: #212121;
     55    color: darkslategray;
    5656  }
    5757  form{
    58     background-color: lightgray;
     58    background-color: bisque;
    5959    text-align: center;
    6060    padding: 20px;
    6161    border-radius: 20px;
    6262    width: 60%;
    63     margin-left: 300px;
    6463  }
    6564  body{
     
    6766  }
    6867  #button{
    69     background-color: #212121;
     68    background-color: cadetblue;
    7069    color: azure;
    7170    border: none;
  • Prototype Application/Paw5/src/main/resources/templates/register.html

    r59a8941 ra762b3a  
    22<html lang="en" xmlns:th="http://www.thymeleaf.org">
    33<head>
    4     <meta charset="UTF-8">
    5     <title>Title</title>
    6     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
    7           integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    8     <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
    9             integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
    10             crossorigin="anonymous"></script>
    11     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    12             integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
    13             crossorigin="anonymous"></script>
    14     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    15             integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
    16             crossorigin="anonymous"></script>
     4  <meta charset="UTF-8">
     5  <title>Title</title>
     6  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
     7  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
     8  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
     9  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
    1710
    1811</head>
    1912<body>
    2013<header>
    21     <nav class="navbar navbar-expand-md navbar-dark bg-dark">
    22         <div class="container">
    23             <a class="navbar-brand" href="/home">Paw 5</a>
    24             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
    25                     aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
    26                 <span class="navbar-toggler-icon"></span>
    27             </button>
     14  <nav class="navbar navbar-expand-md navbar-dark bg-dark">
     15    <div class="container">
     16      <a class="navbar-brand" href="/home">Paw 5</a>
     17      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault"
     18              aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
     19        <span class="navbar-toggler-icon"></span>
     20      </button>
    2821
    29             <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault">
    30                 <ul class="navbar-nav m-auto">
    31                     <li class="nav-item m-auto">
    32                         <a class="nav-link active" href="/home/aboutUs">About us</a>
    33                     </li>
    34                     <li class="nav-item m-auto">
    35                         <a class="nav-link active" href="/login">Login</a>
    36                     </li>
    37                     <li class="nav-item m-auto">
    38                         <a class="nav-link active" href="/register">Register</a>
    39                     </li>
    40                 </ul>
    41             </div>
    42         </div>
    43     </nav>
     22      <div class="collapse navbar-collapse justify-content-end" id="navbarsExampleDefault">
     23        <ul class="navbar-nav m-auto">
     24          <li class="nav-item m-auto">
     25            <a class="nav-link active" href="/home/aboutUs">About us</a>
     26          </li>
     27          <li class="nav-item m-auto">
     28            <a class="nav-link active" href="/login">Login</a>
     29          </li>
     30          <li class="nav-item m-auto">
     31            <a class="nav-link active" href="/register">Register</a>
     32          </li>
     33        </ul>
     34      </div>
     35    </div>
     36  </nav>
    4437</header>
    45 <div id="middle">
     38<h3>You can take one or more roles on our site.</h3>
     39<p>You want to adopt or foster a pet? - You are an adopter <br>
     40  You want your pet to be adopted by another person? - You are a surendee <br>
     41  You want to donate to an organisation protection animal rights? - You are a donor<br>
     42  You work in one of our partner's shelters? - You are an employee <br>
     43</p>
     44<div>
     45  <form method="post" action="/register"> <!--vaka e na aud-->
    4646    <h1>Register</h1>
    47     <div>
    48         <form method="post" action="/register"> <!--vaka e na aud-->
    49             <label for="name">Name and surname:</label>
    50             <input type="text" id="name" name="name"><br><br>
     47    <label for="name">Name and surname:</label>
     48    <input type="text" id="name" name="name"><br><br>
    5149
    52             <label for="email">Email:</label>
    53             <input type="email" id="email" name="email"><br><br>
     50    <label for="email">Email:</label>
     51    <input type="email" id="email" name="email"><br><br>
    5452
    55             <label for="password">Password:</label>
    56             <input type="password" id="password" name="password"><br><br>
     53    <label for="password">Password:</label>
     54    <input type="password" id="password" name="password"><br><br>
    5755
    58             <label for="repeatPassword">Repeat password:</label>
    59             <input type="password" id="repeatPassword" name="repeatPassword"><br><br>
     56    <label for="repeatPassword">Repeat password:</label>
     57    <input type="password" id="repeatPassword" name="repeatPassword"><br><br>
    6058
    61             <label for="telephone">Telephone number:</label>
    62             <input type="text" id="telephone" name="telephone"><br><br>
    63 
    64           <hr><br><br>
     59    <label for="telephone">Telephone number:</label>
     60    <input type="text" id="telephone" name="telephone"><br><br>
    6561
    6662
    67             <!-- Employee -->
    68             <label class="role">Register as employee in a shelter</label>
    69             <input type="radio" name="role" value="employee"><br><br>
     63    <!-- Employee -->
     64    <label for="employee">Register as employee in a shelter</label>
     65    <input type="checkbox" id="employee" name="employee" value="yes"><br><br>
    7066
    71             <label for="shelter">For which shelter do you work for?</label>
    72             <select id="shelter" name="shelter">
     67    <label for="shelter">From which organisation are you coming from?</label>
     68    <select id="shelter" name="shelter" class="form-control">
    7369
    74                 <option
    75                         th:each="sh : ${shelters}"
    76                         th:value="${sh.getId()}"
    77                         th:text="${sh.getName()}">
    78                 </option>
     70      <option
     71              th:each="sh : ${shelters}"
     72              th:value="${sh.getId()}"
     73              th:text="${sh.getName()}">
     74      </option>
    7975
    80             </select><br><br>
     76    </select>
    8177
    82             <label for="position">Position:</label>
    83             <input type="text" id="position" name="position"><br><br>
    84 
    85           <hr><br><br>
     78    <label for="position">Register as employee in a shelter</label>
     79    <input type="text" id="position" name="position" value="yes"><br><br>
    8680
    8781
    88             <!-- Adopter -->
    89             <label class="role">Register as an adopter</label>
    90             <input type="radio" name="role" value="adopter"><br><br>
     82    <!-- Adopter -->
     83    <label for="adopter">Register as adopter</label>
     84    <input type="checkbox" id="adopter" name="adopter" value="yes"><br><br>
    9185
    92             <p>
    93                 *the following information is needed so we can provide our best services for you*
    94             </p>
     86    <label for="freeTime">Free time:</label>
     87    <select id="freeTime" name="freeTime">
     88      <option value="LOW">low</option>
     89      <option value="MEDIUM">medium</option>
     90      <option value="HIGH">high</option>
     91    </select><br><br>
    9592
    96             <label for="freeTime">Free time:</label>
    97             <select id="freeTime" name="freeTime">
    98                 <option value="LOW">low</option>
    99                 <option value="MEDIUM">medium</option>
    100                 <option value="HIGH">high</option>
    101             </select><br><br>
     93    <label for="funds">Finances:</label>
     94    <select id="funds" name="funds">
     95      <option value="LOW">low</option>
     96      <option value="MEDIUM">medium</option>
     97      <option value="HIGH">high</option>
     98    </select><br><br>
    10299
    103             <label for="funds">Finances:</label>
    104             <select id="funds" name="funds">
    105                 <option value="LOW">low</option>
    106                 <option value="MEDIUM">medium</option>
    107                 <option value="HIGH">high</option>
    108             </select><br><br>
     100    <label for="hasOtherPets">You keep other pets</label>
     101    <input type="checkbox" id="hasOtherPets" name="hasOtherPets" value="yes"> Yes <br><br>
    109102
    110             <label>Do you keep other pets?</label>
    111             <input type="radio" class="hasPets" name="hasOtherPets" value=true> Yes
    112             <input type="radio" class="hasPets" name="hasOtherPets" value=false> No <br><br>
     103    <label for="hasKids">The adopted pet will have interaction with kids</label>
     104    <input type="checkbox" id="hasKids" name="hasKids" value="yes"><br><br>
    113105
    114             <label>Will the adopted pet have interaction with kids?</label>
    115             <input type="radio" name="hasKids" value=true>Yes
    116             <input type="radio" name="hasKids" value=false>No<br><br>
     106    <label for="housing">Housing:</label>
     107    <select id="housing" name="housing">
     108      <option value="APARTMENT">apartment</option>
     109      <option value="HOUSE">house</option>
     110    </select><br><br>
    117111
    118             <label for="housing">Housing:</label>
    119             <select id="housing" name="housing">
    120                 <option value="APARTMENT">apartment</option>
    121                 <option value="HOUSE">house</option>
    122             </select><br><br>
     112    <label for="physicalActivity">Physical activity:</label>
     113    <select id="physicalActivity" name="physicalActivity">
     114      <option value="LOW">low</option>
     115      <option value="MEDIUM">medium</option>
     116      <option value="HIGH">high</option>
     117    </select><br><br>
    123118
    124             <label for="physicalActivity">Physical activity:</label>
    125             <select id="physicalActivity" name="physicalActivity">
    126                 <option value="LOW">low</option>
    127                 <option value="MEDIUM">medium</option>
    128                 <option value="HIGH">high</option>
    129             </select><br><br>
     119    <label for="willFoster">The adopted pet will have interaction with kids</label>
     120    <input type="checkbox" id="willFoster" name="willFoster" value="yes"><br><br>
    130121
    131             <label>Are you willing to foster?</label>
    132             <input type="radio" name="willFoster" value=true>Yes
    133             <input type="radio" name="willFoster" value=false>No<br><br>
     122    <!-- Donor -->
     123    <label for="donor">Register as donor</label>
     124    <input type="checkbox" id="donor" name="donor" value="yes"><br><br>
    134125
    135           <hr><br>
     126    <label for="organisation">From which organisation are you coming from?</label>
     127    <select id="organisation" name="organisation">
     128      <option value="EVN">EVN</option>
     129    </select><br><br>
    136130
    137             <!-- Donor -->
    138             <label class="role">Register as donor</label>
    139             <input type="radio" name="role" value="donor"><br><br>
     131    <!-- Surendee -->
     132    <label for="surendee">Register as surendee</label>
     133    <input type="checkbox" id="surendee" name="surendee" value="yes"><br><br>
    140134
    141             <label for="organisation">From which organisation are you coming from?</label>
    142             <select id="organisation" name="organisation">
    143                 <option
    144                         th:each="sh : ${organisations}"
    145                         th:value="${sh.getId()}"
    146                         th:text="${sh.getName()}">
    147                 </option>
    148             </select><br><br>
    149 
    150           <hr><br>
    151 
    152             <!-- Surendee -->
    153             <label class="role">Register as surendee</label>
    154             <input type="radio" name="role" value="surendee"><br><br>
    155 
    156             <input id="button" type="submit" value="Submit">
    157         </form>
    158     </div>
    159   <p>You want to adopt or foster a pet? - You are an adopter <br>
    160     You want your pet to be adopted by another person? - You are a surendee <br>
    161     You want to donate to an organisation protection animal rights? - You are a donor<br>
    162     You work in one of our partner's shelters? - You are an employee <br>
    163   </p>
     135    <input id="button" type="submit" value="Submit">
     136  </form>
    164137</div>
    165138</body>
    166139<style>
    167     body {
    168         color: #212121;
    169     }
    170 
    171     form {
    172         background-color: lightgray;
    173         text-align: center;
    174         padding: 20px;
    175         border-radius: 20px;
    176         width: 60%;
    177         margin-left: 300px;
    178     }
    179 
    180     body {
    181         font-family: Montserrat, serif;
    182     }
    183 
    184     #button {
    185         background-color: #212121;
    186         color: azure;
    187         border: none;
    188         height: 40px;
    189         width: 80px;
    190         border-radius: 20px;
    191     }
    192     #middle{
    193       text-align: center;
    194     }
    195     .role{
    196       color:darkred;
    197     }
     140  body{
     141    color: darkslategray;
     142  }
     143  form{
     144    background-color: bisque;
     145    text-align: center;
     146    padding: 20px;
     147    border-radius: 20px;
     148    width: 60%;
     149  }
     150  body{
     151    font-family: Montserrat,serif;
     152  }
     153  #button{
     154    background-color: cadetblue;
     155    color: azure;
     156    border: none;
     157    height: 40px;
     158    width: 80px;
     159    border-radius: 20px;
     160  }
    198161</style>
    199162</html>
Note: See TracChangeset for help on using the changeset viewer.