Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dashboard] Misc pending tasks #1279

Closed
Tracked by #1581
mahalakshme opened this issue Jul 5, 2024 · 10 comments
Closed
Tracked by #1581

[Dashboard] Misc pending tasks #1279

mahalakshme opened this issue Jul 5, 2024 · 10 comments
Assignees

Comments

@mahalakshme
Copy link
Contributor

mahalakshme commented Jul 5, 2024

AC:

  • When standard report cards of types related to Approval, Comments, Tasks and Checklist, is added with filter other than Address filter, display error stating 'Standard report cards of types related to Approval, Comments, Tasks and Checklist currently doesn't support any filter other than Address. ' like we display for other pages(screenshot below) and disallow saving.
    • Should work when such card added when filter other than Address filter present
    • Should work when such filter added when cards of such types already present
    • Should work when both added together
Screenshot 2024-03-20 at 6 40 38 PM
@mahalakshme mahalakshme converted this from a draft issue Jul 5, 2024
@shivansh84ya
Copy link

could you please assign this issue to me

@mahalakshme mahalakshme changed the title Adding warning for cards for which filters not supported Misc pending tasks Jul 7, 2024
@mahalakshme mahalakshme moved this from In Analysis to In Analysis Review in Avni Product Jul 7, 2024
@mahalakshme mahalakshme changed the title Misc pending tasks [Dashboard] Misc pending tasks Jul 7, 2024
@mahalakshme
Copy link
Contributor Author

@shivansh84ya this card is not yet Ready to be picked up. It is still in Analysis stage.

@petmongrels
Copy link
Contributor

petmongrels commented Jul 29, 2024

Functional changes

  • error displayed like other error message on create/edit dashboard

AC Not implemented

  • Primary dashboard should not display under More -> Dashboards
    Reason: If a user is part of multiple groups and is more than one group has primary/secondary dashboard set, then our logic of not showing primary dashboard can work differently when showing primary dashboard and when removing the primary dashboard from list of dashboards. Currently we are just picking one dashboard randomly among many which may be set as primary=true

@petmongrels petmongrels moved this from In Progress to Code Review Ready in Avni Product Jul 30, 2024
@himeshr himeshr moved this from Code Review Ready to In Code Review in Avni Product Aug 5, 2024
@himeshr himeshr moved this from In Code Review to QA Ready in Avni Product Aug 5, 2024
@Dinesh2019 Dinesh2019 self-assigned this Aug 13, 2024
@Dinesh2019
Copy link

When we try to create the standard report card getting the below error

java.lang.NullPointerException at org.avni.server.domain.ReportCard.setStandardReportCardInputRecentDuration(ReportCard.java:146) at org.avni.server.service.CardService.buildStandardReportCardInputs(CardService.java:117) at org.avni.server.service.CardService.buildStandardReportCardType(CardService.java:83) at org.avni.server.service.CardService.saveCard(CardService.java:41) at org.avni.server.web.ReportCardController.newCard(ReportCardController.java:57) at org.avni.server.web.ReportCardController$$FastClassBySpringCGLIB$$5c5e3371.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) at org.avni.server.web.ReportCardController$$EnhancerBySpringCGLIB$$98339446.newCard() at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:870) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:776) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:881) at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.avni.server.framework.sync.MutableRequestFilter.doFilter(MutableRequestFilter.java:35) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.avni.server.framework.security.LimitHostNamesFilter.doFilterInternal(LimitHostNamesFilter.java:34) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal(ForwardedHeaderFilter.java:152) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.avni.server.framework.security.AuthenticationFilter.doFilterInternal(AuthenticationFilter.java:73) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.keycloak.adapters.tomcat.AbstractAuthenticatedActionsValve.invoke(AbstractAuthenticatedActionsValve.java:67) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481) at org.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve.invoke(AbstractKeycloakAuthenticatorValve.java:181) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:765) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1790) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:750)

Image

@Dinesh2019 Dinesh2019 moved this from In QA to QA Failed in Avni Product Aug 14, 2024
@himeshr himeshr self-assigned this Aug 14, 2024
@himeshr
Copy link
Contributor

himeshr commented Aug 14, 2024

@Dinesh2019 i was unable to reproduce the error and exploring potential NPE using the stacktrace also failed.
I deployed latest master code on staging env.
I also verified that the functionality works as per AC specified above.
Please take it up for QA again.

@himeshr himeshr moved this from In Progress to QA Ready in Avni Product Aug 14, 2024
@Dinesh2019
Copy link

Dinesh2019 commented Aug 15, 2024

  • Can we make the error more easy understandable for the cilent.

Image :

Image

  • What happen if we add both standard and non standard card in the same section. Are we going to allow the user to add filter other than address.

@Dinesh2019 Dinesh2019 moved this from In QA to QA Failed in Avni Product Aug 15, 2024
@himeshr
Copy link
Contributor

himeshr commented Aug 16, 2024

@Dinesh2019

  • Updated the error message content to be more descriptive.
  • Adding standard and non standard cards in the same section doesn't change the filter-card constraint which is at the Dashboard Level (Higher than Section level).

@himeshr himeshr moved this from QA Failed to QA Ready in Avni Product Aug 16, 2024
@Dinesh2019
Copy link

As discussed with maha if we have both standard and unstandard dashboard then we should allow the user to add all type of filter.

Click here to watch video

@Dinesh2019 Dinesh2019 moved this from QA Ready to QA Failed in Avni Product Aug 16, 2024
@Dinesh2019
Copy link

Moving back to QA issue got resolved

@Dinesh2019 Dinesh2019 moved this from QA Failed to In QA in Avni Product Aug 16, 2024
@Dinesh2019
Copy link

Test scenario :

  • Add new dashboard (Approval, Comments, Tasks and Checklist) under these card and add filter other than address
  • Add card both standard and non standard card, other than address should display the error
  • Add standard card and add only address filter
  • Add standard card and add both address and other than address filter
  • edit filter address filter for standard card
  • delete the filter other than address and save it
  • delete the standard card and save with all type of filters

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

6 participants