Browse Source

Готова регистрация. Ошибки прописаны. Осталась авторизация студентов

Кинетик 5 years ago
parent
commit
b576156d2e

+ 9 - 0
src/EntitiesDao/AdminDao.java

@@ -48,4 +48,13 @@ public class AdminDao {
         session.getTransaction().commit();
         session.close();
     }
+    public static boolean checkIsAdmin(ModeratorsEntity admin){
+        Session session = getSession();
+        Query query = session.createQuery("FROM ModeratorsEntity WHERE modFamily="+admin.getModFamily()+ " and modFirstName="+admin.getModFirstName()+" and modSecName="+admin.getModSecName()+" and modBirthdate="+admin.getModBirthdate());
+        List<ModeratorsEntity> res = query.list();
+        if(res.size()==0){
+            return false;
+        }
+        return true;
+    }
 }

+ 9 - 0
src/EntitiesDao/ClientsDao.java

@@ -46,4 +46,13 @@ public class ClientsDao {
         session.getTransaction().commit();
         session.close();
     }
+    public static boolean checkIsClient(ClientsEntity client){
+        Session session = getSession();
+        Query query = session.createQuery("FROM ClientsEntity WHERE clFamily="+client.getClFamily()+" and clFirstName="+client.getClFirstName()+" and clSecName="+client.getClSecName());
+        List<ClientsEntity> res = query.list();
+        if(res.size()==0){
+            return false;
+        }
+        return true;
+    }
 }

+ 1 - 1
src/controller/controller.java

@@ -115,7 +115,7 @@ public class controller {
         }
         return mv;
     }
