LibrePlan / libreplan

LibrePlan - Open Web Planning
https://www.libreplan.dev
GNU Affero General Public License v3.0
289 stars 170 forks source link

Trying to create a project with an user without permissions returns a run-time error #796

Closed kwoot closed 6 years ago

kwoot commented 14 years ago

(Original Bugzilla Bug ID: 652)

Date: 2010-09-20 12:16:05 From: Manuel Rego Casasnovas \<rego@igalia.com> To: Manuel Rego Casasnovas \<rego@igalia.com> Version: navalplan-1.0 (1.0.x) Last updated: 2011-01-18 17:52:44


(Note: this issue was migrated automatically with bugzilla2github.py tool )

kwoot commented 6 years ago

Bugzilla Comment ID: 1584 Date: 2010-09-20 12:16:05 From: Manuel Rego Casasnovas \<rego@igalia.com>

Steps to reproduce: 1) Create a new user 2) Add role "All orders read allowed" 3) Login with the new user 4) Go to "Projects" list 5) Try to create a new project the next error would appear: "Run-time error: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order . Error was registered and it will be fixed as soon as possible."

Stack trace: Sep 20, 2010 12:08:03 PM org.zkoss.zk.ui.impl.UiEngineImpl handleError:1130 SEVERE: >>org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219) at org.hibernate.type.EntityType.getIdentifier(EntityType.java:407) at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:87) at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1711) at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1682) ... 748791 [19008539@qtp-22527820-4] ERROR org.navalplanner.web.error.PageForErrorOnEvent - object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:651) at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.convertHibernateAccessException(AbstractSessionFactoryBean.java:303) at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.translateExceptionIfPossible(AbstractSessionFactoryBean.java:282) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:62) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:146) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy45.listByOrderUserAndItsProfiles(Unknown Source) at org.navalplanner.web.orders.OrderModel.userCanWrite(OrderModel.java:972) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy129.userCanWrite(Unknown Source) at org.navalplanner.web.orders.OrderCRUDController.updateDisabilitiesOnInterface(OrderCRUDController.java:1246) at org.navalplanner.web.orders.OrderCRUDController.prepareEditWindow(OrderCRUDController.java:820) at org.navalplanner.web.orders.OrderCRUDController.goToCreateForm(OrderCRUDController.java:896) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at bsh.Reflect.invokeMethod(Unknown Source) at bsh.Reflect.invokeObjectMethod(Unknown Source) at bsh.Name.invokeMethod(Unknown Source) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:119) at org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:310) at org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:797) at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:176) at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141) at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519) at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446) Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: org.navalplanner.business.orders.entities.Order at org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:219) at org.hibernate.type.EntityType.getIdentifier(EntityType.java:407) at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:87) at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1711) at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1682) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1567) at org.hibernate.loader.Loader.doQuery(Loader.java:673) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2217) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2108) at org.hibernate.loader.Loader.list(Loader.java:2103) at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1570) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at org.navalplanner.business.users.daos.OrderAuthorizationDAO.listByOrderAndUser(OrderAuthorizationDAO.java:80) at org.navalplanner.business.users.daos.OrderAuthorizationDAO.listByOrderUserAndItsProfiles(OrderAuthorizationDAO.java:94) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:138) ... 37 more

kwoot commented 6 years ago

Bugzilla Comment ID: 1588 Date: 2010-09-20 20:40:34 From: Manuel Rego Casasnovas \<rego@igalia.com>

commit f2e07cb07eede6c27e8d00e6130e38bf465fdd44 Author: Manuel Rego Casasnovas mrego@igalia.com Date: Mon Sep 20 20:29:26 2010 +0200

Fixed bug disabling create buttons if user does not have the proper permissions.

FEA: ItEr60S04ValidacionEProbasFuncionaisItEr59S04
kwoot commented 6 years ago

Bugzilla Comment ID: 1597 Date: 2010-09-21 14:44:36 From: Manuel Rego Casasnovas \<rego@igalia.com>

Button to create a project is still enabled at company view.

kwoot commented 6 years ago

Bugzilla Comment ID: 1598 Date: 2010-09-21 14:44:57 From: Manuel Rego Casasnovas \<rego@igalia.com>

commit d1969288d3acbe7922ebc27c1c1b9090eb7851bb Author: Manuel Rego Casasnovas mrego@igalia.com Date: Tue Sep 21 14:38:48 2010 +0200

[Bug #562] Fixed bug hidden buttons at company view.

FEA: ItEr60S04ValidacionEProbasFuncionaisItEr59S04

commit af9733ea3877ef66d7077479fc8d3d4ab7f5127b Author: Manuel Rego Casasnovas mrego@igalia.com Date: Tue Sep 21 14:30:03 2010 +0200

[Bug #562] Remove unnecessary code.

FEA: ItEr60S04ValidacionEProbasFuncionaisItEr59S04