Bug #1298: Mark to translate roles in user and profile edition

FEA: ItEr76S04BugFixing
This commit is contained in:
Manuel Rego Casasnovas 2012-04-09 11:09:47 +02:00
parent 4c9e8d1b52
commit 1eb2bca86c
4 changed files with 55 additions and 26 deletions

View file

@ -33,9 +33,14 @@ import org.libreplan.business.users.entities.UserRole;
import org.libreplan.web.common.BaseCRUDController;
import org.libreplan.web.common.Util;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Label;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Row;
import org.zkoss.zul.RowRenderer;
/**
* Controller for CRUD actions over a {@link Profile}
@ -162,4 +167,23 @@ public class ProfileCRUDController extends BaseCRUDController<Profile> {
protected void delete(Profile profile) throws InstanceNotFoundException {
profileModel.confirmRemove(profile);
}
public RowRenderer getRolesRenderer() {
return new RowRenderer() {
@Override
public void render(Row row, Object data) throws Exception {
final UserRole role = (UserRole) data;
row.appendChild(new Label(_(role.getDisplayName())));
row.appendChild(Util.createRemoveButton(new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
removeRole(role);
}
}));
}
};
}
}

View file

@ -38,9 +38,15 @@ import org.libreplan.web.common.entrypoints.EntryPointsHandler;
import org.libreplan.web.common.entrypoints.IURLHandlerRegistry;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Constraint;
import org.zkoss.zul.Label;
import org.zkoss.zul.Row;
import org.zkoss.zul.RowRenderer;
import org.zkoss.zul.Textbox;
/**
@ -232,4 +238,25 @@ public class UserCRUDController extends BaseCRUDController<User> implements
return (isLdapUser() && userModel.isLDAPRolesBeingUsed());
}
public RowRenderer getRolesRenderer() {
return new RowRenderer() {
@Override
public void render(Row row, Object data) throws Exception {
final UserRole role = (UserRole) data;
row.appendChild(new Label(_(role.getDisplayName())));
Button removeButton = Util
.createRemoveButton(new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
removeRole(role);
}
});
removeButton.setDisabled(getLdapUserRolesLdapConfiguration());
row.appendChild(removeButton);
}
};
}
}

View file

@ -54,23 +54,12 @@
<button label="${i18n:_('Add role')}"
onClick="controller.addSelectedRole()"/>
</hbox>
<grid id="listing" model="@{controller.roles}">
<grid id="listing" model="@{controller.roles}"
rowRenderer="@{controller.rolesRenderer}">
<columns sizable="true">
<column label="${i18n:_('Role name')}" />
<column label="${i18n:_('Actions')}" />
</columns>
<rows>
<row self="@{each='role'}" value="@{role}">
<label value="@{role.displayName}" />
<hbox>
<button sclass="icono" image="/common/img/ico_borrar1.png"
hoverImage="/common/img/ico_borrar.png"
tooltiptext="${i18n:_('Delete')}"
onClick="controller.removeRole(self.parent.parent.value);">
</button>
</hbox>
</row>
</rows>
</grid>
</groupbox>
</tabpanel>

View file

@ -101,23 +101,12 @@
<button label="${i18n:_('Add role')}"
onClick="controller.addSelectedRole()" disabled="@{controller.ldapUserRolesLdapConfiguration}"/>
</hbox>
<grid id="listing" model="@{controller.roles}">
<grid id="listing" model="@{controller.roles}"
rowRenderer="@{controller.rolesRenderer}">
<columns sizable="true">
<column label="${i18n:_('Role name')}" />
<column label="${i18n:_('Actions')}" />
</columns>
<rows>
<row self="@{each='role'}" value="@{role}">
<label value="@{role.displayName}" />
<hbox>
<button sclass="icono" image="/common/img/ico_borrar1.png"
hoverImage="/common/img/ico_borrar.png"
tooltiptext="${i18n:_('Delete')}"
onClick="controller.removeRole(self.parent.parent.value);" disabled="@{controller.ldapUserRolesLdapConfiguration}">
</button>
</hbox>
</row>
</rows>
</grid>
</groupbox>