gocodebox / lifterlms

LifterLMS, a WordPress LMS Solution: Easily create, sell, and protect engaging online courses.
https://lifterlms.com
GNU General Public License v3.0
178 stars 135 forks source link

Dashboard Registration Asterisks Take Over #2134

Closed nrherron92 closed 1 year ago

nrherron92 commented 2 years ago

Reproduction Steps

Expected Behavior

Actual Behavior

Error Messages / Logs


### System and Environment Information

<details>
<summary>System Report</summary>

<!-- Paste your System Report between the three backticks below this line -->

Wordpress

Home Url: [removed] Site Url: [removed] Login Url: [removed]/wp-login.php Version: 5.9.3 Debug Mode: No Debug Log: No Debug Display: Yes Locale: en_US Multisite: No Page For Posts: Not Set Page On Front: Home Page (#38773) [[removed]/] Permalink Structure: /%postname%/ Show On Front: page Wp Cron: Yes

Settings

Version: 6.4.0 Db Version: 6.4.0 Course Catalog: Course Catalog 2022 (#39373) [[removed]/course-catalog-2/] Membership Catalog: Membership Catalog 2022 (#39375) [[removed]/membership-catalog-2/] Student Dashboard: Dashboard (#39371) [[removed]/dashboard/] Checkout Page: Registration Page 2022 (#39378) [[removed]/registration-page-2/] Course Catalog Per Page: 9 Course Catalog Sorting: date,DESC Membership Catalog Per Page: 3 Membership Catalog Sorting: date,DESC Site Membership: Not Set Courses Endpoint: my-courses Edit Endpoint: edit-account Lost Password Endpoint: lost-password Vouchers Endpoint: Autogenerate Username: no Password Strength Meter: no Minimum Password Strength: medium Terms Required: no Terms Page: Not Set Checkout Names: hidden Checkout Address: hidden Checkout Phone: hidden Checkout Email Confirmation: no Open Registration: yes Registration Names: hidden Registration Address: hidden Registration Phone: hidden Registration Voucher: optional Registration Email Confirmation: no Account Names: hidden Account Address: hidden Account Phone: hidden Account Email Confirmation: no Confirmation Endpoint: Force Ssl Checkout: no Country: US Currency: USD Currency Position: left Thousand Separator: , Decimal Separator: . Decimals: 2 Trim Zero Decimals: no Recurring Payments: no Email From Address: [removed] Email From Name: [removed] Email Footer Text: Email Header Image: Cert Bg Width: 800 Cert Bg Height: 616 Cert Legacy Compat: no

Constants

LLMS_REMOVE_ALL_DATA: undefined LLMS_REST_DISABLE: undefined LLMS_SITE_FEATURE_RECURRING_PAYMENTS: undefined LLMS_SITE_IS_CLONE: undefined

Gateways

Manual: Disabled Manual Logging: Manual Order: 1

Server

Mysql Version: 5.5.5 Php Curl: Yes Php Default Timezone: UTC Php Fsockopen: Yes Php Max Input Vars: 10000 Php Max Upload Size: 100 MB Php Memory Limit: 256M Php Post Max Size: 100M Php Soap: Yes Php Suhosin: No Php Time Limt: 300 Php Version: 7.4.27 Software: Apache/2.4.51 (Debian) Wp Memory Limit: 40M

Browser

HTTP USER AGENT: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36

Theme

Name: Astra Version: 3.7.10 Themeuri: https://wpastra.com/ Authoruri: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme Template: Child Theme: No Llms Support: Yes

Plugins

LifterLMS: 6.4.0 Temporary Login Without Password: 1.7.2

Integrations

BbPress: No BuddyPress: No

Template Overrides



</details>

This issue has be recreated:
+ [ ] Locally
+ [x] On a staging site
+ [x] On a production website
+ [ ] With only LifterLMS and a default theme

### Browser, Device, and Operating System Information

+ Browser name and version
+ Operating System name and version
+ Device name and version (if applicable)
eri-trabiccolo commented 2 years ago

@nrherron92 I've found the issue to be related to the fact that the dashboard shortcode it's placed inside a column. Schermata 2022-04-26 alle 11 38 10 Moving it out from the column(s) fixes the "asterisks" issue. Although this is just a workaround/alternative, but we have to address this issue.

If you head into manage reusable blocks it looks like all of our default reusable blocks are gone (he had no idea how he could have done this, but it wasn't intentional)

Mmm when you reinstall the forms from the Tools screen, all of our reusable blocks are removed and reinstalled along with the forms. Didn't it work?

eri-trabiccolo commented 2 years ago

@gocodebox/engineering The issue is here: https://github.com/gocodebox/lifterlms/blob/b154625311e3082e369f7eabc6c529561234658b/assets/js/app/llms-forms.js#L210-L213

I think this piece code might even be outdated, was made back when we used block columns inside our field blocks for layout purposes (am I recalling it wrong?).

Either we remove that or we need to better define in which condition a column is a "valid parent", like maybe when the field has no siblings?

nrherron92 commented 2 years ago

@eri-trabiccolo okay taking the shortcode out of the columns did fix the star issue! I could manually add the address back without the stars taking over.

Part 2 of the issue: yes, if I do a form reset (in tools) it removes the address block from the form.

eri-trabiccolo commented 2 years ago

@nrherron92 ok, that's probably because they migrated from a LifterLMS < 5.0, where they set the address fields to be hidden for the registration form.

But my question was: when you reset the forms (in tools), do our reusable blocks back? can you see them when managing the reusable blocks?

nrherron92 commented 2 years ago

@eri-trabiccolo Only our username(reusable) returns. Our address reusable does not.

eri-trabiccolo commented 2 years ago

@nrherron92 Ah ok, I see yeah it makes sense. Basically we don't create all the possible reusable blocks to be used in the forms, but only the ones that are actually used in the installed form. For LifterLMS < 5.0 users, the installed form's fields depend on the pre 5.0 registration/billing/account settings. So that's ok.

eri-trabiccolo commented 1 year ago

I changed the priority of this because it affects FSE themes having pages with sidebars, as that layout is (usually) implemented with the columns block.