[pal-cvs 3275] [1009] bug fixes.

アーカイブの一覧に戻る

svnno****@sourc***** svnno****@sourc*****
2008年 7月 3日 (木) 09:15:15 JST


Revision: 1009
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1009
Author:   shinsuke
Date:     2008-07-03 09:15:15 +0900 (Thu, 03 Jul 2008)

Log Message:
-----------
bug fixes.

Modified Paths:
--------------
    announcement/trunk/src/main/java/jp/sf/pal/announcement/dxo/AnnouncementDxo.java
    announcement/trunk/src/main/java/jp/sf/pal/announcement/filter/AnnouncementFilter.java
    announcement/trunk/src/main/java/jp/sf/pal/announcement/service/AnnouncementService.java
    announcement/trunk/src/main/java/jp/sf/pal/announcement/web/edit/EditContentPage.java
    announcement/trunk/src/main/java/jp/sf/pal/announcement/web/view/DisplayContentPage.java
    announcement/trunk/src/main/resources/AMMessages.properties
    announcement/trunk/src/main/resources/appMessages.properties
    announcement/trunk/src/main/resources/appMessages_ja.properties
    announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label.properties
    announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label_ja.properties
    announcement/trunk/src/main/webapp/view/edit/editContent.html

Added Paths:
-----------
    announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstants.java

Removed Paths:
-------------
    announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstraints.java


-------------- next part --------------
Added: announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstants.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstants.java	                        (rev 0)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstants.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -0,0 +1,23 @@
+package jp.sf.pal.announcement;
+
+public class AnnouncementConstants {
+
+    public static final String DEFAULT_SCOPE = "DEFAULT";
+
+    public static final String SCOPE_KEY = "scope";
+
+    public static final String REPLACE_TITLE_KEY = "replaceTitle";
+
+    public static final long MIN_DATE = 0;
+
+    public static final long MAX_DATE = 92464556400000L;// 4900/02/01?
+
+    public static final String EDIT_MODE = "edit";
+
+    public static final String DELETE_MODE = "delete";
+
+    public static final String UP_MODE = "up";
+
+    public static final String DOWN_MODE = "down";
+
+}


Property changes on: announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstants.java
___________________________________________________________________
Name: svn:eol-style
   + native

Deleted: announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstraints.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstraints.java	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/AnnouncementConstraints.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -1,13 +0,0 @@
-package jp.sf.pal.announcement;
-
-public class AnnouncementConstraints {
-
-    public static final String DEFAULT_SCOPE = "DEFAULT";
-
-    public static final String SCOPE_KEY = "scope";
-
-    public static final long MIN_DATE = 0;
-
-    public static final long MAX_DATE = 92464556400000L;// 4900/02/01?
-
-}

Modified: announcement/trunk/src/main/java/jp/sf/pal/announcement/dxo/AnnouncementDxo.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/dxo/AnnouncementDxo.java	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/dxo/AnnouncementDxo.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -6,10 +6,13 @@
 import jp.sf.pal.announcement.db.exentity.Announcement;
 import jp.sf.pal.announcement.web.edit.EditContentPage;
 