-    @RequestMapping(value = "/loadStudents", headers = "Accept=*/*", method = RequestMethod.GET)
+    @RequestMapping(value = "/loadStudents", method = RequestMethod.GET)
     public @ResponseBody
     List<StudentsEntity> loadStudents(@RequestParam(value = "groupId", required = true) Integer groupId) throws IllegalStateException {
         List<StudentsEntity> stList = loadStudent(groupId);

+ 70 - 1
src/controller/registrationController.java

@@ -12,7 +12,9 @@ import org.springframework.web.servlet.ModelAndView;
 
 import java.util.List;
 
+import static EntitiesDao.AdminDao.checkIsAdmin;
 import static EntitiesDao.AdminDao.createNewAdmin;
+import static EntitiesDao.ClientsDao.checkIsClient;
 import static EntitiesDao.GroupDao.getGroupList;
 import static EntitiesDao.StudentDao.checkIsStudent;
 import static EntitiesDao.StudentDao.createNewStudent;
@@ -54,6 +56,7 @@ public class registrationController {
     }
     @RequestMapping(value="/regStudentAction")
     public ModelAndView regStudentAction(@ModelAttribute("student") StudentsEntity student){
+        mvRegStudent = new ModelAndView("registrationViews/regStudentPage");
         student.setStFamily(student.getStFamily().trim());
         student.setStFirstName(student.getStFirstName().trim());
         student.setStSecName(student.getStSecName().trim());
@@ -83,18 +86,84 @@ public class registrationController {
             return mvRegStudent;
         }
         createNewStudent(student);
-        mvRegStudent = new ModelAndView("registrationViews/regStudentPage");
         mvUsers.addObject("message","registration of student done");
         return mvUsers;
     }
     @RequestMapping(value="/regClientAction")
     public ModelAndView regClientAction(@ModelAttribute("client") ClientsEntity client){
+        mvRegClient = new ModelAndView("registrationViews/regClientPage");
+        client.setClFamily(client.getClFamily().trim());
+        client.setClFirstName(client.getClFirstName().trim());
+        client.setClSecName(client.getClSecName().trim());
+        client.setClPassword(client.getClPassword().trim());
+        boolean errors = false;
+        if(client.getClFamily().equals("")){
+            mvRegClient.addObject("famMessage","Это поле обязательно для заполнения");
+            errors = true;
+        }
+        if(client.getClFirstName().equals("")){
+            mvRegClient.addObject("nameMessage","Это поле обязательно для заполнения");
+            errors = true;
+        }
+        if(client.getClSecName().equals("")){
+            mvRegClient.addObject("secNameMessage","Это поле обязательно для заполнения");
+            errors = true;
+        }
+        if(client.getClPassword().equals("")){
+            mvRegClient.addObject("passMessage","Это поле обязательно для заполнения");
+            errors = true;
+        }
+        if(!errors && checkIsClient(client)){
+            mvRegClient.addObject("errMessage","Пользовтаель с такими данными зарегистрирован в системе");
+            errors = true;
+        }
+        if(errors){
+            return mvRegClient;
+        }
         createNewClient(client);
         mvUsers.addObject("message","registration of client done");
         return mvUsers;
     }
     @RequestMapping(value="/regAdminAction")
     public ModelAndView regAdminAction(@ModelAttribute("admin") ModeratorsEntity admin){
+        mvRegAdmin = new ModelAndView("registrationViews/regAdminPage");
+        admin.setModPhone(admin.getModPhone().trim());
+        admin.setModFamily(admin.getModFamily().trim());
+        admin.setModFirstName(admin.getModFirstName().trim());
+        admin.setModSecName(admin.getModSecName().trim());
+        admin.setModPassword(admin.getModPassword().trim());
+        boolean errors=false;
+        if(admin.getModFamily().equals("")){
+            mvRegAdmin.addObject("famMessage","Это поле обязательно для заполнения");
+            errors=true;
+        }
+        if(admin.getModFirstName().equals("")){
+            mvRegAdmin.addObject("nameMessage","Это поле обязательно для заполнения");
+            errors=true;
+        }
+        if(admin.getModSecName().equals("")){
+            mvRegAdmin.addObject("secNameMessage","Это поле обязательно для заполнения");
+            errors=true;
+        }
+        if(admin.getModPassword().equals("")){
+            mvRegAdmin.addObject("phoneMessage","Это поле обязательно для заполнения");
+            errors=true;
+        }
+        if(admin.getModPassword().equals("")){
+            mvRegAdmin.addObject("passMessage","Это поле обязательно для заполнения");
+            errors=true;
+        }
+        if(admin.getModBirthdate().equals("дд.мм.гггг")){
+            mvRegAdmin.addObject("birthMessage","Это поле обязательно для заполнения");
+            errors=true;
+        }
+        if(!errors && checkIsAdmin(admin)){
+            mvRegAdmin.addObject("errorMessage","Пользователь с такими данными зарегистрирован в системе");
+            errors=true;
+        }
+        if(errors){
+            return mvRegAdmin;
+        }
         createNewAdmin(admin);
         mvUsers.addObject("message","registration of admin done");
         return mvUsers;

+ 9 - 21
web/WEB-INF/views/loginViews/studentBar.jsp

@@ -15,28 +15,16 @@
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <title>JSP Page</title>
-    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
-    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
 </head>
-<c:url var="loadStudentsByGroup" value="/loadStudents" />
-<script type="text/javascript">
-    $(document).ready(function() {
-        $('#groupId').change(
-            function() {
-                $.get('${loadStudentsByGroup}', {
-                    groupId : $(this).val(),
-                    ajax : 'true'
-                }, function(data) {
-                    var html = '<option value="">Первый элемент</option>';
-                    var len = data.length;
-                    for ( var i = 0; i < len; i++) {
-                        html += '<option value="' + data[i].name + '">'
-                            + data[i].name + '</option>';
-                    }
-                    html += '</option>';
-                    $('#studentId').html(html);
-                });
-            });
+<script type="text/javascript" charset="utf-8">
+    $("select#groupId").change(function(){
+        $.getJSON("/loadStudents",{groupId: $(this).val()}, function(j){
+            var options = '';
+            for (var i = 0; i < j.length; i++) {
+                options += '<option value="' + j[i].stFamily + '">' + j[i].stFamily + '</option>';
+            }
+            $("select#studentId").html(options);
+        });
     });
 </script>
 

+ 1 - 0
web/WEB-INF/views/registrationViews/regAdminPage.jsp

@@ -24,6 +24,7 @@
     <spring:input path="modPhone" type="text" placeholder="Телефон"/>${phoneMessage}   <br/>
     <spring:input path="modBirthdate" type="date" placeholder="День рождения"/>${birthMessage} <br/>
     <spring:input path="modPassword" type="password" placeholder="Пароль"/>${passMessage}   <br/>
+    ${errorMessage}<br/>
     <spring:button>Зарегистрироваться</spring:button>
 </spring:form>
 </body>