svnno****@sourc*****
svnno****@sourc*****
2008年 11月 11日 (火) 12:23:03 JST
Revision: 1325 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1325 Author: shinsuke Date: 2008-11-11 12:23:02 +0900 (Tue, 11 Nov 2008) Log Message: ----------- added admin tool. Modified Paths: -------------- todolist/trunk/src/main/java/jp/sf/pal/todolist/action/user/CategoryAction.java todolist/trunk/src/main/java/jp/sf/pal/todolist/db/exentity/TodoCategory.java todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/CategoryDxo.java todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/TodoDxo.java todolist/trunk/src/main/webapp/WEB-INF/portlet.xml Added Paths: ----------- todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/ todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/CategoryAction.java todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/TodoAction.java todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/UserInfoAction.java todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/ todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/CategoryForm.java todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/TodoForm.java todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/UserInfoForm.java todolist/trunk/src/main/webapp/WEB-INF/view/admin/ todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/ todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/ todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/confirm.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/edit.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/error.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/index.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/ todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/error.jsp todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/index.jsp -------------- next part -------------- Added: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/CategoryAction.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/CategoryAction.java (rev 0) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/CategoryAction.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,335 @@ +package jp.sf.pal.todolist.action.admin; + +import java.io.Serializable; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import jp.sf.pal.todolist.common.CommonConstants; +import jp.sf.pal.todolist.common.dxo.PagerDxo; +import jp.sf.pal.todolist.common.util.ConfigUtil; +import jp.sf.pal.todolist.common.util.SAStrutsUtil; +import jp.sf.pal.todolist.db.exentity.TodoCategory; +import jp.sf.pal.todolist.dxo.CategoryDxo; +import jp.sf.pal.todolist.form.admin.CategoryForm; +import jp.sf.pal.todolist.pager.CategoryPager; +import jp.sf.pal.todolist.service.CategoryService; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.seasar.struts.annotation.ActionForm; +import org.seasar.struts.annotation.Execute; +import org.seasar.struts.exception.ActionMessagesException; + +public class CategoryAction implements Serializable { + + private static final long serialVersionUID = 1L; + + private static final Log log = LogFactory.getLog(CategoryAction.class); + + // for list + + public List<TodoCategory> categoryItems; + + // for edit/confirm/delete + + @ActionForm + private CategoryForm categoryForm; + + private CategoryService categoryService; + + private CategoryPager categoryPager; + + private PagerDxo pagerDxo; + + private CategoryDxo categoryDxo; + + private transient HttpServletRequest request; + + protected String displayList() { + // page navi + categoryItems = categoryService + .getTodoCategoryList(categoryPager, null); + + // restore from pager + // categoryForm.categoryname = categoryPager.getCategoryname(); + + return "index.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String index() { + ConfigUtil.init(request); + return displayList(); + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}") + public String list() { + // page navi + pagerDxo.convert(categoryForm, categoryPager); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String search() { + // categoryPager.setCategoryname(categoryForm.categoryname); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String reset() { + categoryPager.clear(); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String back() { + // reset edit page + loadListPageParameters(); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String editagain() { + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "confirmpage/{mode}/{id}") + public String confirmpage() { + if (categoryForm.mode != CommonConstants.CONFIRM_MODE) { + throw new ActionMessagesException("errors.invalid.mode", + new Object[] { CommonConstants.CONFIRM_MODE, + categoryForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadCategory(); + + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String createpage() { + // page navi + categoryForm.initialize(); + categoryForm.mode = CommonConstants.CREATE_MODE; + + // update edit page + loadDetailsPageParameters(); + + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "editpage/{mode}/{id}") + public String editpage() { + if (categoryForm.mode != CommonConstants.EDIT_MODE) { + throw new ActionMessagesException( + "errors.invalid.mode", + new Object[] { CommonConstants.EDIT_MODE, categoryForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadCategory(); + + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String editpagefromconfirm() { + categoryForm.mode = CommonConstants.EDIT_MODE; + + // update edit page + loadDetailsPageParameters(); + + loadCategory(); + + return "edit.jsp"; + } + + @Execute(validator = true, input = "edit.jsp") + public String confirm() { + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "deletepage/{mode}/{id}") + public String deletepage() { + if (categoryForm.mode != CommonConstants.DELETE_MODE) { + throw new ActionMessagesException("errors.invalid.mode", + new Object[] { CommonConstants.DELETE_MODE, + categoryForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadCategory(); + + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String deletepagefromconfirm() { + categoryForm.mode = CommonConstants.DELETE_MODE; + + // update edit page + loadDetailsPageParameters(); + + loadCategory(); + + return "confirm.jsp"; + } + + @Execute(validator = true, input = "edit.jsp") + public String create() { + try { + TodoCategory todoCategory = createTodoCategory(); + categoryService.store(todoCategory); + SAStrutsUtil.addMessage(request, "success.create_category"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException( + "errors.failed_to_create_category"); + } + } + + @Execute(validator = true, input = "edit.jsp") + public String update() { + try { + TodoCategory todoCategory = createTodoCategory(); + categoryService.store(todoCategory); + SAStrutsUtil.addMessage(request, "success.update_category"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException( + "errors.failed_to_update_category"); + } + } + + @Execute(validator = false, input = "error.jsp") + public String delete() { + try { + categoryService.disable(Long.parseLong(categoryForm.id), request + .getRemoteUser()); + SAStrutsUtil.addMessage(request, "success.delete_category"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException( + "errors.failed_to_delete_category"); + } + } + + private void loadCategory() { + TodoCategory todoCategory = categoryService.getTodoCategory(Long + .parseLong(categoryForm.id), null); + if (todoCategory == null) { + // throw an exception + throw new ActionMessagesException("errors.could_not_find_category", + new Object[] { categoryForm.id }); + } + categoryDxo.convertFromCategoryToForm(todoCategory, categoryForm); + + } + + private TodoCategory createTodoCategory() { + TodoCategory todoCategory; + if (categoryForm.mode == CommonConstants.EDIT_MODE) { + todoCategory = categoryService.getTodoCategory(Long + .parseLong(categoryForm.id), null); + String userId = request.getRemoteUser(); + todoCategory.setUpdatedBy(userId); + } else { + String userId = request.getRemoteUser(); + todoCategory = new TodoCategory(); + todoCategory.setUserId(userId); + todoCategory.setUpdatedBy(userId); + todoCategory.setCreatedBy(userId); + } + categoryDxo.convertFromFormToCategory(categoryForm, todoCategory); + + return todoCategory; + } + + private void loadListPageParameters() { + } + + private void loadDetailsPageParameters() { + } + + /** + * @return the request + */ + public HttpServletRequest getRequest() { + return request; + } + + /** + * @param request the request to set + */ + public void setRequest(HttpServletRequest request) { + this.request = request; + } + + public CategoryForm getCategoryForm() { + return categoryForm; + } + + public void setCategoryForm(CategoryForm categoryForm) { + this.categoryForm = categoryForm; + } + + public CategoryService getCategoryService() { + return categoryService; + } + + public void setCategoryService(CategoryService categoryService) { + this.categoryService = categoryService; + } + + public CategoryPager getCategoryPager() { + return categoryPager; + } + + public void setCategoryPager(CategoryPager categoryPager) { + this.categoryPager = categoryPager; + } + + public PagerDxo getPagerDxo() { + return pagerDxo; + } + + public void setPagerDxo(PagerDxo pagerDxo) { + this.pagerDxo = pagerDxo; + } + + public CategoryDxo getCategoryDxo() { + return categoryDxo; + } + + public void setCategoryDxo(CategoryDxo categoryDxo) { + this.categoryDxo = categoryDxo; + } + +} Property changes on: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/CategoryAction.java ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/TodoAction.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/TodoAction.java (rev 0) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/TodoAction.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,534 @@ +package jp.sf.pal.todolist.action.admin; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import jp.sf.pal.todolist.ToDoListConstants; +import jp.sf.pal.todolist.common.CommonConstants; +import jp.sf.pal.todolist.common.dxo.PagerDxo; +import jp.sf.pal.todolist.common.util.ConfigUtil; +import jp.sf.pal.todolist.common.util.DateUtil; +import jp.sf.pal.todolist.common.util.SAStrutsUtil; +import jp.sf.pal.todolist.db.exentity.Todo; +import jp.sf.pal.todolist.db.exentity.TodoCategory; +import jp.sf.pal.todolist.db.exentity.TodoMapping; +import jp.sf.pal.todolist.dxo.TodoDxo; +import jp.sf.pal.todolist.form.admin.TodoForm; +import jp.sf.pal.todolist.pager.TodoPager; +import jp.sf.pal.todolist.service.CategoryService; +import jp.sf.pal.todolist.service.TodoService; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.seasar.struts.annotation.ActionForm; +import org.seasar.struts.annotation.Execute; +import org.seasar.struts.exception.ActionMessagesException; + +public class TodoAction implements Serializable { + + private static final long serialVersionUID = 1L; + + private static final Log log = LogFactory.getLog(TodoAction.class); + + // for list + + public List<TodoMapping> todoMappingItems; + + // for edit/confirm/delete + + @ActionForm + private TodoForm todoForm; + + private TodoService todoService; + + private CategoryService categoryService; + + private TodoPager todoPager; + + private PagerDxo pagerDxo; + + private TodoDxo todoDxo; + + private transient HttpServletRequest request; + + protected String displayList() { + // page navi + todoMappingItems = todoService.getTodoMappingList(todoPager, null); + + // restore from pager + // todoForm.todoname = todoPager.getGroupInfoname(); + + return "index.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String index() { + ConfigUtil.init(request); + return displayList(); + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}") + public String list() { + // page navi + pagerDxo.convert(todoForm, todoPager); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String search() { + // todoPager.setGroupInfoname(todoForm.todoname); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String reset() { + todoPager.clear(); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String allcategory() { + // page navi + todoPager.setCategoryId(null); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "selectcategory/{categoryId}") + public String selectcategory() { + // page navi + todoPager.setCategoryId(Long.parseLong(todoForm.categoryId)); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String back() { + // reset edit page + loadListPageParameters(); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String editagain() { + todoMappingItems = todoService.getTodoMappingList(Long + .parseLong(todoForm.idForTodo), null); + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "confirmpage/{mode}/{id}") + public String confirmpage() { + if (todoForm.mode != CommonConstants.CONFIRM_MODE) { + throw new ActionMessagesException( + "errors.invalid.mode", + new Object[] { CommonConstants.CONFIRM_MODE, todoForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String createpage() { + // page navi + todoForm.initialize(); + todoForm.mode = CommonConstants.CREATE_MODE; + + // update edit page + loadDetailsPageParameters(); + + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "editpage/{mode}/{id}") + public String editpage() { + if (todoForm.mode != CommonConstants.EDIT_MODE) { + throw new ActionMessagesException("errors.invalid.mode", + new Object[] { CommonConstants.EDIT_MODE, todoForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "edit.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String editpagefromconfirm() { + todoForm.mode = CommonConstants.EDIT_MODE; + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "edit.jsp"; + } + + @Execute(validator = true, input = "edit.jsp") + public String confirm() { + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "deletepage/{mode}/{id}") + public String deletepage() { + if (todoForm.mode != CommonConstants.DELETE_MODE) { + throw new ActionMessagesException("errors.invalid.mode", + new Object[] { CommonConstants.DELETE_MODE, todoForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "deletemappingpage/{mode}/{id}") + public String deletemappingpage() { + if (todoForm.mode != ToDoListConstants.DELETE_MAPPING_MODE) { + throw new ActionMessagesException("errors.invalid.mode", + new Object[] { CommonConstants.DELETE_MODE, todoForm.mode }); + } + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String deletepagefromconfirm() { + todoForm.mode = CommonConstants.DELETE_MODE; + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "confirm.jsp"; + } + + @Execute(validator = false, input = "error.jsp") + public String deletemappingpagefromconfirm() { + todoForm.mode = ToDoListConstants.DELETE_MAPPING_MODE; + + // update edit page + loadDetailsPageParameters(); + + loadTodoMapping(); + + return "confirm.jsp"; + } + + @Execute(validator = true, input = "edit.jsp") + public String create() { + try { + Todo todo = createTodo(); + todoService.store(todo); + SAStrutsUtil.addMessage(request, "success.create_todo"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException("errors.failed_to_create_todo"); + } + } + + @Execute(validator = true, input = "edit.jsp") + public String update() { + try { + Todo todo = createTodo(); + todoService.store(todo); + + TodoMapping todoMapping = createTodoMapping(); + todoService.store(todoMapping); + + SAStrutsUtil.addMessage(request, "success.update_todo"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException("errors.failed_to_update_todo"); + } + } + + @Execute(validator = true, input = "edit.jsp") + public String updatemapping() { + try { + TodoMapping todoMapping = createTodoMapping(); + todoService.store(todoMapping); + SAStrutsUtil.addMessage(request, "success.update_todo"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException("errors.failed_to_update_todo"); + } + } + + @Execute(validator = false, input = "error.jsp") + public String delete() { + try { + String userId = request.getRemoteUser(); + todoService.disable(Long.parseLong(todoForm.idForTodo), userId); + SAStrutsUtil.addMessage(request, "success.delete_todo"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException("errors.failed_to_delete_todo"); + } + } + + @Execute(validator = false, input = "error.jsp") + public String deletemapping() { + try { + String userId = request.getRemoteUser(); + todoService.disableMapping(Long.parseLong(todoForm.id), userId); + SAStrutsUtil.addMessage(request, "success.delete_todo_mapping"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException( + "errors.failed_to_delete_todo_mapping"); + } + } + + @Execute(validator = false, input = "error.jsp", urlPattern = "removemapping/{id}") + public String removemapping() { + try { + String userId = request.getRemoteUser(); + todoService.disableMapping(Long.parseLong(todoForm.id), userId); + SAStrutsUtil.addMessage(request, "success.delete_todo_mapping"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException( + "errors.failed_to_delete_todo_mapping"); + } + } + + private void loadTodoMapping() { + TodoMapping todoMapping = todoService.getTodoMapping(Long + .parseLong(todoForm.id), null); + if (todoMapping == null) { + // throw an exception + throw new ActionMessagesException("errors.could_not_find_todo", + new Object[] { todoForm.id }); + } + todoDxo.convertFromTodoMappingToForm(todoMapping, todoForm); + todoMappingItems = todoMapping.getTodo().getTodoMappingList(); + } + + private Todo createTodo() { + Todo todo; + if (todoForm.mode == CommonConstants.EDIT_MODE) { + TodoMapping todoMapping = todoService.getTodoMapping(Long + .parseLong(todoForm.id), null); + if (todoMapping == null) { + // throw an exception + throw new ActionMessagesException("errors.could_not_find_todo", + new Object[] { todoForm.id }); + } + todo = todoMapping.getTodo(); + String userId = request.getRemoteUser(); + todo.setUpdatedBy(userId); + } else { + String userId = request.getRemoteUser(); + todo = new Todo(); + todo.setUpdatedBy(userId); + todo.setCreatedBy(userId); + + List<TodoMapping> todoMappingList = new ArrayList<TodoMapping>(); + todoMappingList.add(new TodoMapping(userId)); + todo.setTodoMappingList(todoMappingList); + } + todoDxo.convertFromFormToTodo(todoForm, todo); + + return todo; + } + + private TodoMapping createTodoMapping() { + TodoMapping todoMapping; + todoMapping = todoService.getTodoMapping(Long.parseLong(todoForm.id), + null); + String userId = request.getRemoteUser(); + todoMapping.setUpdatedBy(userId); + todoDxo.convertFromFormToTodoMapping(todoForm, todoMapping); + + if (StringUtils.isEmpty(todoForm.categoryId)) { + todoMapping.setCategoryId(null); + } + + return todoMapping; + } + + private void loadListPageParameters() { + } + + private void loadDetailsPageParameters() { + } + + public List<String> getYearItems() { + int year = DateUtil.getYear(new Date()) + 1900; + List<String> list = new ArrayList<String>(); + for (int i = year - 5; i < year + 5; i++) { + list.add(String.valueOf(i)); + } + return list; + } + + public List<String> getMonthItems() { + List<String> list = new ArrayList<String>(); + for (int i = 1; i < 13; i++) { + list.add(String.valueOf(i)); + } + return list; + } + + public List<String> getDateItems() { + List<String> list = new ArrayList<String>(); + for (int i = 1; i < 32; i++) { + list.add(String.valueOf(i)); + } + return list; + } + + public List<TodoCategory> getCategoryItems() { + return categoryService.getTodoCategoryList(null); + } + + /** + * @return the request + */ + public HttpServletRequest getRequest() { + return request; + } + + /** + * @param request the request to set + */ + public void setRequest(HttpServletRequest request) { + this.request = request; + } + + public TodoForm getGroupInfoForm() { + return todoForm; + } + + public void setGroupInfoForm(TodoForm todoForm) { + this.todoForm = todoForm; + } + + public TodoService getGroupInfoService() { + return todoService; + } + + public void setGroupInfoService(TodoService todoService) { + this.todoService = todoService; + } + + public TodoPager getGroupInfoPager() { + return todoPager; + } + + public void setGroupInfoPager(TodoPager todoPager) { + this.todoPager = todoPager; + } + + public PagerDxo getPagerDxo() { + return pagerDxo; + } + + public void setPagerDxo(PagerDxo pagerDxo) { + this.pagerDxo = pagerDxo; + } + + public TodoDxo getGroupInfoDxo() { + return todoDxo; + } + + public void setGroupInfoDxo(TodoDxo todoDxo) { + this.todoDxo = todoDxo; + } + + public TodoForm getTodoForm() { + return todoForm; + } + + public void setTodoForm(TodoForm todoForm) { + this.todoForm = todoForm; + } + + public TodoService getTodoService() { + return todoService; + } + + public void setTodoService(TodoService todoService) { + this.todoService = todoService; + } + + public TodoPager getTodoPager() { + return todoPager; + } + + public void setTodoPager(TodoPager todoPager) { + this.todoPager = todoPager; + } + + public TodoDxo getTodoDxo() { + return todoDxo; + } + + public void setTodoDxo(TodoDxo todoDxo) { + this.todoDxo = todoDxo; + } + + public CategoryService getCategoryService() { + return categoryService; + } + + public void setCategoryService(CategoryService categoryService) { + this.categoryService = categoryService; + } + +} Property changes on: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/TodoAction.java ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/UserInfoAction.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/UserInfoAction.java (rev 0) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/UserInfoAction.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,207 @@ +package jp.sf.pal.todolist.action.admin; + +import java.io.Serializable; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import jp.sf.pal.todolist.ToDoListConstants; +import jp.sf.pal.todolist.common.dxo.PagerDxo; +import jp.sf.pal.todolist.common.util.ConfigUtil; +import jp.sf.pal.todolist.common.util.SAStrutsUtil; +import jp.sf.pal.todolist.db.exentity.Todo; +import jp.sf.pal.todolist.db.exentity.TodoMapping; +import jp.sf.pal.todolist.db.exentity.UserInfo; +import jp.sf.pal.todolist.form.admin.UserInfoForm; +import jp.sf.pal.todolist.pager.UserInfoPager; +import jp.sf.pal.todolist.service.TodoService; +import jp.sf.pal.todolist.service.UserInfoService; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.seasar.struts.annotation.ActionForm; +import org.seasar.struts.annotation.Execute; +import org.seasar.struts.exception.ActionMessagesException; + +public class UserInfoAction implements Serializable { + + private static final long serialVersionUID = 1L; + + private static final Log log = LogFactory.getLog(UserInfoAction.class); + + // for list + + public List<UserInfo> userInfoItems; + + // for edit/confirm/delete + + @ActionForm + private UserInfoForm userInfoForm; + + private UserInfoService userInfoService; + + private TodoService todoService; + + private UserInfoPager userInfoPager; + + private PagerDxo pagerDxo; + + private transient HttpServletRequest request; + + protected String displayList() { + // page navi + userInfoItems = userInfoService.getUserInfoList(userInfoPager); + + // restore from pager + // userInfoForm.userInfoname = userInfoPager.getUserInfoname(); + + return "index.jsp"; + } + + @Execute(validator = true, input = "error.jsp", urlPattern = "index/{todoId}/{todoMappingId}") + public String index() { + ConfigUtil.init(request); + return displayList(); + } + + @Execute(validator = true, input = "error.jsp", urlPattern = "list/{todoId}/{todoMappingId}/{pageNumber}") + public String list() { + // page navi + pagerDxo.convert(userInfoForm, userInfoPager); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String search() { + // userInfoPager.setUserInfoname(userInfoForm.userInfoname); + + return displayList(); + } + + @Execute(validator = false, input = "error.jsp") + public String reset() { + userInfoPager.clear(); + + return displayList(); + } + + @Execute(validator = true, input = "error.jsp", urlPattern = "adduser/{todoId}/{todoMappingId}/{userId}") + public String adduser() { + TodoMapping todoMapping = createTodoMapping(); + try { + + todoService.store(todoMapping); + + SAStrutsUtil.addMessage(request, "success.add_userInfo_to_task"); + + // reset edit page + loadListPageParameters(); + + return displayList(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ActionMessagesException( + "errors.failed_to_add_userInfo_to_task"); + } + } + + private TodoMapping createTodoMapping() { + Long id = Long.parseLong(userInfoForm.todoId); + Todo todo = todoService.getTodo(id, null); + if (todo == null) { + throw new ActionMessagesException("errors.could_not_find_todo"); + } + + for (TodoMapping tm : todo.getTodoMappingList()) { + if (tm.getUserId().equals(userInfoForm.userId)) { + throw new ActionMessagesException( + "errors.user_already_exists_in_task"); + } + } + + UserInfo userInfo = createUserInfo(); + + String userId = request.getRemoteUser(); + + TodoMapping todoMapping = new TodoMapping(); + todoMapping.setStatus(ToDoListConstants.WORKING); + todoMapping.setTodoId(id); + todoMapping.setUserId(userInfo.getUserId()); + todoMapping.setCreatedBy(userId); + todoMapping.setUpdatedBy(userId); + + return todoMapping; + } + + private UserInfo createUserInfo() { + UserInfo userInfo; + userInfo = userInfoService.getUserInfo(userInfoForm.userId); + if (userInfo == null) { + throw new ActionMessagesException("errors.could_not_find_userInfo"); + } + + return userInfo; + } + + private void loadListPageParameters() { + } + + private void loadDetailsPageParameters() { + } + + /** + * @return the request + */ + public HttpServletRequest getRequest() { + return request; + } + + /** + * @param request the request to set + */ + public void setRequest(HttpServletRequest request) { + this.request = request; + } + + public UserInfoForm getUserInfoForm() { + return userInfoForm; + } + + public void setUserInfoForm(UserInfoForm userInfoForm) { + this.userInfoForm = userInfoForm; + } + + public UserInfoService getUserInfoService() { + return userInfoService; + } + + public void setUserInfoService(UserInfoService userInfoService) { + this.userInfoService = userInfoService; + } + + public UserInfoPager getUserInfoPager() { + return userInfoPager; + } + + public void setUserInfoPager(UserInfoPager userInfoPager) { + this.userInfoPager = userInfoPager; + } + + public PagerDxo getPagerDxo() { + return pagerDxo; + } + + public void setPagerDxo(PagerDxo pagerDxo) { + this.pagerDxo = pagerDxo; + } + + public TodoService getTodoService() { + return todoService; + } + + public void setTodoService(TodoService todoService) { + this.todoService = todoService; + } + +} Property changes on: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/admin/UserInfoAction.java ___________________________________________________________________ Name: svn:eol-style + native Modified: todolist/trunk/src/main/java/jp/sf/pal/todolist/action/user/CategoryAction.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/action/user/CategoryAction.java 2008-11-11 02:08:17 UTC (rev 1324) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/action/user/CategoryAction.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -262,7 +262,7 @@ if (categoryForm.mode == CommonConstants.EDIT_MODE) { todoCategory = categoryService.getTodoCategory(Long .parseLong(categoryForm.id), userId); - todoCategory.setUpdatedBy(request.getRemoteUser()); + todoCategory.setUpdatedBy(userId); } else { todoCategory = new TodoCategory(); todoCategory.setUserId(userId); Modified: todolist/trunk/src/main/java/jp/sf/pal/todolist/db/exentity/TodoCategory.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/db/exentity/TodoCategory.java 2008-11-11 02:08:17 UTC (rev 1324) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/db/exentity/TodoCategory.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -1,5 +1,7 @@ package jp.sf.pal.todolist.db.exentity; +import org.apache.commons.lang.StringUtils; + /** * The entity of TODO_CATEGORY. * <p> @@ -14,4 +16,29 @@ /** Serial version UID. (Default) */ private static final long serialVersionUID = 1L; + + public String getUserIdFromUserInfo() { + StringBuilder buf = new StringBuilder(); + if (getUserInfo() != null) { + // TODO i18n name order + if (getUserInfo().getFamilyName() != null) { + buf.append(getUserInfo().getFamilyName()); + } + if (getUserInfo().getFamilyName() != null + && getUserInfo().getGivenName() != null) { + buf.append(" "); + } + if (getUserInfo().getGivenName() != null) { + buf.append(getUserInfo().getGivenName()); + } + + if (StringUtils.isEmpty(buf.toString())) { + buf.append(getUserId()); + } + } else { + buf.append(getUserId()); + } + + return buf.toString(); + } } Modified: todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/CategoryDxo.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/CategoryDxo.java 2008-11-11 02:08:17 UTC (rev 1324) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/CategoryDxo.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -45,4 +45,37 @@ public void convertFromFormToCategory(CategoryForm form, TodoCategory todoCategory); + @ExcludeNull + @DatePattern("yyyy/MM/dd") + @TimestampPattern("yyyy/MM/dd HH:mm:ss") + @ConversionRule("id : id" // + + ", name : name" // + + ", userId : userId" // + + ", createdTime : createdTime" // + + ", createdBy : createdBy" // + + ", updatedTime : updatedTime" // + + ", updatedBy : updatedBy" // + + ", deletedTime : deletedTime" // + + ", deletedBy : deletedBy" // + // + ", versionno : versionno" // + ) + public void convertFromCategoryToForm(TodoCategory todoCategory, + jp.sf.pal.todolist.form.admin.CategoryForm form); + + @ExcludeNull + @TimestampPattern("yyyy/MM/dd HH:mm:ss") + @ConversionRule(// + "name : name" // + // + ", userId : userId" // + // + ", createdTime : createdTime" // + // + ", createdBy : createdBy" // + // + ", updatedTime : updatedTime" // + // + ", updatedBy : updatedBy" // + // + ", deletedTime : deletedTime" // + // + ", deletedBy : deletedBy" // + // + ", versionno : versionno" // + ) + public void convertFromFormToCategory( + jp.sf.pal.todolist.form.admin.CategoryForm form, + TodoCategory todoCategory); } Modified: todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/TodoDxo.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/TodoDxo.java 2008-11-11 02:08:17 UTC (rev 1324) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/dxo/TodoDxo.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -86,4 +86,77 @@ ) public void convertFromFormToTodo(TodoForm form, Todo todo); + @ExcludeNull + @DatePattern("yyyy/MM/dd") + @TimestampPattern("yyyy/MM/dd HH:mm:ss") + @ConversionRule("id : id" // + + ", status : status" // + + ", memo : memo" // + + ", todoId : todoId" // + + ", userId : userId" // + + ", categoryId : categoryId" // + + ", createdTime : createdTime" // + + ", createdBy : createdBy" // + + ", updatedTime : updatedTime" // + + ", updatedBy : updatedBy" // + + ", deletedTime : deletedTime" // + + ", deletedBy : deletedBy" // + // + ", versionno : versionno" // + + ", idForTodo : todo.id" // + + ", nameForTodo : todo.name" // + + ", descriptionForTodo : todo.description" // + + ", priorityForTodo : todo.priority" // + + ", statusForTodo : todo.status" // + + ", startDateForTodo : todo.startDate" // + + ", endDateForTodo : todo.endDate" // + + ", createdTimeForTodo : todo.createdTime" // + + ", createdByForTodo : todo.createdBy" // + + ", updatedTimeForTodo : todo.updatedTime" // + + ", updatedByForTodo : todo.updatedBy" // + + ", deletedTimeForTodo : todo.deletedTime" // + + ", deletedByForTodo : todo.deletedBy" // + // + ", versionnoForTodo : todo.versionno" // + ) + public void convertFromTodoMappingToForm(TodoMapping todoMapping, + jp.sf.pal.todolist.form.admin.TodoForm form); + + @ExcludeNull + @TimestampPattern("yyyy/MM/dd HH:mm:ss") + @ConversionRule(// + "status : status" // + + ", memo : memo" // + + ", todoId : todoId" // + + ", userId : userId" // + + ", categoryId : categoryId" // + // + ", createdTime : createdTime" // + // + ", createdBy : createdBy" // + // + ", updatedTime : updatedTime" // + // + ", updatedBy : updatedBy" // + // + ", deletedTime : deletedTime" // + // + ", deletedBy : deletedBy" // + // + ", versionno : versionno" // + ) + public void convertFromFormToTodoMapping( + jp.sf.pal.todolist.form.admin.TodoForm form, TodoMapping todoMapping); + + @ExcludeNull + @TimestampPattern("yyyy/MM/dd HH:mm:ss") + @ConversionRule(// + "id : idForTodo" // + + ", name : nameForTodo" // + + ", description : descriptionForTodo" // + + ", priority : priorityForTodo" // + + ", status : statusForTodo" // + + ", startDate : startDateForTodo" // + + ", endDate : endDateForTodo" // + // + ", createdTime : createdTimeForTodo" // + // + ", createdBy : createdByForTodo" // + // + ", updatedTime : updatedTimeForTodo" // + // + ", updatedBy : updatedByForTodo" // + // + ", deletedTime : deletedTimeForTodo" // + // + ", deletedBy : deletedByForTodo" // + // + ", versionno : versionnoForTodo" // + ) + public void convertFromFormToTodo( + jp.sf.pal.todolist.form.admin.TodoForm form, Todo todo); } Added: todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/CategoryForm.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/CategoryForm.java (rev 0) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/CategoryForm.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,63 @@ +package jp.sf.pal.todolist.form.admin; + +import java.io.Serializable; + +import jp.sf.pal.todolist.common.form.PagingResultForm; + +import org.seasar.struts.annotation.DateType; +import org.seasar.struts.annotation.IntegerType; +import org.seasar.struts.annotation.LongType; +import org.seasar.struts.annotation.Maxbytelength; +import org.seasar.struts.annotation.Required; + +public class CategoryForm implements Serializable, PagingResultForm { + + private static final long serialVersionUID = 6690208299980988424L; + + @IntegerType + public int mode; + + @Required(target = "update,delete") + @LongType + public String id; + + @Required(target = "confirm,create,update,delete") + @Maxbytelength(maxbytelength = 100) + public String name; + + @Maxbytelength(maxbytelength = 255) + public String userId; + + @DateType + public String createdTime; + + @Maxbytelength(maxbytelength = 255) + public String createdBy; + + @DateType + public String updatedTime; + + @Maxbytelength(maxbytelength = 255) + public String updatedBy; + + @DateType + public String deletedTime; + + @Maxbytelength(maxbytelength = 255) + public String deletedBy; + + @IntegerType + public String pageNumber; + + public void initialize() { + id = null; + name = null; + userId = null; + createdTime = null; + createdBy = null; + updatedTime = null; + updatedBy = null; + deletedTime = null; + deletedBy = null; + } +} Property changes on: todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/CategoryForm.java ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/TodoForm.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/TodoForm.java (rev 0) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/TodoForm.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,223 @@ +package jp.sf.pal.todolist.form.admin; + +import java.io.Serializable; + +import jp.sf.pal.todolist.common.form.PagingResultForm; + +import org.apache.commons.lang.StringUtils; +import org.seasar.struts.annotation.DateType; +import org.seasar.struts.annotation.IntegerType; +import org.seasar.struts.annotation.LongType; +import org.seasar.struts.annotation.Maxbytelength; +import org.seasar.struts.annotation.Required; + +public class TodoForm implements Serializable, PagingResultForm { + + private static final long serialVersionUID = 6934686701735296674L; + + @IntegerType + public int mode; + + @LongType + public String id; + + @IntegerType + public String status; + + @Maxbytelength(maxbytelength = 200) + public String memo; + + @LongType + public String todoId; + + @Maxbytelength(maxbytelength = 255) + public String userId; + + @Required(target = "selectcategory") + @LongType + public String categoryId; + + @DateType + public String createdTime; + + @Maxbytelength(maxbytelength = 255) + public String createdBy; + + @DateType + public String updatedTime; + + @Maxbytelength(maxbytelength = 255) + public String updatedBy; + + @DateType + public String deletedTime; + + @Maxbytelength(maxbytelength = 255) + public String deletedBy; + + @Required(target = "update,delete") + @LongType + public String idForTodo; + + @Required(target = "confirm,create,update,delete") + @Maxbytelength(maxbytelength = 100) + public String nameForTodo; + + @Maxbytelength(maxbytelength = 200) + public String descriptionForTodo; + + @Required(target = "confirm,create,update,delete") + @IntegerType + public String priorityForTodo; + + @Required(target = "confirm,create,update,delete") + @IntegerType + public String statusForTodo; + + // @DateType + // public String startDateForTodo; + // + // @DateType + // public String endDateForTodo; + + @DateType + public String createdTimeForTodo; + + @Maxbytelength(maxbytelength = 255) + public String createdByForTodo; + + @DateType + public String updatedTimeForTodo; + + @Maxbytelength(maxbytelength = 255) + public String updatedByForTodo; + + @DateType + public String deletedTimeForTodo; + + @Maxbytelength(maxbytelength = 255) + public String deletedByForTodo; + + @IntegerType + public String startDateYear; + + @IntegerType + public String startDateMonth; + + @IntegerType + public String startDateDate; + + @IntegerType + public String endDateYear; + + @IntegerType + public String endDateMonth; + + @IntegerType + public String endDateDate; + + @IntegerType + public String pageNumber; + + public void initialize() { + id = null; + status = "1"; + memo = null; + todoId = null; + userId = null; + categoryId = null; + createdTime = null; + createdBy = null; + updatedTime = null; + updatedBy = null; + deletedTime = null; + deletedBy = null; + idForTodo = null; + nameForTodo = null; + descriptionForTodo = null; + priorityForTodo = "3"; + statusForTodo = "1"; + // startDateForTodo = null; + // endDateForTodo = null; + createdTimeForTodo = null; + createdByForTodo = null; + updatedTimeForTodo = null; + updatedByForTodo = null; + deletedTimeForTodo = null; + deletedByForTodo = null; + } + + public void setStartDateForTodo(String value) { + if (value != null) { + String[] values = value.split(" ")[0].split("/"); + startDateYear = values[0]; + if (values.length > 1) { + startDateMonth = String.valueOf(Integer.parseInt(values[1])); + } + if (values.length > 2) { + startDateDate = String.valueOf(Integer.parseInt(values[2])); + } + } + } + + public String getStartDateForTodo() { + if (!StringUtils.isEmpty(startDateYear) + && !StringUtils.isEmpty(startDateMonth) + && !StringUtils.isEmpty(startDateDate)) { + StringBuilder buf = new StringBuilder(); + buf.append(startDateYear); + buf.append("/"); + int month = Integer.parseInt(startDateMonth); + if (month < 10) { + buf.append("0"); + } + buf.append(month); + buf.append("/"); + int date = Integer.parseInt(startDateDate); + if (date < 10) { + buf.append("0"); + } + buf.append(date); + buf.append(" 00:00:00"); + return buf.toString(); + } + return null; + } + + public void setEndDateForTodo(String value) { + if (value != null) { + String[] values = value.split(" ")[0].split("/"); + endDateYear = values[0]; + if (values.length > 1) { + endDateMonth = String.valueOf(Integer.parseInt(values[1])); + } + if (values.length > 2) { + endDateDate = String.valueOf(Integer.parseInt(values[2])); + } + } + } + + public String getEndDateForTodo() { + if (!StringUtils.isEmpty(endDateYear) + && !StringUtils.isEmpty(endDateMonth) + && !StringUtils.isEmpty(endDateDate)) { + StringBuilder buf = new StringBuilder(); + buf.append(endDateYear); + buf.append("/"); + int month = Integer.parseInt(endDateMonth); + if (month < 10) { + buf.append("0"); + } + buf.append(month); + buf.append("/"); + int date = Integer.parseInt(endDateDate); + if (date < 10) { + buf.append("0"); + } + buf.append(date); + buf.append(" 00:00:00"); + return buf.toString(); + } + return null; + } +} Property changes on: todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/TodoForm.java ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/UserInfoForm.java =================================================================== --- todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/UserInfoForm.java (rev 0) +++ todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/UserInfoForm.java 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,36 @@ +package jp.sf.pal.todolist.form.admin; + +import java.io.Serializable; + +import jp.sf.pal.todolist.common.form.PagingResultForm; + +import org.seasar.struts.annotation.IntegerType; +import org.seasar.struts.annotation.LongType; +import org.seasar.struts.annotation.Maxbytelength; +import org.seasar.struts.annotation.Required; + +public class UserInfoForm implements Serializable, PagingResultForm { + + private static final long serialVersionUID = 8965243750361809346L; + + @Required(target = "adduser") + @Maxbytelength(maxbytelength = 255) + public String userId; + + @Required + @LongType + public String todoId; + + @Required + @LongType + public String todoMappingId; + + @IntegerType + public String pageNumber; + + public void initialize() { + userId = null; + todoId = null; + todoMappingId = null; + } +} Property changes on: todolist/trunk/src/main/java/jp/sf/pal/todolist/form/admin/UserInfoForm.java ___________________________________________________________________ Name: svn:eol-style + native Modified: todolist/trunk/src/main/webapp/WEB-INF/portlet.xml =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/portlet.xml 2008-11-11 02:08:17 UTC (rev 1324) +++ todolist/trunk/src/main/webapp/WEB-INF/portlet.xml 2008-11-11 03:23:02 UTC (rev 1325) @@ -29,7 +29,7 @@ <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class> <init-param> <name>viewPage</name> - <value>/userInfo/</value> + <value>/admin/todo/</value> </init-param> <expiration-cache>0</expiration-cache> <supports> Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,64 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selectable"><s:link href="/admin/todo/" style="text-decoration: none;">Tasks</s:link></li> + <li class="spacer"></li> + <li class="selected"><span>Category</span></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + + <s:form> + <html:hidden property="id"/> + <html:hidden property="mode"/> + <div class="form-table" style="margin-top:3px;"> + <table> + <caption>Confirmation of Category Info</caption> + <tbody> + <tr> + <th style="width: 120px;">Name</th> + <td style="width: 200px;">${f:h(name)}<html:hidden property="name"/></td> + </tr> + </tbody> + <tfoot> + <tr> + <td colspan="2"> + <c:if test="${mode == 1}"> + <input type="submit" name="create" value="Create"/> + <input type="submit" name="editagain" value="Back"/> + </c:if> + <c:if test="${mode == 2}"> + <input type="submit" name="update" value="Update"/> + <input type="submit" name="editagain" value="Back"/> + </c:if> + <c:if test="${mode == 3}"> + <input type="submit" name="delete" value="Delete"/> + <input type="submit" name="back" value="Back"/> + </c:if> + <c:if test="${mode == 4}"> + <input type="submit" name="back" value="Back"/> + <input type="submit" name="editpagefromconfirm" value="Edit"/> + <input type="submit" name="deletepagefromconfirm" value="Delete"/> + </c:if> + </td> + </tr> + </tfoot> + </table> + </div> + </s:form> +</div> + +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,49 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selectable"><s:link href="/admin/todo/" style="text-decoration: none;">Tasks</s:link></li> + <li class="spacer"></li> + <li class="selected"><span>Category</span></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + + <s:form> + <html:hidden property="id"/> + <html:hidden property="mode"/> + <div class="form-table" style="margin-top:3px;"> + <table> + <caption>Edit Category Info</caption> + <tbody> + <tr> + <th style="width: 120px;">Name</th> + <td style="width: 200px;"><html:text property="name" size="20"/></td> + </tr> + </tbody> + <tfoot> + <tr> + <td colspan="2"> + <input type="submit" name="confirm" value="Confirm"/> + <input type="submit" name="back" value="Back"/> + </td> + </tr> + </tfoot> + </table> + </div> + </s:form> +</div> + +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,25 @@ +<%@page pageEncoding="UTF-8" %> +<html> +<head> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selectable"><s:link href="/admin/todo/" style="text-decoration: none;">Tasks</s:link></li> + <li class="spacer"></li> + <li class="selected"><span>Category</span></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<html:errors/> +<br> +<s:link href="index">戻る</s:link> +</div> +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,82 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selectable"><s:link href="/admin/todo/" style="text-decoration: none;">Tasks</s:link></li> + <li class="spacer"></li> + <li class="selected"><span>Category</span></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + +<div class="list-table" style="margin-top:3px;"> +<div> +<s:link href="createpage">Create New Category</s:link> +</div> +<table border="1"> + <thead> + <tr> + <th style="width:100px;text-align: center;">Name</th> + <th style="width:100px;text-align: center;">Owner</th> + <th style="width:100px;text-align: center;"> </th> + </tr> + </thead> + <tbody> + <c:forEach var="c" varStatus="s" items="${categoryItems}"> + <tr class="${s.index %2 == 0 ? 'row1' : 'row2'}"> + <td><s:link href="confirmpage/4/${f:u(c.id)}">${f:h(c.name)}</s:link></td> + <td style="text-align: center;">${f:h(c.userIdFromUserInfo)}</td> + <td align="center"> + <s:link href="editpage/2/${f:u(c.id)}">Edit</s:link> + <s:link href="deletepage/3/${f:u(c.id)}">Delete</s:link> + </td> + </tr> + </c:forEach> + </tbody> +</table> +<!-- page navi --> +<div style="width: 450px;text-align: center;"> + <span> + <c:if test="${categoryPager.existPrePage}"> + <s:link href="list/${categoryPager.currentPageNumber - 1}">前へ</s:link> + </c:if> + </span> + <span> + <c:forEach var="p" varStatus="s" items="${categoryPager.pageNumberList}"> + <span> + <c:if test="${p == categoryPager.currentPageNumber}"> + ${p} + </c:if> + <c:if test="${p != categoryPager.currentPageNumber}"> + <s:link href="list/${p}">${p}</s:link> + </c:if> + </span> + </c:forEach> + </span> + <span> + <c:if test="${categoryPager.existNextPage}"> + <s:link href="list/${categoryPager.currentPageNumber + 1}">次へ</s:link> + </c:if> + </span> +</div> +<div style="width: 450px;text-align: center;"> + <span> + ${categoryPager.currentPageNumber}/${categoryPager.allPageCount} (${categoryPager.allRecordCount}) + </span> +</div> +</div> +</div> + +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/confirm.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/confirm.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/confirm.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,199 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span>Tasks</span></li> + <li class="spacer"></li> + <li class="selectable"><s:link href="/admin/category/" style="text-decoration: none;">Category</s:link></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + + <s:form> + <html:hidden property="id"/> + <html:hidden property="idForTodo"/> + <html:hidden property="mode"/> + <div class="form-table" style="margin-top:3px;"> + <table> + <caption>Confirmation of Task Info</caption> + <tbody> + <tr> + <th style="width: 100px;">Basic</th> + <td> + <table> + <tbody> + <tr> + <th style="width: 120px;">Title</th> + <td style="width: 200px;">${f:h(nameForTodo)}<html:hidden property="nameForTodo"/></td> + </tr> + <tr> + <th>Description</th> + <td>${f:br(f:nbsp(f:h(descriptionForTodo)))}<html:hidden property="descriptionForTodo"/></td> + </tr> + <tr> + <th>Priority</th> + <td> +<c:if test="${priorityForTodo == '5'}">Blocker</c:if> +<c:if test="${priorityForTodo == '4'}">Critical</c:if> +<c:if test="${priorityForTodo == '3'}">Major</c:if> +<c:if test="${priorityForTodo == '2'}">Minor</c:if> +<c:if test="${priorityForTodo == '1'}">Trivial</c:if> +<html:hidden property="priorityForTodo"/> + + </td> + </tr> + <tr> + <th>Status</th> + <td> +<c:if test="${statusForTodo == '1'}">Working</c:if> +<c:if test="${statusForTodo == '10'}">Completed</c:if> +<html:hidden property="statusForTodo"/> + </td> + </tr> + <tr> + <th>Start Date</th> + <td> +<c:forEach var="y" varStatus="s" items="${yearItems}"> + <c:if test="${y == startDateYear}">${f:h(y)}</c:if> +</c:forEach> +<c:if test="${startDateYear == '' || startDateYear == null}">----</c:if> +/ +<c:forEach var="m" varStatus="s" items="${monthItems}"> + <c:if test="${m == startDateMonth}">${f:h(m)}</c:if> +</c:forEach> +<c:if test="${startDateMonth == '' || startDateMonth == null}">--</c:if> +/ +<c:forEach var="d" varStatus="s" items="${dateItems}"> + <c:if test="${d == startDateDate}">${f:h(d)}</c:if> +</c:forEach> +<c:if test="${startDateDate == '' || startDateDate == null}">--</c:if> +<html:hidden property="startDateYear"/> +<html:hidden property="startDateMonth"/> +<html:hidden property="startDateDate"/> + + </td> + </tr> + <tr> + <th>End Date</th> + <td> +<c:forEach var="y" varStatus="s" items="${yearItems}"> + <c:if test="${y == endDateYear}">${f:h(y)}</c:if> +</c:forEach> +<c:if test="${endDateYear == '' || endDateYear == null}">----</c:if> +/ +<c:forEach var="m" varStatus="s" items="${monthItems}"> + <c:if test="${m == endDateMonth}">${f:h(m)}</c:if> +</c:forEach> +<c:if test="${endDateMonth == '' || endDateMonth == null}">--</c:if> +/ +<c:forEach var="d" varStatus="s" items="${dateItems}"> + <c:if test="${d == endDateDate}">${f:h(d)}</c:if> +</c:forEach> +<c:if test="${endDateDate == '' || endDateDate == null}">--</c:if> +<html:hidden property="endDateYear"/> +<html:hidden property="endDateMonth"/> +<html:hidden property="endDateDate"/> + </td> + </tr> + </tbody> + </table> + </td> + </tr> +<c:if test="${mode!=1}"> + <tr> + <th>Personal</th> + <td> +<table> + <tbody> + <tr> + <th>Category ID</th> + <td>${f:h(categoryId)}<html:hidden property="categoryId"/></td> + </tr> + <tr> + <th style="width: 120px;">Status</th> + <td style="width: 200px;"> +<c:if test="${status == '1'}">Working</c:if> +<c:if test="${status == '10'}">Completed</c:if> +<html:hidden property="status"/> + </td> + </tr> + <tr> + <th>Memo</th> + <td>${f:br(f:nbsp(f:h(memo)))}<html:hidden property="memo"/></td> + </tr> + </tbody> +</table> + </td> + </tr> +<c:if test="${mode == 4}"> + <tr> + <th>Assigned</th> + <td> +<table> + <tbody> + <tr> + <th style="width: 140px;">Name</th> + <th style="width: 80px;">Status</th> + </tr> +<c:forEach var="t" varStatus="s" items="${todoMappingItems}"> + <tr class="${s.index %2 == 0 ? 'row1' : 'row2'}"> + <td>${f:h(t.userIdFromUserInfo)}</td> + <td style="text-align: center;"> +<c:if test="${t.status == '1'}">Working</c:if> +<c:if test="${t.status == '10'}">Completed</c:if> + </td> + </tr> +</c:forEach> + </tbody> +</table> + </td> + </tr> +</c:if> +</c:if> + </tbody> + <tfoot> + <tr> + <td colspan="2"> + <c:if test="${mode == 1}"> + <input type="submit" name="create" value="Create"/> + <input type="submit" name="editagain" value="Back"/> + </c:if> + <c:if test="${mode == 2}"> + <input type="submit" name="update" value="Update"/> + <input type="submit" name="editagain" value="Back"/> + </c:if> + <c:if test="${mode == 3}"> + <input type="submit" name="delete" value="Delete"/> + <input type="submit" name="back" value="Back"/> + </c:if> + <c:if test="${mode == 4}"> + <input type="submit" name="back" value="Back"/> + <input type="submit" name="editpagefromconfirm" value="Edit"/> + <input type="submit" name="deletepagefromconfirm" value="Delete"/> + <input type="submit" name="deletemappingpagefromconfirm" value="Remove this task from me"/> + </c:if> + <c:if test="${mode == 5}"> + <input type="submit" name="deletemapping" value="Remove"/> + <input type="submit" name="back" value="Back"/> + </c:if> + </td> + </tr> + </tfoot> + </table> + </div> + </s:form> +</div> + +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/confirm.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/edit.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/edit.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/edit.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,188 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span>Tasks</span></li> + <li class="spacer"></li> + <li class="selectable"><s:link href="/admin/category/" style="text-decoration: none;">Category</s:link></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + + <s:form> + <html:hidden property="id"/> + <html:hidden property="idForTodo"/> + <html:hidden property="mode"/> + <div class="form-table" style="margin-top:3px;"> + <table> + <caption>Edit Task Info</caption> + <tbody> + <tr> + <th style="width: 100px;">Basic</th> + <td> + <table> + <tbody> + <tr> + <th style="width: 120px;">Title</th> + <td style="width: 200px;"><html:text property="nameForTodo" size="20"/></td> + </tr> + <tr> + <th>Description</th> + <td><html:textarea property="descriptionForTodo" cols="20" rows="3"/></td> + </tr> + <tr> + <th>Priority</th> + <td> +<html:select property="priorityForTodo"> + <html:option value="5">Blocker</html:option> + <html:option value="4">Critical</html:option> + <html:option value="3">Major</html:option> + <html:option value="2">Minor</html:option> + <html:option value="1">Trivial</html:option> +</html:select> + </td> + </tr> + <tr> + <th>Status</th> + <td> +<c:if test="${statusForTodo == '1'}">Working</c:if> +<c:if test="${statusForTodo == '10'}">Completed</c:if> +<html:hidden property="statusForTodo"/> + </td> + </tr> + <tr> + <th>Start Date</th> + <td> +<html:select property="startDateYear"> +<option value="">----</option> + <c:forEach var="y" varStatus="s" items="${yearItems}"> + <html:option value="${f:h(y)}">${f:h(y)}</html:option> + </c:forEach> +</html:select> +/ +<html:select property="startDateMonth"> +<option value="">--</option> + <c:forEach var="m" varStatus="s" items="${monthItems}"> + <html:option value="${f:h(m)}">${f:h(m)}</html:option> + </c:forEach> +</html:select> +/ +<html:select property="startDateDate"> +<option value="">--</option> + <c:forEach var="d" varStatus="s" items="${dateItems}"> + <html:option value="${f:h(d)}">${f:h(d)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> + <tr> + <th>End Date</th> + <td> +<html:select property="endDateYear"> +<option value="">----</option> + <c:forEach var="y" varStatus="s" items="${yearItems}"> + <html:option value="${f:h(y)}">${f:h(y)}</html:option> + </c:forEach> +</html:select> +/ +<html:select property="endDateMonth"> +<option value="">--</option> + <c:forEach var="m" varStatus="s" items="${monthItems}"> + <html:option value="${f:h(m)}">${f:h(m)}</html:option> + </c:forEach> +</html:select> +/ +<html:select property="endDateDate"> +<option value="">--</option> + <c:forEach var="d" varStatus="s" items="${dateItems}"> + <html:option value="${f:h(d)}">${f:h(d)}</html:option> + </c:forEach> +</html:select> + </td> + </tr> + </tbody> + </table> + </td> + </tr> +<c:if test="${mode!=1}"> + <tr> + <th>Personal</th> + <td> +<table> + <tbody> + <tr> + <th>Category ID</th> + <td><html:text property="categoryId" size="20"/></td> + </tr> + <tr> + <th style="width: 120px;">Status</th> + <td style="width: 200px;"> +<html:select property="status"> + <html:option value="1">Working</html:option> + <html:option value="10">Completed</html:option> +</html:select> + </td> + </tr> + <tr> + <th>Memo</th> + <td><html:textarea property="memo" cols="20" rows="3"/></td> + </tr> + </tbody> +</table> + </td> + </tr> + <tr> + <th>Assigned</th> + <td> +<table> + <tbody> + <tr> + <th style="width: 140px;">Name</th> + <th style="width: 80px;">Status</th> + <th style="width: 100px;"> </th> + </tr> +<c:forEach var="t" varStatus="s" items="${todoMappingItems}"> + <tr class="${s.index %2 == 0 ? 'row1' : 'row2'}"> + <td>${f:h(t.userIdFromUserInfo)}</td> + <td style="text-align: center;"> +<c:if test="${t.status == '1'}">Working</c:if> +<c:if test="${t.status == '10'}">Completed</c:if> + </td> + <td style="text-align: center;"><s:link href="removemapping/${t.id}">Remove</s:link></td> + </tr> +</c:forEach> + </tbody> +</table> +<div> +<s:link href="/admin/userInfo/index/${f:u(idForTodo)}/${f:u(id)}">Add User to This Task</s:link> +</div> + </td> + </tr> +</c:if> + </tbody> + <tfoot> + <tr> + <td colspan="2"> + <input type="submit" name="confirm" value="Confirm"/> + <input type="submit" name="back" value="Back"/> + </td> + </tr> + </tfoot> + </table> + </div> + </s:form> +</div> + +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/edit.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/error.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/error.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/error.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,25 @@ +<%@page pageEncoding="UTF-8" %> +<html> +<head> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span>Tasks</span></li> + <li class="spacer"></li> + <li class="selectable"><s:link href="/admin/category/" style="text-decoration: none;">Category</s:link></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<html:errors/> +<br> +<s:link href="index">戻る</s:link> +</div> +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/error.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/index.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/index.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/index.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,101 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span>Tasks</span></li> + <li class="spacer"></li> + <li class="selectable"><s:link href="/admin/category/" style="text-decoration: none;">Category</s:link></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + +<div class="list-table" style="margin-top:3px;"> +<div> +<s:link href="createpage">Create New Task</s:link> +</div> +<table border="1"> + <thead> + <tr> + <th style="width:50px;text-align: center;">Pri</th> + <th style="width:200px;text-align: center;">Name</th> + <th style="width:100px;text-align: center;">Assigned</th> + <th style="width:100px;text-align: center;">Created By</th> + <th style="width:100px;text-align: center;">Due Date</th> + <th style="width:100px;text-align: center;"> </th> + </tr> + </thead> + <tbody> + <c:forEach var="t" varStatus="s" items="${todoMappingItems}"> + <tr class="${s.index %2 == 0 ? 'row1' : 'row2'}"> + <td style="text-align: center;"> +<c:if test="${t.todo.priority == '5'}">Blocker</c:if> +<c:if test="${t.todo.priority == '4'}">Critical</c:if> +<c:if test="${t.todo.priority == '3'}">Major</c:if> +<c:if test="${t.todo.priority == '2'}">Minor</c:if> +<c:if test="${t.todo.priority == '1'}">Trivial</c:if> + </td> + <td><s:link href="confirmpage/4/${f:u(t.id)}">${f:h(t.todo.name)}</s:link></td> + <td style="text-align: center;">${f:h(t.userIdFromUserInfo)}</td> + <td style="text-align: center;">${f:h(t.todo.createdByFromUserInfo)}</td> + <td style="text-align: center;"> +<c:if test="${t.todo.endDate!=null}"> +<fmt:formatDate value="${t.todo.endDate}" pattern="yyyy/MM/dd"/> +</c:if> + </td> + <td align="center"> + <s:link href="editpage/2/${f:u(t.id)}">Edit</s:link> +<!-- + <s:link href="deletepage/3/${f:u(t.id)}">Delete</s:link> + <s:link href="deletemappingpage/5/${f:u(t.id)}">Remove from me</s:link> + --> + </td> + </tr> + </c:forEach> + </tbody> +</table> +<!-- page navi --> +<div style="width: 450px;text-align: center;"> + <span> + <c:if test="${todoPager.existPrePage}"> + <s:link href="list/${todoPager.currentPageNumber - 1}">前へ</s:link> + </c:if> + </span> + <span> + <c:forEach var="p" varStatus="s" items="${todoPager.pageNumberList}"> + <span> + <c:if test="${p == todoPager.currentPageNumber}"> + ${p} + </c:if> + <c:if test="${p != todoPager.currentPageNumber}"> + <s:link href="list/${p}">${p}</s:link> + </c:if> + </span> + </c:forEach> + </span> + <span> + <c:if test="${todoPager.existNextPage}"> + <s:link href="list/${todoPager.currentPageNumber + 1}">次へ</s:link> + </c:if> + </span> +</div> +<div style="width: 450px;text-align: center;"> + <span> + ${todoPager.currentPageNumber}/${todoPager.allPageCount} (${todoPager.allRecordCount}) + </span> +</div> +</div> +</div> +<div style="clear: both;"></div> +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/todo/index.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/error.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/error.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/error.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,25 @@ +<%@page pageEncoding="UTF-8" %> +<html> +<head> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span>Tasks</span></li> + <li class="spacer"></li> + <li class="selectable"><s:link href="/user/category/" style="text-decoration: none;">Category</s:link></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<html:errors/> +<br> +<s:link href="/user/userInfo/index/${f:u(todoId)}/${f:u(todoMappingId)}">Back</s:link> +</div> +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/error.jsp ___________________________________________________________________ Name: svn:eol-style + native Added: todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/index.jsp =================================================================== --- todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/index.jsp (rev 0) +++ todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/index.jsp 2008-11-11 03:23:02 UTC (rev 1325) @@ -0,0 +1,83 @@ +<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title></title> +</head> +<body> +<div style="padding:3px;"> +<!-- tab: BEGIN --> +<div class="tab-nav"> + <ul> + <li class="first"></li> + <li class="selected"><span>Tasks</span></li> + <li class="spacer"></li> + <li class="selectable"><s:link href="/user/category/" style="text-decoration: none;">Category</s:link></li> + <li class="last"></li> + </ul> +</div> +<!-- tab: END --> + +<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div> + +<div class="list-table" style="margin-top:3px;"> +<div> +<s:link href="/user/todo/confirmpage/4/${f:u(todoMappingId)}">Back to Task Detail</s:link> +</div> +<table> + <thead> + <tr> + <th style="width:100px;text-align: center;">User ID</th> + <th style="width:150px;text-align: center;">Name</th> + <th style="width:200px;text-align: center;">Email</th> + <th style="width:100px;text-align: center;"> </th> + </tr> + </thead> + <tbody> + <c:forEach var="u" varStatus="s" items="${userInfoItems}"> + <tr class="${s.index %2 == 0 ? 'row1' : 'row2'}"> + <td>${f:h(u.userId)}</td> + <td>${f:h(u.familyName)} ${f:h(u.givenName)}</td> + <td>${f:h(u.email)}</td> + <td align="center"> + <s:link href="adduser/${f:u(todoId)}/${f:u(todoMappingId)}/${f:u(u.userId)}">Add</s:link> + </td> + </tr> + </c:forEach> + </tbody> +</table> +<!-- page navi --> +<div style="width: 450px;text-align: center;"> + <span> + <c:if test="${userInfoPager.existPrePage}"> + <s:link href="list/${f:u(todoId)}/${f:u(todoMappingId)}/${userInfoPager.currentPageNumber - 1}">前へ</s:link> + </c:if> + </span> + <span> + <c:forEach var="p" varStatus="s" items="${userInfoPager.pageNumberList}"> + <span> + <c:if test="${p == userInfoPager.currentPageNumber}"> + ${p} + </c:if> + <c:if test="${p != userInfoPager.currentPageNumber}"> + <s:link href="list/${f:u(todoId)}/${f:u(todoMappingId)}/${p}">${p}</s:link> + </c:if> + </span> + </c:forEach> + </span> + <span> + <c:if test="${userInfoPager.existNextPage}"> + <s:link href="list/${f:u(todoId)}/${f:u(todoMappingId)}/${userInfoPager.currentPageNumber + 1}">次へ</s:link> + </c:if> + </span> +</div> +<div style="width: 450px;text-align: center;"> + <span> + ${userInfoPager.currentPageNumber}/${userInfoPager.allPageCount} (${userInfoPager.allRecordCount}) + </span> +</div> +</div> +</div> + +</body> +</html> Property changes on: todolist/trunk/src/main/webapp/WEB-INF/view/admin/userInfo/index.jsp ___________________________________________________________________ Name: svn:eol-style + native