+import org.seasar.extension.dxo.annotation.ConversionRule;
+
 public interface AnnouncementDxo {
     public void convertFromAnnouncementToPage(Announcement announcement,
             EditContentPage page);
 
+    @ConversionRule("id : id, title : title, startDate : startDate, endDate : endDate, role : role, content : content")
     public void convertFromListAnnouncementToListMap(
             List<Announcement> announcementList, List<Map<String, Object>> list);
 

Modified: announcement/trunk/src/main/java/jp/sf/pal/announcement/filter/AnnouncementFilter.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/filter/AnnouncementFilter.java	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/filter/AnnouncementFilter.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -8,7 +8,7 @@
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 
-import jp.sf.pal.announcement.AnnouncementConstraints;
+import jp.sf.pal.announcement.AnnouncementConstants;
 
 import org.apache.portals.bridges.portletfilter.PortletFilter;
 import org.apache.portals.bridges.portletfilter.PortletFilterChain;
@@ -18,12 +18,22 @@
 
     private String scope;
 
+    private boolean replaceTitle;
+
     public void init(PortletFilterConfig config) throws PortletException {
         scope = config.getPortletConfig().getInitParameter(
-                AnnouncementConstraints.SCOPE_KEY);
+                AnnouncementConstants.SCOPE_KEY);
         if (scope == null) {
-            scope = AnnouncementConstraints.DEFAULT_SCOPE;
+            scope = AnnouncementConstants.DEFAULT_SCOPE;
         }
+
+        String value = config.getPortletConfig().getInitParameter(
+                AnnouncementConstants.REPLACE_TITLE_KEY);
+        if (value != null && value.equalsIgnoreCase("true")) {
+            replaceTitle = true;
+        } else {
+            replaceTitle = false;
+        }
     }
 
     public void destroy() {
@@ -32,13 +42,21 @@
     public void processActionFilter(ActionRequest request,
             ActionResponse response, PortletFilterChain chain)
             throws PortletException, IOException {
-        request.setAttribute(AnnouncementConstraints.SCOPE_KEY, scope);
+        request.setAttribute(AnnouncementConstants.SCOPE_KEY, scope);
+        if (replaceTitle) {
+            request.setAttribute(AnnouncementConstants.REPLACE_TITLE_KEY,
+                    Boolean.TRUE);
+        }
         chain.processActionFilter(request, response);
     }
 
     public void renderFilter(RenderRequest request, RenderResponse response,
             PortletFilterChain chain) throws PortletException, IOException {
-        request.setAttribute(AnnouncementConstraints.SCOPE_KEY, scope);
+        request.setAttribute(AnnouncementConstants.SCOPE_KEY, scope);
+        if (replaceTitle) {
+            request.setAttribute(AnnouncementConstants.REPLACE_TITLE_KEY,
+                    Boolean.TRUE);
+        }
         chain.renderFilter(request, response);
     }
 

Modified: announcement/trunk/src/main/java/jp/sf/pal/announcement/service/AnnouncementService.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/service/AnnouncementService.java	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/service/AnnouncementService.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -7,7 +7,8 @@
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 
-import jp.sf.pal.announcement.AnnouncementConstraints;
+import jp.sf.pal.announcement.AnnouncementConstants;
+import jp.sf.pal.announcement.db.cbean.AnnouncementBodyCB;
 import jp.sf.pal.announcement.db.cbean.AnnouncementCB;
 import jp.sf.pal.announcement.db.exbhv.AnnouncementBhv;
 import jp.sf.pal.announcement.db.exbhv.AnnouncementBodyBhv;
@@ -59,7 +60,25 @@
     }
 
     public void deleteAnnouncement(Announcement announcement) {
+        AnnouncementBody announcementBody = announcement
+                .getAnnouncementBodyAsOne();
+        if (announcementBody == null) {
+            Integer id = announcement.getId();
+            AnnouncementBodyCB cb = new AnnouncementBodyCB();
+            cb.query().setId_Equal(id);
+            announcementBody = announcementBodyBhv.selectEntity(cb);
+        }
         announcementBhv.delete(announcement);
+        announcementBodyBhv.delete(announcementBody);
+
+        // update sortOrder
+        List<Announcement> announcementList = getAnnouncementList();
+        int sortOrder = announcementList.size();
+        for (Announcement am : announcementList) {
+            am.setSortOrder(sortOrder);
+            announcementBhv.createOrModify(am);
+            sortOrder--;
+        }
     }
 
     public List<Announcement> getAnnouncementList() {
@@ -69,16 +88,58 @@
         return announcementBhv.selectList(cb);
     }
 
+    public void moveUpAnnouncement(Announcement announcement) {
+        int id = announcement.getId().intValue();
+        List<Announcement> announcementList = getAnnouncementList();
+        int i = 0;
+        for (Announcement am : announcementList) {
+            if (am.getId().intValue() == id) {
+                // throw RuntimeException
+                announcementList.add(i - 1, announcementList.remove(i));
+                break;
+            }
+            i++;
+        }
+
+        int sortOrder = announcementList.size();
+        for (Announcement am : announcementList) {
+            am.setSortOrder(sortOrder);
+            announcementBhv.createOrModify(am);
+            sortOrder--;
+        }
+    }
+
+    public void moveDownAnnouncement(Announcement announcement) {
+        int id = announcement.getId().intValue();
+        List<Announcement> announcementList = getAnnouncementList();
+        int i = 0;
+        for (Announcement am : announcementList) {
+            if (am.getId().intValue() == id) {
+                // throw RuntimeException
+                announcementList.add(i + 1, announcementList.remove(i));
+                break;
+            }
+            i++;
+        }
+
+        int sortOrder = announcementList.size();
+        for (Announcement am : announcementList) {
+            am.setSortOrder(sortOrder);
+            announcementBhv.createOrModify(am);
+            sortOrder--;
+        }
+    }
+
     public void createAnnouncement(Announcement announcement) {
         // prepare
         announcement.setScope(getScope());
         if (announcement.getStartDate() == null) {
             announcement.setStartDate(new Timestamp(
-                    AnnouncementConstraints.MIN_DATE));
+                    AnnouncementConstants.MIN_DATE));
         }
         if (announcement.getEndDate() == null) {
             announcement.setEndDate(new Timestamp(
-                    AnnouncementConstraints.MAX_DATE));
+                    AnnouncementConstants.MAX_DATE));
         }
 
         List<Announcement> announcementList = getAnnouncementList();
