r251 - in trunk/bow-ui/src/main: java/org/chorem/bow java/org/chorem/bow/action resources resources/i18n webapp/img webapp/js webapp/jsp webapp/jsp/inc xmi
Author: bpoussin Date: 2011-04-21 11:42:50 +0200 (Thu, 21 Apr 2011) New Revision: 251 Url: http://chorem.org/repositories/revision/bow/251 Log: Evolution #271: Add information in preference page and move some menu item too - l'ajout/modification d'un item ce fait via une popup Added: trunk/bow-ui/src/main/webapp/img/add.png trunk/bow-ui/src/main/webapp/jsp/editBookmark.jsp trunk/bow-ui/src/main/webapp/jsp/inc/popupAddUrl.jsp trunk/bow-ui/src/main/webapp/jsp/inc/popupPublicAlias.jsp Removed: trunk/bow-ui/src/main/java/org/chorem/bow/action/EditBookmarkAction.java trunk/bow-ui/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkUtils.java trunk/bow-ui/src/main/java/org/chorem/bow/action/AddUrlAction.java trunk/bow-ui/src/main/resources/i18n/bow-ui_en_GB.properties trunk/bow-ui/src/main/resources/i18n/bow-ui_fr_FR.properties trunk/bow-ui/src/main/resources/struts.xml trunk/bow-ui/src/main/webapp/js/bookmark.js trunk/bow-ui/src/main/webapp/jsp/home.jsp trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp trunk/bow-ui/src/main/xmi/bow.zargo Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkUtils.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkUtils.java 2011-04-21 09:42:50 UTC (rev 251) @@ -125,7 +125,7 @@ String link = getUrlFromHtml(html); String tags = getTagsFromHtml(html); Date date = getDateFromHtml(html); - BowBookmark bookmark = createBookmark(link, name, tags, user, null, date); + BowBookmark bookmark = createBookmark(link, name, tags, user, null, null, date); return bookmark; } @@ -280,12 +280,12 @@ * @param name of bookmark * @param tags of bookmark * @param user creating bookmark - * @param alias of bookmark + * @param privateAlias of bookmark * @param date of creation * @return bookMarl created */ public static BowBookmark createBookmark(String url, String name, String tags, - BowUser user, String alias, Date date) { + BowUser user, String privateAlias, String publicAlias, Date date) { BowBookmark bookmark = new BowBookmarkImpl(); if (name != null) { @@ -306,12 +306,18 @@ date = new Date(); } bookmark.setCreationDate(date); // set the date - if (alias != null) { - alias = alias.trim(); - bookmark.setPrivateAlias(alias); + if (privateAlias != null) { + privateAlias = privateAlias.trim(); + bookmark.setPrivateAlias(privateAlias); } else { bookmark.setPrivateAlias(""); } + if (publicAlias != null) { + publicAlias = publicAlias.trim(); + bookmark.setPublicAlias(publicAlias); + } else { + bookmark.setPublicAlias(""); + } return bookmark; } @@ -323,7 +329,7 @@ } public static void updateBookmark(BowBookmark bookmark, String name, - String link, String tags, String alias) { + String link, String tags, String privateAlias, String publicAlias) { if (name != null) { name = name.trim(); bookmark.setDescription(name); @@ -331,10 +337,14 @@ addUrlToBookmark(link, bookmark); bookmark.clearLabels(); addTagsToBookmark(tags, bookmark); - if (alias != null) { - alias = alias.trim(); - bookmark.setPrivateAlias(alias); + if (privateAlias != null) { + privateAlias = privateAlias.trim(); + bookmark.setPrivateAlias(privateAlias); } + if (publicAlias != null) { + publicAlias = publicAlias.trim(); + bookmark.setPublicAlias(publicAlias); + } } public static String getBookmarkTagsString(BowBookmark bookmark) { Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/AddUrlAction.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/java/org/chorem/bow/action/AddUrlAction.java 2011-04-21 09:42:50 UTC (rev 251) @@ -31,10 +31,12 @@ import static org.nuiton.i18n.I18n.n_; import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.search.Criteria; +import org.nuiton.wikitty.search.PagedResult; import org.nuiton.wikitty.search.Search; /** - * Ajoute un bookmark, soit par le formulaire, soit par un appel javascript + * Ajoute ou modifie un bookmark, soit par le formulaire, + * soit par un appel javascript * * @author poussin */ @@ -42,15 +44,25 @@ private static final long serialVersionUID = 3389170166034184139L; + protected String bookmarkId; protected String link; protected String name; - protected String alias; + protected String privateAlias; + protected String publicAlias; protected String tags; protected String nameAndTags; protected String redirectTo; protected String searchLine; - protected String fullTextLine; + protected String fullTextLine; + + public String getBookmarkId() { + return bookmarkId; + } + public void setBookmarkId(String bookmarkId) { + this.bookmarkId = bookmarkId; + } + /** * @return the link */ @@ -80,19 +92,27 @@ } /** - * @return the alias + * @return the privateAlias */ - public String getAlias() { - return alias; + public String getPrivateAlias() { + return privateAlias; } /** - * @param alias the alias to set + * @param privateAlias the privateAlias to set */ - public void setAlias(String alias) { - this.alias = alias; + public void setPrivateAlias(String alias) { + this.privateAlias = alias; } + public String getPublicAlias() { + return publicAlias; + } + + public void setPublicAlias(String publicAlias) { + this.publicAlias = publicAlias; + } + /** * @return the tags */ @@ -160,27 +180,68 @@ try { WikittyProxy proxy = getBowProxy(); BowBookmark bookmark = null; + BowBookmark bookmarkToModify = null; BowUser user = getBowSession().getUser(); + String userId = user.getWikittyId(); + if (bookmarkId != null && !StringUtils.isEmpty(bookmarkId)) { + bookmarkToModify = proxy.restore(BowBookmark.class, bookmarkId); + } + if (log.isDebugEnabled()) { + log.debug("Change old wikitty: " + bookmarkToModify); + } + + // gere le cas d'une mise a jour ou d'un ajout via le formulaire if (name != null) { - if (alias != null && !alias.isEmpty()) { - Criteria criteria = Search.query().eq( - BowBookmark.FQ_FIELD_BOWBOOKMARK_PRIVATEALIAS, alias).criteria(); - - if (proxy.findByCriteria(BowBookmark.class, criteria) != null) { - alias = ""; + // Si l'alias prive souhaite est deja utilise on ne l'accept pas + // Si l'alias public souhaite est deja utilise on ne l'accept pas + Criteria privateAliasCriteria = null; + Criteria publicAliasCriteria = null; + if (privateAlias != null && !privateAlias.isEmpty()) { + privateAliasCriteria = Search.query() + .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_PRIVATEALIAS, privateAlias) + .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_BOWUSER, userId) + .criteria().setEndIndex(0); + } + if (publicAlias != null && !publicAlias.isEmpty()) { + publicAliasCriteria = Search.query() + .eq(BowBookmark.FQ_FIELD_BOWBOOKMARK_PUBLICALIAS, publicAlias) + .criteria().setEndIndex(0); + } + PagedResult<String>[] aliasResult = proxy.findAllIdByCriteria( + privateAliasCriteria, publicAliasCriteria); + + if (aliasResult[0] != null && aliasResult[0].getNumFound() > 0) { + if (bookmarkToModify == null) { + privateAlias = ""; + } else { + privateAlias = bookmarkToModify.getPrivateAlias(); } } - bookmark = BookmarkUtils.createBookmark(link, name, tags, user, alias, null); + if (aliasResult[1] != null && aliasResult[1].getNumFound() > 0) { + if (bookmarkToModify == null) { + publicAlias = ""; + } else { + publicAlias = bookmarkToModify.getPublicAlias(); + } + } + + if (bookmarkToModify == null) { + bookmark = BookmarkUtils.createBookmark( + link, name, tags, user, privateAlias, publicAlias, null); + } else { + BookmarkUtils.updateBookmark( + bookmarkToModify, name, link, tags, privateAlias, publicAlias); + } } else { //This part is for the bookmark addition by script if (nameAndTags != null) { bookmark = BookmarkUtils.createBookmark(link, nameAndTags, user); } } - // si on a reussi a creer le bookmark + // si on a reussi a creer le bookmark, on regarde s'il ne faut pas + // le fusionner avec un deja existant if (bookmark != null && !bookmark.getDescription().isEmpty() && !bookmark.getBowUser().isEmpty()) { - String userId = user.getWikittyId(); // looking for already bookmark with same url, to fusion them String link = bookmark.getLink(); @@ -192,7 +253,7 @@ proxy.findByCriteria(BowBookmark.class, criteria); if(oldBookmark != null) { // fusionne les descriptions et les tags - // par contre on prend le dernier alias prive choisi par + // par contre on prend le dernier privateAlias prive choisi par // l'utilisateur s'il y en a un String description = oldBookmark.getDescription(); if (!StringUtils.isEmpty(bookmark.getDescription())) { @@ -212,7 +273,10 @@ bookmark = oldBookmark; } - proxy.store(bookmark); //Stores the bookmark if everything is ok + } + + if (bookmark != null || bookmarkToModify != null) { + proxy.store(bookmark, bookmarkToModify); //Stores the bookmark if everything is ok addActionMessage(getText(n_("bow.bookmark.add.successful"))); if (log.isDebugEnabled()) { log.debug("Adding URL"); Deleted: trunk/bow-ui/src/main/java/org/chorem/bow/action/EditBookmarkAction.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/java/org/chorem/bow/action/EditBookmarkAction.java 2011-04-21 09:42:50 UTC (rev 251) @@ -1,127 +0,0 @@ -/* - * #%L - * bow - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2010 - 2011 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package org.chorem.bow.action; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.struts2.interceptor.ServletRequestAware; -import org.chorem.bow.BowBookmark; -import org.chorem.bow.BookmarkUtils; -import org.chorem.bow.BowConfig; -import org.chorem.bow.BowInit; -import org.chorem.bow.BowPreference; -import org.chorem.bow.BowSearch; -import org.nuiton.wikitty.WikittyProxy; - -/** - * Prepare les données pour la modification d'un bookmark - * TODO poussin 20110211 peut-etre le remplacer par une popup JS d'edition ? - * - * @author poussin - */ -public class EditBookmarkAction extends BowBaseAction implements ServletRequestAware { - private static final long serialVersionUID = 2706590901233864637L; - protected String bookmarkId; - protected String searchLine; - protected String fullTextLine; - protected HttpServletRequest request; - - /** - * @return the bookmarkId - */ - public String getBookmarkId() { - return bookmarkId; - } - - /** - * @param bookmarkId the bookmarkId to set - */ - public void setBookmarkId(String bookmarkId) { - this.bookmarkId = bookmarkId; - } - - /** - * @return the searchLine - */ - public String getSearchLine() { - return searchLine; - } - - /** - * @param searchLine the searchLine to set - */ - public void setSearchLine(String searchLine) { - this.searchLine = searchLine; - } - - /** - * @return the fullTextLine - */ - public String getFullTextLine() { - return fullTextLine; - } - - /** - * @param fullTextLine the fullTextLine to set - */ - public void setFullTextLine(String fullTextLine) { - this.fullTextLine = fullTextLine; - } - - @Override - public void setServletRequest(HttpServletRequest request) { - this.request = request; - } - - public String execute() { - String result; - - if (bookmarkId != null && !bookmarkId.isEmpty()) { - WikittyProxy proxy = getBowProxy(); - BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId); - - if (bookmark != null) { - request.setAttribute("link", bookmark.getLink()); - request.setAttribute("name", bookmark.getDescription()); - request.setAttribute("alias", bookmark.getPrivateAlias()); - request.setAttribute("tags", BookmarkUtils.getBookmarkTagsString(bookmark)); - String servletName = BowConfig.getInstance().getServletBow(); - request.setAttribute("formAction", - "/" + servletName + "/modifyBookmark.action" - + "?bookmarkId=" + bookmarkId - + "&searchLine=" + searchLine - + "&fullTextLine=" + fullTextLine); - } - } - BowPreference user = getBowSession().getPreference(); - if (searchLine == null || searchLine.equals("")) { - BowInit.initHomePage(request, user); - result = "home"; - } else { - BowSearch.search(request, user); - result = "search"; - } - return result; - } -} \ No newline at end of file Deleted: trunk/bow-ui/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/java/org/chorem/bow/action/ModifyBookmarkAction.java 2011-04-21 09:42:50 UTC (rev 251) @@ -1,174 +0,0 @@ -/* - * #%L - * bow - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2010 - 2011 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package org.chorem.bow.action; - -import org.chorem.bow.BowBookmark; -import org.chorem.bow.BookmarkUtils; -import org.nuiton.wikitty.search.Criteria; -import org.nuiton.wikitty.WikittyProxy; -import org.nuiton.wikitty.search.Search; - -import static org.nuiton.i18n.I18n.n_; - -/** - * Modifie une entree du bookmark - * - * @author poussin - */ -public class ModifyBookmarkAction extends BowBaseAction { - private static final long serialVersionUID = 8197008295267924063L; - protected String link; - protected String name; - protected String alias; - protected String tags; - protected String bookmarkId; - protected String searchLine; - protected String fullTextLine; - - /** - * @return the link - */ - public String getLink() { - return link; - } - - /** - * @param url the link to set - */ - public void setLink(String link) { - this.link = link; - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @param name the name to set - */ - public void setName(String name) { - this.name = name; - } - - /** - * @return the alias - */ - public String getAlias() { - return alias; - } - - /** - * @param alias the alias to set - */ - public void setAlias(String alias) { - this.alias = alias; - } - - /** - * @return the tags - */ - public String getTags() { - return tags; - } - - /** - * @param tags the tags to set - */ - public void setTags(String tags) { - this.tags = tags; - } - - /** - * @return the bookmarkId - */ - public String getBookmarkId() { - return bookmarkId; - } - - /** - * @param bookmarkId the bookmarkId to set - */ - public void setBookmarkId(String bookmarkId) { - this.bookmarkId = bookmarkId; - } - - /** - * @return the searchLine - */ - public String getSearchLine() { - return searchLine; - } - - /** - * @param searchLine the searchLine to set - */ - public void setSearchLine(String searchLine) { - this.searchLine = searchLine; - } - - /** - * @return the fullTextLine - */ - public String getFullTextLine() { - return fullTextLine; - } - - /** - * @param fullTextLine the fullTextLine to set - */ - public void setFullTextLine(String fullTextLine) { - this.fullTextLine = fullTextLine; - } - - /** - * Modifies a bookmark - */ - public String execute() { - try { - WikittyProxy proxy = getBowProxy(); - BowBookmark bookmark = proxy.restore(BowBookmark.class, bookmarkId); - - if (bookmark != null) { - if (alias != null && !alias.isEmpty()) { - Criteria criteria = Search.query().eq( - BowBookmark.FQ_FIELD_BOWBOOKMARK_PRIVATEALIAS, alias).criteria(); - - if (proxy.findByCriteria(BowBookmark.class, criteria) != null) { - alias = bookmark.getPrivateAlias(); - } - } - BookmarkUtils.updateBookmark(bookmark, name, link, tags, alias); - proxy.store(bookmark); - addActionMessage(getText(n_("bow.bookmark.update.successful"))); - } - } catch (Exception e) { - addActionError(getText(n_("bow.error.internal"))); - log.error(e.getMessage(), e); - } - return SUCCESS; - } -} \ No newline at end of file Modified: trunk/bow-ui/src/main/resources/i18n/bow-ui_en_GB.properties =================================================================== --- trunk/bow-ui/src/main/resources/i18n/bow-ui_en_GB.properties 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/resources/i18n/bow-ui_en_GB.properties 2011-04-21 09:42:50 UTC (rev 251) @@ -8,12 +8,12 @@ bow.admin.home=Return to the home page bow.admin.panel=Admin panel bow.admin.reIndexationDone=Data reindexed successfully -bow.alias.alread.exists= bow.alias.already.exists=The alias {0} already exists bow.alias.bookmarkId.unknown=There is no bookmark with id {0} bow.bookmark.add.successful=Bookmark successfully added bow.bookmark.badFileFormat=Bad bookmarks file format \: unsuccessful import (expected Netscape-like bookmarks file) bow.bookmark.description=Description +bow.bookmark.edit= bow.bookmark.import.delete.successful=The imported bookmarks were deleted successfully bow.bookmark.import.successful=The bookmarks were imported successfully bow.bookmark.remove.successful=The bookmark was removed successfully @@ -92,6 +92,7 @@ bow.register.submit=Register bow.register.title=Register bow.requiredstring=${getText(fieldKey)} is required +bow.rightMenu.addUrl.link=Add entry bow.rightMenu.admin=Admin bow.rightMenu.bookmark.addModify=Add / Modify bow.rightMenu.bookmark.alias=ALIAS @@ -131,3 +132,8 @@ bow.search.submit=Search bow.search.title=Search bow.token.generate.successful=The token has been regenerated successfully +popup.addurl.alias.private=private alias +popup.addurl.alias.public=public alias +popup.addurl.link=url +popup.addurl.name=description +popup.addurl.tags=tags Modified: trunk/bow-ui/src/main/resources/i18n/bow-ui_fr_FR.properties =================================================================== --- trunk/bow-ui/src/main/resources/i18n/bow-ui_fr_FR.properties 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/resources/i18n/bow-ui_fr_FR.properties 2011-04-21 09:42:50 UTC (rev 251) @@ -13,6 +13,7 @@ bow.bookmark.add.successful=Marque-page ajout\u00E9 avec succ\u00E8s bow.bookmark.badFileFormat=Mauvais format de fichier de favoris \: import impossible (le format de type Netscape n'est pas support\u00E9) bow.bookmark.description=Description +bow.bookmark.edit= bow.bookmark.import.delete.successful=Les marque-pages import\u00E9s ont \u00E9t\u00E9 supprim\u00E9s avec succ\u00E8s bow.bookmark.import.successful=Les marque-pages ont \u00E9t\u00E9 import\u00E9s avec succ\u00E8s bow.bookmark.remove.successful=Le marque-page a \u00E9t\u00E9 supprim\u00E9 avec succ\u00E8s @@ -91,6 +92,7 @@ bow.register.submit=S''enregistrer bow.register.title=S''enregistrer bow.requiredstring=${getText(fieldKey)} est obligatoire +bow.rightMenu.addUrl.link=Ajouter une entr\u00E9e bow.rightMenu.admin=Admin bow.rightMenu.bookmark.addModify=Ajouter / Modifier bow.rightMenu.bookmark.alias=ALIAS @@ -130,3 +132,8 @@ bow.search.submit=Rechercher bow.search.title=Recherche bow.token.generate.successful=Le token a \u00E9t\u00E9 reg\u00E9n\u00E9r\u00E9 avec succ\u00E8s +popup.addurl.alias.private=alias priv\u00E9 +popup.addurl.alias.public=alias public +popup.addurl.link=url +popup.addurl.name=description +popup.addurl.tags=tags Modified: trunk/bow-ui/src/main/resources/struts.xml =================================================================== --- trunk/bow-ui/src/main/resources/struts.xml 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/resources/struts.xml 2011-04-21 09:42:50 UTC (rev 251) @@ -121,13 +121,6 @@ <param name="contentDisposition">attachment;filename="bookmarks.html"</param> </result> </action> - <action name="modifyBookmark" class="org.chorem.bow.action.ModifyBookmarkAction"> - <interceptor-ref name="store"> - <param name="operationMode">STORE</param> - </interceptor-ref> - <interceptor-ref name="loginStack"/> - <result type="redirectAction">home</result> - </action> <action name="removeBookmark" class="org.chorem.bow.action.RemoveBookmarkAction"> <interceptor-ref name="store"> <param name="operationMode">STORE</param> @@ -135,11 +128,6 @@ <interceptor-ref name="loginStack"/> <result type="redirect">${redirectTo}</result> </action> - <action name="editBookmark" class="org.chorem.bow.action.EditBookmarkAction"> - <interceptor-ref name="loginStack"/> - <result name="home" type="redirectAction">home</result> - <result name="search">/jsp/search.jsp</result> - </action> <action name="deleteImport" class="org.chorem.bow.action.DeleteImportAction"> <interceptor-ref name="store"> <param name="operationMode">STORE</param> Added: trunk/bow-ui/src/main/webapp/img/add.png =================================================================== (Binary files differ) Property changes on: trunk/bow-ui/src/main/webapp/img/add.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/bow-ui/src/main/webapp/js/bookmark.js =================================================================== --- trunk/bow-ui/src/main/webapp/js/bookmark.js 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/webapp/js/bookmark.js 2011-04-21 09:42:50 UTC (rev 251) @@ -31,9 +31,3 @@ window.location = goTo; } } - -function openPublicAliasForm(bookmarkId) { - $("#publicAliasFormBookmarkId")[0].value = bookmarkId; - $("#setPublicAliasPopup").dialog("open"); - return false; -} \ No newline at end of file Copied: trunk/bow-ui/src/main/webapp/jsp/editBookmark.jsp (from rev 247, trunk/bow-ui/src/main/webapp/jsp/admin.jsp) =================================================================== --- trunk/bow-ui/src/main/webapp/jsp/editBookmark.jsp (rev 0) +++ trunk/bow-ui/src/main/webapp/jsp/editBookmark.jsp 2011-04-21 09:42:50 UTC (rev 251) @@ -0,0 +1,61 @@ +<!-- + #%L + bow + + $Id$ + $HeadURL$ + %% + Copyright (C) 2010 CodeLutin + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + #L% + --> +<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@taglib prefix="s" uri="/struts-tags"%> +<%@page import="org.chorem.bow.BowBookmark"%> + +<% +BowBookmark bookmark = null; +%> +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + xmlns:jsp="http://java.sun.com/JSP/Page" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <head> + <s:url var="css" value="/css/bookmark.css" /> + <link href="${css}" rel="stylesheet" type="text/css" /> + <s:head /> + </head> + <body> + <div id="content"> + <div class="menu clearfix"> + <h2><s:text name="bow.bookmark.edit" /></h2> + </div> + <div class="formFrame fond"> + <s:form id="popupAddUrlForm" action="addUrl" method="post"> + <p> + <input type="hidden" id="popupAddUrlFormBookmarkId" name="bookmarkId" value="<%=bookmark.getWikittyId()%>"/> + <s:hidden name="searchLine" value="%{searchLine}" /> + <s:hidden name="fullTextLine" value="%{fullTextLine}" /> + <s:textfield key="popup.addurl.link" id="popupAddUrlFormLink" name="link" labelSeparator="" /><br /> + <s:textarea key="popup.addurl.name" id="popupAddUrlFormName" name="name" labelSeparator="" /><br /> + <s:textfield key="popup.addurl.alias.private" id="popupAddUrlFormPrivateAlias" name="privateAlias" labelSeparator="" /><br /> + <s:textfield key="popup.addurl.alias.public" id="popupAddUrlFormPublicAlias" name="publicAlias" labelSeparator="" /><br /> + <s:textfield key="popup.addurl.tags" id="popupAddUrlFormTags" name="tags" labelSeparator="" /><br /> + </p> + </s:form> + </div> + </div> + </body> +</html> Modified: trunk/bow-ui/src/main/webapp/jsp/home.jsp =================================================================== --- trunk/bow-ui/src/main/webapp/jsp/home.jsp 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/webapp/jsp/home.jsp 2011-04-21 09:42:50 UTC (rev 251) @@ -93,35 +93,8 @@ <% } %> </div> - <script> - $(function() { - $( "#setPublicAliasPopup" ).dialog({ - autoOpen: false, - height: 100, - width: 200, - modal: true, - buttons: { - "Validate": function() { - var bValid = true; - $("#setPublicAliasForm").submit(); - $( this ).dialog( "close" ); - }, - Cancel: function() { - $( this ).dialog( "close" ); - } - }, - close: function() { - //allFields.val( "" ).removeClass( "ui-state-error" ); - } - }); - }); - </script> - <div id="setPublicAliasPopup" title="Enter the public alias"> - <s:form id="setPublicAliasForm" action="createAlias"> - <s:textfield key="bow.rightMenu.bookmark.alias" name="alias" class="text ui-widget-content ui-corner-all" /> - <s:hidden id="publicAliasFormBookmarkId" name="bookmarkId" /> - </s:form> - </div> + <s:include value="inc/popupPublicAlias.jsp" /> + <s:include value="inc/popupAddUrl.jsp" /> </body> </html> <% } %> Modified: trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp =================================================================== --- trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/webapp/jsp/inc/bookmark.jsp 2011-04-21 09:42:50 UTC (rev 251) @@ -25,6 +25,7 @@ <%@taglib prefix="s" uri="/struts-tags" %> <%@page import="org.chorem.bow.BowBookmark" %> <%@page import="org.chorem.bow.BowUtils"%> +<%@page import="org.apache.commons.lang.StringEscapeUtils"%> <div class="bookmark" xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" @@ -102,8 +103,14 @@ <s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param> <s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param> <s:param name="fullTextLine"><s:property value="%{#fullTextLine}" /></s:param> - </s:url> + </s:url> +<!-- <s:a cssClass="edit" href="%{editBookmark}" onclick="return modify('%{#bookmarkDescription}', '%{#bookmarkAlias}', '%{@org.chorem.bow.BookmarkUtils@getBookmarkTagsString(#request.bookmark)}', '%{#bookmarkLink}', '%{editBookmarkModify}', '%{#wikittyId}');"></s:a> +--> + <s:a cssClass="edit" href="http://linuxfr.org" + onclick="return openPopupAddUrl('%{#wikittyId}', '%{#bookmarkLink}', '<%=StringEscapeUtils.escapeJavaScript(bookmark.getDescription())%>', '%{#bookmarkAlias}', '%{#publicAliasUrl}', '%{@org.chorem.bow.BookmarkUtils@getBookmarkTagsString(#request.bookmark)}');"> + + </s:a> <s:url var="removeBookmark" action="removeBookmark" escapeAmp="true"> <s:param name="bookmarkId"><s:property value="%{#wikittyId}" /></s:param> <s:param name="searchLine"><s:property value="%{#searchLine}" /></s:param> Added: trunk/bow-ui/src/main/webapp/jsp/inc/popupAddUrl.jsp =================================================================== --- trunk/bow-ui/src/main/webapp/jsp/inc/popupAddUrl.jsp (rev 0) +++ trunk/bow-ui/src/main/webapp/jsp/inc/popupAddUrl.jsp 2011-04-21 09:42:50 UTC (rev 251) @@ -0,0 +1,58 @@ +<%-- + Document : popupAddUrl + Created on : 20 avr. 2011, 17:03:37 + Author : poussin +--%> + +<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@taglib prefix="s" uri="/struts-tags" %> + +<script> + function openPopupAddUrl(bookmarkId, link, name, privateAlias, publicAlias, tags) { + $("#popupAddUrlFormBookmarkId")[0].value = bookmarkId; + $("#popupAddUrlFormLink")[0].value = link; + $("#popupAddUrlFormName")[0].value = name; + $("#popupAddUrlFormPrivateAlias")[0].value = privateAlias; + $("#popupAddUrlFormPublicAlias")[0].value = publicAlias; + $("#popupAddUrlFormTags")[0].value = tags; + + $("#addUrlPopup").dialog("open"); + return false; + } + + $(function() { + $( "#addUrlPopup" ).dialog({ + autoOpen: false, + width: 400, + modal: true, + buttons: { + "Validate": function() { + $("#popupAddUrlForm").submit(); + $( this ).dialog( "close" ); + }, + Cancel: function() { + $( this ).dialog( "close" ); + } + }, + close: function() { + //allFields.val( "" ).removeClass( "ui-state-error" ); + } + }); + }); +</script> + +<div xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + id="addUrlPopup" title="Add or modify URL"> + <s:form id="popupAddUrlForm" action="addUrl" method="post"> + <p> + <s:hidden id="popupAddUrlFormBookmarkId" name="bookmarkId" /> + <s:hidden name="searchLine" value="%{searchLine}" /> + <s:hidden name="fullTextLine" value="%{fullTextLine}" /> + <s:textfield key="popup.addurl.link" id="popupAddUrlFormLink" name="link" labelSeparator=" " /><br /> + <s:textarea key="popup.addurl.name" id="popupAddUrlFormName" name="name" labelSeparator=" " /><br /> + <s:textfield key="popup.addurl.alias.private" id="popupAddUrlFormPrivateAlias" name="privateAlias" labelSeparator=" " /><br /> + <s:textfield key="popup.addurl.alias.public" id="popupAddUrlFormPublicAlias" name="publicAlias" labelSeparator=" " /><br /> + <s:textfield key="popup.addurl.tags" id="popupAddUrlFormTags" name="tags" labelSeparator=" " /><br /> + </p> + </s:form> +</div> Added: trunk/bow-ui/src/main/webapp/jsp/inc/popupPublicAlias.jsp =================================================================== --- trunk/bow-ui/src/main/webapp/jsp/inc/popupPublicAlias.jsp (rev 0) +++ trunk/bow-ui/src/main/webapp/jsp/inc/popupPublicAlias.jsp 2011-04-21 09:42:50 UTC (rev 251) @@ -0,0 +1,45 @@ +<%-- + Document : popupPublicAlias + Created on : 20 avr. 2011, 17:03:37 + Author : poussin +--%> + +<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@taglib prefix="s" uri="/struts-tags" %> + +<script> + function openPublicAliasForm(bookmarkId) { + $("#publicAliasFormBookmarkId")[0].value = bookmarkId; + $("#setPublicAliasPopup").dialog("open"); + return false; + } + + $(function() { + $( "#setPublicAliasPopup" ).dialog({ + autoOpen: false, + height: 100, + width: 200, + modal: true, + buttons: { + "Validate": function() { + $("#setPublicAliasForm").submit(); + $( this ).dialog( "close" ); + }, + Cancel: function() { + $( this ).dialog( "close" ); + } + }, + close: function() { + //allFields.val( "" ).removeClass( "ui-state-error" ); + } + }); + }); +</script> + +<div xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + id="setPublicAliasPopup" title="Enter the public alias"> + <s:form id="setPublicAliasForm" action="createAlias"> + <s:textfield key="bow.rightMenu.bookmark.alias" name="alias" class="text ui-widget-content ui-corner-all" /> + <s:hidden id="publicAliasFormBookmarkId" name="bookmarkId" /> + </s:form> +</div> Modified: trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp =================================================================== --- trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp 2011-04-20 14:55:48 UTC (rev 250) +++ trunk/bow-ui/src/main/webapp/jsp/inc/rightMenu.jsp 2011-04-21 09:42:50 UTC (rev 251) @@ -50,6 +50,12 @@ <li><s:a action="admin"><s:text name="bow.rightMenu.admin" /></s:a></li> </s:if> <li><s:a action="preferences"><s:text name="bow.preferences.title" /></s:a></li> + <li> + <s:a href="http://linuxfr.org" + onclick="return openPopupAddUrl('', '', '', '', '', '');"> + <s:text name="bow.rightMenu.addUrl.link" /> + </s:a> + </li> </ul> <div class="recherche"> <s:form action="search"> @@ -67,20 +73,6 @@ </div> </s:form> </div> - <div id="add" class="clearfix"> - <h2><s:text name="bow.rightMenu.bookmark.addModify" /></h2> - <s:form id="bookmarkForm" action="%{#request.formAction}"> - <p> - <s:textfield key="bow.rightMenu.bookmark.link" name="link" value="%{#request.link}" labelSeparator="" /><br /> - <s:textfield key="bow.rightMenu.bookmark.alias" name="alias" value="%{#request.alias}" labelSeparator="" /><br /> - <s:textfield key="bow.rightMenu.bookmark.name" name="name" value="%{#request.name}" labelSeparator="" /><br /> - <s:textfield key="bow.rightMenu.bookmark.tags" name="tags" value="%{#request.tags}" labelSeparator="" /><br /><br /> - <s:hidden name="searchLine" value="%{searchLine}" /> - <s:hidden name="fullTextLine" value="%{fullTextLine}" /> - <s:submit key="bow.rightMenu.bookmark.submit" name="submit" /> - </p> - </s:form> - </div> <!--div id="nuage"--> <s:if test="%{searchLine != null}"> <jsp:include page="tagsCloud.jsp" flush="true"> Modified: trunk/bow-ui/src/main/xmi/bow.zargo =================================================================== (Binary files differ)
participants (1)
-
bpoussin@users.chorem.org