Add user admin controller user_management
authorymh <ymh.work@gmail.com>
Tue, 14 May 2013 12:48:33 +0200
branchuser_management
changeset 218 aaf55e08827a
parent 217 aacebeedae70
child 219 885f09f3462b
Add user admin controller
server/src/main/java/org/iri_research/renkan/controller/admin/AdminController.java
server/src/main/java/org/iri_research/renkan/controller/admin/UsersAdminController.java
server/src/main/java/org/iri_research/renkan/models/User.java
server/src/main/webapp/WEB-INF/templates/admin/adminIndex.html
server/src/main/webapp/WEB-INF/templates/admin/usersList.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/main/java/org/iri_research/renkan/controller/admin/UsersAdminController.java	Tue May 14 12:48:33 2013 +0200
@@ -0,0 +1,50 @@
+package org.iri_research.renkan.controller.admin;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.iri_research.renkan.Constants;
+import org.iri_research.renkan.controller.Utils;
+import org.iri_research.renkan.models.User;
+import org.iri_research.renkan.repositories.ProjectsRepository;
+import org.iri_research.renkan.repositories.UsersRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.web.PageableDefaults;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+@Controller
+@RequestMapping("/admin/users")
+public class UsersAdminController {
+		
+	@SuppressWarnings("unused")
+	private final Logger logger = LoggerFactory.getLogger(UsersAdminController.class);
+	
+	@Autowired
+	private UsersRepository usersRepository;
+	
+	@Autowired
+	private ProjectsRepository projectsRepository;
+	
+	@RequestMapping(value="/", method = RequestMethod.GET, produces={"text/html;charset=UTF-8"})
+	public String usersList(
+			Model model,
+			@PageableDefaults(sort={"username"}, sortDir=Direction.DESC, pageNumber=0, value=Constants.PAGINATION_SIZE) Pageable p,
+			HttpServletRequest request) {
+		
+		Page<User> page = this.usersRepository.findAll(p);
+		
+		model.addAttribute("page", page);
+		model.addAttribute("baseUrl", Utils.buildBaseUrl(request));
+		model.addAttribute("projectsCount", this.projectsRepository.getCountByUser());
+		
+		return "admin/usersList";
+	}	
+
+}
--- a/server/src/main/java/org/iri_research/renkan/models/User.java	Fri Apr 26 19:45:37 2013 +0200
+++ b/server/src/main/java/org/iri_research/renkan/models/User.java	Tue May 14 12:48:33 2013 +0200
@@ -9,7 +9,6 @@
 import org.springframework.security.core.userdetails.UserDetails;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
 
 @Document(collection="users")
 public class User extends AbstractRenkanModel<String> implements UserDetails {
--- a/server/src/main/webapp/WEB-INF/templates/admin/adminIndex.html	Fri Apr 26 19:45:37 2013 +0200
+++ b/server/src/main/webapp/WEB-INF/templates/admin/adminIndex.html	Tue May 14 12:48:33 2013 +0200
@@ -32,11 +32,14 @@
                 <tr>
                   <td colspan="2"><a href="spacesList.html" th:href="@{/admin/spaces}" th:text="#{renkanAdmin.space_objects_name}">Spaces</a></td>
                 </tr>
+                <tr>
+                  <td colspan="2"><a href="usersList.html" th:href="@{/admin/users}" th:text="#{renkanAdmin.user_objects_name}">Users</a></td>
+                </tr>
               </tbody>        
         </table>
       </div>
       <footer id="footer" th:substituteby="fragment/pageFragment::footerFragment">
-        <div id="version">© <span class="version-date">2013</span> <a href="http://www.iri.centrepompidou.fr" target="_blanck">IRI</a> - Version <span class="version-version">0.0</span></div>
+        <div id="version">© <span class="version-date">2013</span> <a href="http://www.iri.centrepompidou.fr" target="_blank">IRI</a> - Version <span class="version-version">0.0</span></div>
       </footer>      
     </div>
   </body>
--- a/server/src/main/webapp/WEB-INF/templates/admin/usersList.html	Fri Apr 26 19:45:37 2013 +0200
+++ b/server/src/main/webapp/WEB-INF/templates/admin/usersList.html	Tue May 14 12:48:33 2013 +0200
@@ -39,7 +39,7 @@
         </div>
         <div id="objects-content">
           <ul class="object-tools">
-            <li><a href="userEdit.html" th:href="@{/admin/spaces/edit/}" th:text="#{renkanAdmin.space_add}">Add space</a></li>
+            <li><a href="userEdit.html" th:href="@{/admin/users/edit/}" th:text="#{renkanAdmin.user_add}">Add user</a></li>
           </ul>
           <table>
             <thead>