@@ -100,13 +161,22 @@
     }
 
     public void updateAnnouncement(Announcement announcement) {
+        if (announcement.getStartDate() == null) {
+            announcement.setStartDate(new Timestamp(
+                    AnnouncementConstants.MIN_DATE));
+        }
+        if (announcement.getEndDate() == null) {
+            announcement.setEndDate(new Timestamp(
+                    AnnouncementConstants.MAX_DATE));
+        }
+
         announcementBhv.update(announcement);
         announcementBodyBhv.update(announcement.getAnnouncementBodyAsOne());
     }
 
     private String getScope() {
         return (String) FacesContext.getCurrentInstance().getExternalContext()
-                .getRequestMap().get(AnnouncementConstraints.SCOPE_KEY);
+                .getRequestMap().get(AnnouncementConstants.SCOPE_KEY);
     }
 
     private Announcement getDefaultAnnouncement() {

Modified: announcement/trunk/src/main/java/jp/sf/pal/announcement/web/edit/EditContentPage.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/web/edit/EditContentPage.java	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/web/edit/EditContentPage.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -9,7 +9,7 @@
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
 
-import jp.sf.pal.announcement.AnnouncementConstraints;
+import jp.sf.pal.announcement.AnnouncementConstants;
 import jp.sf.pal.announcement.db.exentity.Announcement;
 import jp.sf.pal.announcement.db.exentity.AnnouncementBody;
 import jp.sf.pal.announcement.dxo.AnnouncementDxo;
@@ -31,26 +31,28 @@
     private static final Logger logger = Logger
             .getLogger(EditContentPage.class);
 
-    public String mode;
-
     public Integer id;
 
-    @Required
+    @Required(target = "doFinishSave")
     public String title;
 
-    @DateTimeConverter(pattern = "yyyy/MM/dd")
+    @DateTimeConverter(pattern = "yyyy/MM/dd HH:mm")
     public Date startDate;
 
-    @DateTimeConverter(pattern = "yyyy/MM/dd")
+    @DateTimeConverter(pattern = "yyyy/MM/dd HH:mm")
     public Date endDate;
 
     public String role;
 
-    @Required
+    @Required(target = "doFinishSave")
     public String content;
 
     public List<Map<String, Object>> announcementItems;
 
+    public int announcementIndex;
+
+    public int announcementMaxCount;
+
     private AnnouncementService announcementService;
 
     private AnnouncementDxo announcementDxo;
@@ -69,26 +71,9 @@
                         new Object[] { id });
                 logger.log("EAM0001", new Object[] { id });
             } else {
-                if ("delete".equals(mode)) {
-                    //delete
-                    try {
-                        announcementService.deleteAnnouncement(announcement);
-                        FacesMessageUtil.addInfoMessage("deleted.announcement",
-                                new Object[] { id });
-                        if (logger.isInfoEnabled()) {
-                            logger.log("IAM0001", new Object[] { id });
-                        }
-                    } catch (Exception e) {
-                        FacesMessageUtil.addErrorMessage(
-                                "failed.to.delete.announcement",
-                                new Object[] { id });
-                        logger.log("EAM0002", new Object[] { id }, e);
-                    }
-                } else {
-                    // edit mode
-                    announcementDxo.convertFromAnnouncementToPage(announcement,
-                            this);
-                }
+                // edit mode
+                announcementDxo.convertFromAnnouncementToPage(announcement,
+                        this);
             }
         }
 
