DNNCommunity / DNN.FormAndList

Design your own table complete with field types, validation and custom user permissions.
MIT License
28 stars 20 forks source link

Cannot add HTML module if List is on the page #77

Open TopCat6 opened 4 years ago

TopCat6 commented 4 years ago

Describe the bug

If anything other than just Form is selected (meaning a List will be on the page) trying to add an HTML module to the page causes the first field of all the records (if it is an Email field) to be displayed horizontally at the top of a blank window. View Source shows that the page contains what appears to be all the required code. Console shows an error and Admin Log shows error (see below). DNN 9.6.1 F&L 6.5.4

To Reproduce

Steps to reproduce the behavior:

  1. Create a List with an Email field as first column.
  2. Add one or more records to the list
  3. Go into Page Edit mode and add an HTML module
  4. See error

Expected behavior

A clear and concise description of what you expected to happen. Properly displayed page should appear with hovering HTML module square over it.

Screenshots

If applicable, add screenshots to help explain your problem. image

Error log

Note: Debug DLL's Please replace the current extension DLL's with the debug DLL's (if these are available with the release) and reproduce the error with the debug DLL's before pasting the error log. Didn't do that. Paste the error log that is related to this issue.

AbsoluteURL:/API/personabar/serversummary/GetUpdateLink

DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke

ExceptionGUID:7b881719-0e43-452a-b0da-c075c5dfe7e6

AssemblyVersion:

PortalId:-1

UserId:-1

TabId:-1

RawUrl:

Referrer:

UserAgent:

ExceptionHash:0ruakgJIe0iX3c1lBiWvkDfVa5A=

Message:A task was canceled.

StackTrace:

at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Tracing.ITraceWriterExtensions.d18`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ApiControllerActionInvoker.d0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Tracing.ITraceWriterExtensions.d18`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ActionFilterResult.d2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Filters.AuthorizationFilterAttribute.d2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ExceptionFilterResult.d0.MoveNext()

InnerMessage:

InnerStackTrace:

Source:mscorlib

FileName:

FileLineNumber:0

FileColumnNumber:0

Method:

Server Name: SERVER43

Additional context

Add any other context about the problem here.

Haven't tried other types of fields as the first field, just Email type. Might be same with other types.

valadas commented 4 years ago

Have you tried reproducing this issue on a clean install using the default theme ?

TopCat6 commented 4 years ago

Theme is default: xcillion. I don't have a clean install available. However, I did get same results on a localhost test (original issue was on a live site). I'm thinking it is some sort of interaction with the PersonaBar. Even if I put a text field first, in front of the Email field, I get the error. Also, it doesn't matter what kind of module I try to add, DDR Menu, HTML module, all result in same problem. Workaround is to temporarily change display mode to Form only.

valadas commented 3 years ago

Yeah, looks like the email is a special case, the module uses javascript document.write to spit out the email from character codes. This must have been that way to prevent bad guys from indexing emails. I am not even sure if this would even offer much protection in this day and age...

I'll keep this open for discussion on how best to fix this, but my first idea for now would be removing that "feature" and making it just print it out normally like the other types of fields...

Opinions ?

TopCat6 commented 3 years ago

That approach sounds good to me.