-
Notifications
You must be signed in to change notification settings - Fork 62
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
Adds heartbeat ajax functions from gf, Fixes enqueue issue and Fixes … #2242
base: develop
Are you sure you want to change the base?
Adds heartbeat ajax functions from gf, Fixes enqueue issue and Fixes … #2242
Conversation
…Modal issue in frontend
@Mwalek, please test. |
@mrcasual @omarkasem I noticed the following:
Summary
|
@Mwalek Both issues are solved. |
@omarkasem thank you! I confirmed that the 2 issues are solved. The lightbox issue should not necessarily be fixed. I didn't face any other issues during tests 👌 cc. @mrcasual |
} | ||
|
||
protected function check_lock_request( $object_id ) { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@omarkasem, please do not add line breaks. We keep repeating asking this in almost every PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mrcasual Thanks for the reminder but I copied the functions from the gf-locking class like the rest of the file was, I was just trying to stay consistent with the styling in the same file
|
||
public function heartbeat_refresh_lock( $response, $data, $screen_id ) { | ||
$heartbeat_key = 'gform-refresh-lock-entry'; | ||
if ( array_key_exists( $heartbeat_key, $data ) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@omarkasem, please exit early.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mrcasual 90% of our class is copied from the gf-locking class as we depend on it's functions in everything in this locking feature, Should we change their functions or keep it as it is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@omarkasem, that's fine, thanks for the context. Perhaps adding a @since
and @see
tags would help explain things for someone lacking such context.
|
||
public function heartbeat_request_lock( $response, $data, $screen_id ) { | ||
$heartbeat_key = 'gform-request-lock-entry'; | ||
if ( array_key_exists( $heartbeat_key, $data ) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@omarkasem, please exit early.
|
||
$object_id = $received['objectID']; | ||
|
||
if ( ( $user_id = $this->check_lock( $object_id ) ) && ( $user = get_userdata( $user_id ) ) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@omarkasem, please avoid using inline assignments as they make code harder to read.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mrcasual Thanks for the note and I totally agree with the point, It's just copied as mentioned before and I tried to not change anything so we stay consistent with the gf locking class
@mrcasual the only thing missing in this PR is supporting the edit lock functionality inside a lightbox. Can you help Omar with the steps necessary? |
@rafaehlers, is this a must-have feature? |
Well, I think it is a must-have because the Edit Locking option doesn't specify where this happens or not, so they'll assume it's everywhere: Let's not get lazy here. |
GFLocking
class#wpwrap
which exists in dashboardcheck_user_cap_edit_entry
where it's called using heartbeat ajax functions and the issue is we can't pass $view_id to make sure theuser_edit
option exist as it happens in gf locking script, So i fixed it in a way that won't affect any other requests other than ajax requests💾 Build file (ad1088d).