@@ -99,10 +84,126 @@
         announcementDxo.convertFromListAnnouncementToListMap(announcementList,
                 announcementItems);
 
+        announcementMaxCount = announcementItems.size();
+
         FacesMessageUtil.renderMessages();
         return null;
     }
 
+    public Class<?> doMoveUp() {
+        Integer targetId = getTargetId();
+        if (targetId == null) {
+            return null;
+        }
+        Announcement announcement = announcementService
+                .getAnnouncement(targetId);
+        if (announcement == null) {
+            FacesMessageUtil.addErrorMessage("could.not.find.announcement",
+                    new Object[] { targetId });
+            logger.log("EAM0001", new Object[] { targetId });
+        } else {
+            // up
+            try {
+                announcementService.moveUpAnnouncement(announcement);
+                FacesMessageUtil.addInfoMessage("moved.announcement.up",
+                        new Object[] { targetId });
+                if (logger.isInfoEnabled()) {
+                    logger.log("IAM0005", new Object[] { targetId });
+                }
+                return EditContentPage.class;
+            } catch (Exception e) {
+                FacesMessageUtil.addErrorMessage(
+                        "failed.to.move.announcement.up",
+                        new Object[] { targetId });
+                logger.log("EAM0007", new Object[] { targetId }, e);
+            }
+        }
+        return null;
+    }
+
+    public Class<?> doMoveDown() {
+        Integer targetId = getTargetId();
+        if (targetId == null) {
+            return null;
+        }
+        Announcement announcement = announcementService
+                .getAnnouncement(targetId);
+        if (announcement == null) {
+            FacesMessageUtil.addErrorMessage("could.not.find.announcement",
+                    new Object[] { targetId });
+            logger.log("EAM0001", new Object[] { targetId });
+        } else {
+            // down
+            try {
+                announcementService.moveDownAnnouncement(announcement);
+                FacesMessageUtil.addInfoMessage("moved.announcement.down",
+                        new Object[] { targetId });
+                if (logger.isInfoEnabled()) {
+                    logger.log("IAM0004", new Object[] { targetId });
+                }
+                return EditContentPage.class;
+            } catch (Exception e) {
+                FacesMessageUtil.addErrorMessage(
+                        "failed.to.move.announcement.up", new Object[] { id });
+                logger.log("EAM0006", new Object[] { targetId }, e);
+            }
+        }
+        return null;
+    }
+
+    public Class<?> doEdit() {
+        Integer targetId = getTargetId();
+        if (targetId == null) {
+            return null;
+        }
+
+        id = targetId;
+        return EditContentPage.class;
+    }
+
+    public Class<?> doFinishDelete() {
+        Integer targetId = getTargetId();
+        if (targetId == null) {
+            return null;
+        }
+        Announcement announcement = announcementService
+                .getAnnouncement(targetId);
+        if (announcement == null) {
+            FacesMessageUtil.addErrorMessage("could.not.find.announcement",
+                    new Object[] { targetId });
+            logger.log("EAM0001", new Object[] { targetId });
+        } else {
+            //delete
+            try {
+                announcementService.deleteAnnouncement(announcement);
+                FacesMessageUtil.addInfoMessage("deleted.announcement",
+                        new Object[] { targetId });
+                if (logger.isInfoEnabled()) {
+                    logger.log("IAM0001", new Object[] { targetId });
+                }
+                return EditContentPage.class;
+            } catch (Exception e) {
+                FacesMessageUtil.addErrorMessage(
+                        "failed.to.delete.announcement",
+                        new Object[] { targetId });
+                logger.log("EAM0002", new Object[] { targetId }, e);
+            }
+        }
+        return null;
+    }
+
+    protected Integer getTargetId() {
+        Map<String, Object> targetObject = (Map<String, Object>) announcementItems
+                .get(announcementIndex);
+        if (targetObject == null) {
+            FacesMessageUtil
+                    .addErrorMessage("could.not.find.announcement.list");
+            logger.log("EAM0008", null);
+            return null;
+        }
+        return (Integer) targetObject.get("id");
+    }
+
     public Class<?> doFinishCreateNew() {
         return EditContentPage.class;
     }
