On permission page I dont think u need @persist, you are setting the user already.
The reason: I think its because when it goes to save it is using the stale user object discarding the form submission changes. On 27/11/2014 12:45 pm, "Name Surname" <wintertime0...@outlook.com> wrote: > I have one very odd situation here and it regards beaneditform. I have > implemented following code: > > > public class ListUsers { > > @Inject > private Logic logic; > > @InjectPage > private PermissionsPage permissionsPage; > > > @Property > private User user; > > /** > * Vraca listu korisnika > * @return user list > */ > public List getUsers() > { > return logic.izlistajSveKorisnike(); > } > > /** > * Deletes user > * @return null > */ > @CommitAfter > public String onActionFromDelete(User u) > { > logic.deleteUser(u); > return null; > } > > /** > * redirects to permissions page > * @param k > * @return page permissionspage > */ > public Object onActionFromEdit(User u) > { > permissionsPage.setData(u); > return permissionsPage; > } > > <t:layout t:pageTitle='${message:ListUsers}' xmlns:t=" > http://tapestry.apache.org/schema/tapestry_5_3.xsd" > xmlns:p="tapestry:parameter"> > <t:form> > <div class="grid-container"> > <t:grid source="users" row="user" > exclude="userID,userPassword,userTypeOfTheUser,listOfQuestions,listOfMessages, > isAdmin, isUser" add="edit,delete"> > > <p:deletecell> > <t:actionlink t:id="delete" context="user">Delete > user</t:actionlink> > </p:deletecell> > <p:editcell> > <t:actionlink t:id="edit" context="user">Edit > permissions</t:actionlink> > </p:editcell> > </t:grid> > </div> > </t:form> > </t:layout> > > > > Here I have a ListUsers page which has all users listed pulled from DB. > > > Now when a client clicks on Edit permissions button of some user from the > list it redirects him to a PermissionsPage which is following: > > <t:layout t:pageTitle='${message:PermissionsPages}' xmlns:t=" > http://tapestry.apache.org/schema/tapestry_5_3.xsd"> > <t:beaneditform t:id="form" object="user" > exclude="userUserName,userPassword" submitlabel="Save"/> > </t:layout> > > public class PermissionsPage { > > @Component > private BeanEditForm form; > @Inject > private Logic logic; > @Property > @Persist(value = "flash") > private User user; > > /** > * After succesfully submitting from a form redirect a user to a page > * ListClassesPage > * > * @return ListClassesPage > */ > @CommitAfter > public String OnSuccess() { > logic.editUser(user); > return "ListClassesPage"; > } > > /** > * Sets user > * @param u user > */ > public void setData(User u) { > user = u; > } > } > > > > Now after I press Save, it fires event however doesn't process anything? > Am I somewhere wrong? > Also because of the issue regarding > http://stackoverflow.com/questions/5366498/tapestry-5-beaneditform-component-trouble > I had to remove all constructors from entity User but default one. If > anyone knows or had similar trouble with this, would be grateful to hear > his/her solution. > > Thanks in advance. > >