[ http://jira.jboss.com/jira/browse/JBPORTAL-197?page=history ]

Julien Viet updated JBPORTAL-197:
---------------------------------

    Assign To: Thomas Heute  (was: Julien Viet)

> Patch for JBPORTAL-74 (Delete a group)
> --------------------------------------
>
>          Key: JBPORTAL-197
>          URL: http://jira.jboss.com/jira/browse/JBPORTAL-197
>      Project: JBoss Portal
>         Type: Patch
>   Components: Portal Core
>     Reporter: wdimac
>     Assignee: Thomas Heute
>     Priority: Minor

>
>
> Patch diff below (hope I did this right):
> Index: src/main/org/jboss/portal/core/impl/role/RoleModuleImpl.java
> ===================================================================
> RCS file: 
> /cvsroot/jboss/jboss-portal/core/src/main/org/jboss/portal/core/impl/role/RoleModuleImpl.java,v
> retrieving revision 1.1
> diff -u -r1.1 RoleModuleImpl.java
> --- src/main/org/jboss/portal/core/impl/role/RoleModuleImpl.java      15 Jan 
> 2005 22:11:25 -0000      1.1
> +++ src/main/org/jboss/portal/core/impl/role/RoleModuleImpl.java      3 Feb 
> 2005 06:42:41 -0000
> @@ -18,6 +18,7 @@
>  import org.apache.log4j.Logger;
>  import org.jboss.hibernate.session.HibernateContext;
>  import org.jboss.portal.common.util.Tools;
> +import org.jboss.portal.core.impl.user.UserImpl;
>  import org.jboss.portal.core.model.Role;
>  import org.jboss.portal.core.modules.AbstractModule;
>  import org.jboss.portal.core.modules.RoleModule;
> @@ -192,11 +193,16 @@
>           try
>           {
>              Session session = getSession();
> -            int num = session.delete("from RoleImpl as g where g.ID=" + 
> id.toString());
> -            if (num == 0)
> +            RoleImpl role = (RoleImpl)session.load(RoleImpl.class, id);
> +            // User manages the relation.
> +            Iterator users = role.getUsers().iterator();
> +            while (users.hasNext())
>              {
> -               throw new ModuleException("No such role " + id);
> +                UserImpl user = (UserImpl)users.next();
> +                user.getRoles().remove(role);
>              }
> +            session.delete(role);
> +            session.flush();
>           }
>           catch (HibernateException e)
>           {
> Index: src/main/org/jboss/portal/core/portlet/role/RolePortlet.java
> ===================================================================
> RCS file: 
> /cvsroot/jboss/jboss-portal/core/src/main/org/jboss/portal/core/portlet/role/RolePortlet.java,v
> retrieving revision 1.1
> diff -u -r1.1 RolePortlet.java
> --- src/main/org/jboss/portal/core/portlet/role/RolePortlet.java      15 Jan 
> 2005 22:11:40 -0000      1.1
> +++ src/main/org/jboss/portal/core/portlet/role/RolePortlet.java      3 Feb 
> 2005 06:42:42 -0000
> @@ -309,6 +309,35 @@
>     }
>  
>     /**
> +    * Action to delete a role
> +    * 
> +    * @param req
> +    * @param resp
> +    */
> +   public void removeRole(JBossActionRequest req, JBossActionResponse resp)
> +   {
> +      if (PortletHelper.isAuthorized(req.getAuthorizationRealm(), 
> req.getUser(), new String[] {},
> +            Level.ACCESS_ADMIN))
> +      {
> +          Integer roleID = req.getParameters().getIntObject("roleid");
> +          try
> +          {
> +             roleModule.removeRole(roleID);
> +             resp.setRenderParameter("roledelete_error", "ROLE_DELETED");
> +             resp.setRenderParameter(getOperationName(), OP_SHOWEDITROLE);
> +          }
> +          catch (ModuleException e)
> +          {
> +             log.error("Cannot remove role, unexpected error");
> +             e.printStackTrace();
> +             portletHelper.setRenderParameter(resp, "roleid", 
> roleID.toString());
> +             resp.setRenderParameter("roledelete_error", 
> "ROLE_ERROR_DELETE_FAILED");
> +             resp.setRenderParameter(getOperationName(), OP_SHOWEDITROLE);
> +          }
> +       }
> +   }
> +   
> +   /**
>      * REturns trus if the role with display name in argument is available
>      * 
>      * @param name
> Index: src/resources/portal-core-war/WEB-INF/classes/Resource.properties
> ===================================================================
> RCS file: 
> /cvsroot/jboss/jboss-portal/core/src/resources/portal-core-war/WEB-INF/classes/Resource.properties,v
> retrieving revision 1.2
> diff -u -r1.2 Resource.properties
> --- src/resources/portal-core-war/WEB-INF/classes/Resource.properties 15 Jan 
> 2005 22:11:26 -0000      1.2
> +++ src/resources/portal-core-war/WEB-INF/classes/Resource.properties 3 Feb 
> 2005 06:42:42 -0000
> @@ -338,11 +338,14 @@
>  ROLE_CREATE=Create user role
>  ROLE_UPDATE=Update user role
>  ROLE_EDIT=Edit user role
> +ROLE_DELETE=Delete selected role
> +ROLE_DELETED=The role has been deleted
>  
>  ROLE_ERROR_DISPLAYNAMEALREADYEXISTS=There is already a role with that 
> display name
>  ROLE_ERROR_NAMEALREADYEXISTS=There is already a role with that name
>  ROLE_ERROR_NAMEEMPTY=The role name cannot be empty
>  ROLE_ERROR_DISPLAYNAMEEMPTY=The role display name cannot be empty
> +ROLE_ERROR_DELETE_FAILED=Could not delete the role
>  
>  MENU_CREATEROLE=Create new role
>  MENU_EDITROLE=Edit existing role
> Index: src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties
> ===================================================================
> RCS file: 
> /cvsroot/jboss/jboss-portal/core/src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties,v
> retrieving revision 1.2
> diff -u -r1.2 Resource_en.properties
> --- src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties      
> 15 Jan 2005 22:11:26 -0000      1.2
> +++ src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties      
> 3 Feb 2005 06:42:42 -0000
> @@ -338,11 +338,14 @@
>  ROLE_CREATE=Create user role
>  ROLE_UPDATE=Update user role
>  ROLE_EDIT=Edit user role
> +ROLE_DELETE=Delete selected role
> +ROLE_DELETED=The role has been deleted
>  
>  ROLE_ERROR_DISPLAYNAMEALREADYEXISTS=There is already a role with that 
> display name
>  ROLE_ERROR_NAMEALREADYEXISTS=There is already a role with that name
>  ROLE_ERROR_NAMEEMPTY=The role name cannot be empty
>  ROLE_ERROR_DISPLAYNAMEEMPTY=The role display name cannot be empty
> +ROLE_ERROR_DELETE_FAILED=Could not delete the role
>  
>  MENU_CREATEROLE=Create new role
>  MENU_EDITROLE=Edit existing role
> Index: src/resources/portal-core-war/WEB-INF/jsp/role/editRole.jsp
> ===================================================================
> RCS file: 
> /cvsroot/jboss/jboss-portal/core/src/resources/portal-core-war/WEB-INF/jsp/role/editRole.jsp,v
> retrieving revision 1.1
> diff -u -r1.1 editRole.jsp
> --- src/resources/portal-core-war/WEB-INF/jsp/role/editRole.jsp       15 Jan 
> 2005 22:11:36 -0000      1.1
> +++ src/resources/portal-core-war/WEB-INF/jsp/role/editRole.jsp       3 Feb 
> 2005 06:42:43 -0000
> @@ -3,7 +3,7 @@
>  <%@ taglib uri="http://java.sun.com/portlet"; prefix="portlet" %>
>  <%@ page isELIgnored ="false" %> 
>  
> -<form action="<portlet:actionURL><portlet:param name="op" 
> value="editGroup"/></portlet:actionURL>" method="post">
> +<form action="<portlet:actionURL><portlet:param name="op" 
> value="editRole"/></portlet:actionURL>" method="post">
>     <table border="0" class="portlet-font" cellspacing="0" cellpadding="6">
>        <tr>
>           <td 
> class="portlet-form-label">${n:i18n("ROLE_SELECTONETOMODIFY")}:</td>
> @@ -25,3 +25,22 @@
>        </tr>
>     </table>
>  </form>
> +<form action="<portlet:actionURL><portlet:param name="op" 
> value="removeRole"/></portlet:actionURL>" method="post">
> +   <table border="0" class="portlet-font" cellspacing="0" cellpadding="6">
> +      <tr>
> +         <td 
> class="portlet-form-label">${n:i18n("ROLE_SELECTONETOMODIFY")}:</td>
> +         <td class="portlet-form-input-field">
> +           <select name="roleid" class="pn-normal">
> +             <n:iterate ctx="role">
> +               <option value="${n:out("role.id")}" 
> ${n:out("role.selected")}>${n:out("role.displayname")}</option>
> +             </n:iterate>
> +           </select> <n:error key="roledelete_error"/></td>
> +      </tr>
> +      <tr>
> +        <td></td>
> +        <td align="center">
> +          <input type="submit" value="${n:i18n("ROLE_DELETE")}">
> +        </td>
> +      </tr>
> +   </table>
> +</form>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to