@@ -222,7 +323,7 @@
 
     public Date getStartDate() {
         if (startDate != null
-                && startDate.getTime() <= AnnouncementConstraints.MIN_DATE) {
+                && startDate.getTime() <= AnnouncementConstants.MIN_DATE) {
             return null;
         }
         return startDate;
@@ -230,7 +331,7 @@
 
     public Date getEndDate() {
         if (endDate != null
-                && endDate.getTime() >= AnnouncementConstraints.MAX_DATE) {
+                && endDate.getTime() >= AnnouncementConstants.MAX_DATE) {
             return null;
         }
         return endDate;
@@ -248,4 +349,32 @@
         return labelHelper.getLabelValue("new");
     }
 
+    public String getDoMoveUpValue() {
+        return labelHelper.getLabelValue("up");
+    }
+
+    public String getDoMoveDownValue() {
+        return labelHelper.getLabelValue("down");
+    }
+
+    public String getDoEditValue() {
+        return labelHelper.getLabelValue("edit");
+    }
+
+    public String getDoFinishDeleteValue() {
+        return labelHelper.getLabelValue("delete");
+    }
+
+    public int getPriority() {
+        return announcementIndex + 1;
+    }
+
+    public boolean isMoveDown() {
+        return announcementIndex < announcementMaxCount - 1
+                && announcementMaxCount > 1;
+    }
+
+    public boolean isMoveUp() {
+        return announcementIndex > 0 && announcementMaxCount > 1;
+    }
 }

Modified: announcement/trunk/src/main/java/jp/sf/pal/announcement/web/view/DisplayContentPage.java
===================================================================
--- announcement/trunk/src/main/java/jp/sf/pal/announcement/web/view/DisplayContentPage.java	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/java/jp/sf/pal/announcement/web/view/DisplayContentPage.java	2008-07-03 00:15:15 UTC (rev 1009)
@@ -2,9 +2,11 @@
 
 import java.io.Serializable;
 
-import javax.portlet.PortletResponse;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
 import javax.portlet.RenderResponse;
 
+import jp.sf.pal.announcement.AnnouncementConstants;
 import jp.sf.pal.announcement.db.exentity.Announcement;
 import jp.sf.pal.announcement.service.AnnouncementService;
 import jp.sf.pal.common.util.FacesMessageUtil;
@@ -17,7 +19,7 @@
 
     private AnnouncementService announcementService;
 
-    private PortletResponse response;
+    //    private PortletResponse response;
 
     public Class<?> initialize() {
         return null;
@@ -27,9 +29,18 @@
         Announcement announcement = announcementService
                 .getCurrentAvailableAnnouncement();
         content = announcement.getAnnouncementBodyAsOne().getContent();
-        if (response instanceof RenderResponse) {
-            ((RenderResponse) response).setTitle(announcement.getTitle());
+
+        //TODO needs to fix s2
+        ExternalContext externalContext = FacesContext.getCurrentInstance()
+                .getExternalContext();
+        if (externalContext.getRequestMap().get(
+                AnnouncementConstants.REPLACE_TITLE_KEY) != null) {
+            Object response = externalContext.getResponse();
+            if (response instanceof RenderResponse) {
+                ((RenderResponse) response).setTitle(announcement.getTitle());
+            }
         }
+
         FacesMessageUtil.renderMessages();
         return null;
     }
@@ -42,12 +53,4 @@
         this.announcementService = announcementService;
     }
 
-    public PortletResponse getResponse() {
-        return response;
-    }
-
-    public void setResponse(PortletResponse response) {
-        this.response = response;
-    }
-
 }

Modified: announcement/trunk/src/main/resources/AMMessages.properties
===================================================================
--- announcement/trunk/src/main/resources/AMMessages.properties	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/resources/AMMessages.properties	2008-07-03 00:15:15 UTC (rev 1009)
@@ -3,8 +3,13 @@
 EAM0003=Could not find the announcement(id={0}).
 EAM0004=Failed to create the announcement.
 EAM0005=Failed to update the announcement(id={0}).
+EAM0006=Failed to move the announcement(id={0}) down.
+EAM0007=Failed to move the announcement(id={0}) up.
+EAM0008=Could not find the announcement.
 
 IAM0001=Deleted announcement({0}).
 IAM0002=Created announcement.
 IAM0003=Updated announcement({0}).
+IAM0004=Moved announcement({0}) down.
+IAM0005=Moved announcement({0}) up.
 

Modified: announcement/trunk/src/main/resources/appMessages.properties
===================================================================
--- announcement/trunk/src/main/resources/appMessages.properties	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/resources/appMessages.properties	2008-07-03 00:15:15 UTC (rev 1009)
@@ -5,3 +5,8 @@
 failed.to.create.announcement=Failed to create an announcement. If you see this error again, please contact to a site administrator.
 updated.announcement=Updated announcement(id={0}).
 failed.to.update.announcement=Failed to update the announcement(id={0}). If you see this error again, please contact to a site administrator.
+moved.announcement.down=Moved announcement(id={0}) down.
+failed.to.move.announcement.down=Failed to move the announcement(id={0}) down. If you see this error again, please contact to a site administrator.
+moved.announcement.up=Moved announcement(id={0}) up.
+failed.to.move.announcement.up=Failed to move the announcement(id={0}) up. If you see this error again, please contact to a site administrator.
+could.not.find.announcement.list=Could not find the annnouncement. If you see this error again, please contact to a site administrator.

Modified: announcement/trunk/src/main/resources/appMessages_ja.properties
===================================================================
--- announcement/trunk/src/main/resources/appMessages_ja.properties	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/resources/appMessages_ja.properties	2008-07-03 00:15:15 UTC (rev 1009)
@@ -5,3 +5,8 @@
 failed.to.create.announcement=\u304a\u77e5\u3089\u305b\u60c5\u5831\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u518d\u5ea6\u3001\u3053\u306e\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u306f\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002
 updated.announcement=\u304a\u77e5\u3089\u305b\u60c5\u5831(id={0})\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002
 failed.to.update.announcement=\u304a\u77e5\u3089\u305b\u60c5\u5831(id={0})\u306e\u66f4\u65b0\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u518d\u5ea6\u3001\u3053\u306e\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u306f\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002
+moved.announcement.down=\u304a\u77e5\u3089\u305b\u60c5\u5831(id={0})\u3092\u4e0b\u306b\u79fb\u52d5\u3057\u307e\u3057\u305f\u3002
+failed.to.move.announcement.down=\u304a\u77e5\u3089\u305b\u60c5\u5831(id={0})\u3092\u4e0b\u306b\u79fb\u52d5\u3059\u308b\u306e\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u518d\u5ea6\u3001\u3053\u306e\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u306f\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002
+moved.announcement.up=\u304a\u77e5\u3089\u305b\u60c5\u5831(id={0})\u3092\u4e0a\u306b\u79fb\u52d5\u3057\u307e\u3057\u305f\u3002
+failed.to.move.announcement.up=\u304a\u77e5\u3089\u305b\u60c5\u5831(id={0})\u3092\u4e0a\u306b\u79fb\u52d5\u3059\u308b\u306e\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u518d\u5ea6\u3001\u3053\u306e\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u306f\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002
+could.not.find.announcement.list=\u304a\u77e5\u3089\u305b\u60c5\u5831\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u518d\u5ea6\u3001\u3053\u306e\u30a8\u30e9\u30fc\u304c\u8868\u793a\u3055\u308c\u308b\u5834\u5408\u306f\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002

Modified: announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label.properties
===================================================================
--- announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label.properties	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label.properties	2008-07-03 00:15:15 UTC (rev 1009)
@@ -8,12 +8,18 @@
 releaseDateInput=Release Date:
 roleInput=Role:
 
+dateFormatExample=(ex. 2008/02/03 12:30)
+
+listPriority=Priority
 listTitle=Title
 listStartDate=Start Date
 listEndDate=End Date
 listRole=Role
+listOrder=Order
 listAction=Action
 
+up=Up
+down=Down
 edit=Edit
 delete=Delete
 new=New

Modified: announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label_ja.properties
===================================================================
--- announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label_ja.properties	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/resources/jp/sf/pal/announcement/web/edit/label_ja.properties	2008-07-03 00:15:15 UTC (rev 1009)
@@ -8,12 +8,18 @@
 releaseDateInput=\u516c\u958b\u65e5:
 roleInput=\u30ed\u30fc\u30eb:
 
+dateFormatExample=(ex. 2008/02/03 12:30)
+
+listPriority=\u512a\u5148\u5ea6
 listTitle=\u30bf\u30a4\u30c8\u30eb
 listStartDate=\u958b\u59cb\u65e5
 listEndDate=\u7d42\u4e86\u65e5
 listRole=\u30ed\u30fc\u30eb
+listOrder=\u9806\u5e8f
 listAction=\u51e6\u7406
 
+up=\u4e0a\u3078
+down=\u4e0b\u3078
 edit=\u7de8\u96c6
 delete=\u524a\u9664
 new=\u30ea\u30bb\u30c3\u30c8

Modified: announcement/trunk/src/main/webapp/view/edit/editContent.html
===================================================================
--- announcement/trunk/src/main/webapp/view/edit/editContent.html	2008-07-02 08:38:06 UTC (rev 1008)
+++ announcement/trunk/src/main/webapp/view/edit/editContent.html	2008-07-03 00:15:15 UTC (rev 1009)
@@ -6,8 +6,8 @@
 <link rel="stylesheet" type="text/css" href="../../css/global.css"/>
 </head>
 <body>
+<div class="message"><span id="allMessages" te:fatalClass="portlet-msg-error" te:errorClass="portlet-msg-error" te:warnClass="portlet-msg-alert" te:infoClass="portlet-msg-info"></span></div>
 <form id="editContentForm">
-<div class="message"><span id="allMessages" te:fatalClass="portlet-msg-error" te:errorClass="portlet-msg-error" te:warnClass="portlet-msg-alert" te:infoClass="portlet-msg-info"></span></div>
 <script id="fckeditorScript" type="text/javascript" src="/fckeditor/fckeditor.js"></script>
 <div class="announcementEdit">
   <input id="id" type="hidden" />
@@ -18,9 +18,10 @@
   <div class="announcementSeparator"> </div>
     <p class="announcementBlock">
     <label id="releaseDateInput" class="announcementLabel">Release Date:</label>
-    <input id="startDate" class="announcementField" size="10"/>
+    <input id="startDate" class="announcementField" size="16"/>
     -
-    <input id="endDate" class="announcementField" size="10"/>
+    <input id="endDate" class="announcementField" size="16"/>
+    <label id="dateFormatExample">(ex. 2008/02/03 12:30)</label>
   </p>
   <div class="announcementSeparator"> </div>
   <p class="announcementBlock">
@@ -42,27 +43,39 @@
 </script>
 </span>
 </div>
+</form>
 <div class="announcementListSeparator"> </div>
+<form id="editContentTableForm">
 <div class="announcementList">
+<input id="announcementItemsSave" type="hidden"/>
 <table class="announcementTable">
   <thead class="announcementHead">
     <tr class="announcementRow">
+      <th class="announcementPriorityColumn"><label id="listPriority">Priority</label></th>
       <th class="announcementTitleColumn"><label id="listTitle">Title</label></th>
       <th class="announcementStartDateColumn"><label id="listStartDate">Start Date</label></th>
       <th class="announcementEndDateColumn"><label id="listEndDate">End Date</label></th>
       <th class="announcementRoleColumn"><label id="listRole">Role</label></th>
+      <th class="announcementOrderColumn" colspan="2"><label id="listOrder">Order</label></th>
       <th class="announcementActionColumn"><label id="listAction">Action</label></th>
     </tr>
   </thead>
   <tbody id="announcementItems" class="announcementBody">
     <tr class="announcementRow">
+      <td class="announcementPriorityColumn"><span id="priority-list">A</span></td>
       <td class="announcementTitleColumn"><span id="title-list">A</span></td>
       <td class="announcementStartDateColumn"><span id="startDate-list">B</span></td>
       <td class="announcementEndDateColumn"><span id="endDate-list">C</span></td>
       <td class="announcementRoleColumn"><span id="role-list">D</span></td>
+      <td class="announcementOrderColumn">
+        <span id="isMoveDown"><input id="doMoveDown" type="button" value="Down"/></span>
+      </td>
+      <td class="announcementOrderColumn">
+        <span id="isMoveUp"><input id="doMoveUp" type="button" value="Up"/></span>
+      </td>
       <td class="announcementActionColumn">
-        <a id="goEditContent-edit" href="editContent.html?id=1&amp;fixed_mode=edit"><span id="editLabel">Edit</span></a>
-        <a id="goEditContent-delete" href="editContent.html?id=1&amp;fixed_mode=delete"><span id="deleteLabel">Delete</span></a>
+        <input id="doEdit" type="button" value="Edit"/>
+        <input id="doFinishDelete" type="button" value="Delete"/>
       </td>
     </tr>
   </tbody>


pal-cvs メーリングリストの案内
アーカイブの一覧に戻る