Just curious if Rules support is in the works anywhere.

Possible Conditions:
* Is Masquerading?

Possible Events:
* Began Masquerade-ing
* Stopped Masquerade-ing

Possible Actions:
* Start Masquerade-ing
* Stop Masquerade-ing
* Stop All Masquerade-ing

Comments

robertstaddon’s picture

This would be an extremely valuable feature to add!

wjaspers’s picture

Status: Active » Closed (duplicate)

This request would depend on:
#1458418: Add masquerade events API

And therefore, this request had already been moved to (somehow I forgot about this post):
#1458334: Add Rules support

deekayen’s picture

I don't think we need an events API to support Rules. Rules is popular enough to get bumped ahead of a generic API integration if someone submitted a patch for it.

wjaspers’s picture

Then, for example, the implementation of capturing when a user is about to masquerade would be:

if (module_exists('rules')) {
  // rules_invoke_event(<event_id>, <current_user>, <new_user>)
  rules_invoke_event('masquerade_X', $user, $account);
}

I thought initially about going down this road, but it feels too tightly coupled.

Plus, in further thought, we could let other modules stop the masquerade based on custom requirements.

$roll_with_it = TRUE;
if (module_exists('rules')) {
  // rules_invoke_event(<event_id>, <current_user>, <new_user>, <permit_masquerade>)
  rules_invoke_event('masquerade_X', $user, $account, $roll_with_it);
}
if (!$roll_with_it) {
  // Do something to let the user know the masquerade wasn't permitted.
}
andypost’s picture

Status: Closed (duplicate) » Active

let's continue in this issue, marked as dumplicated #1458334: Add Rules support

suppose we just need to implement support in masquerade.rules.inc

citricguy’s picture

Where should development of this feature continue? It seems like both the Masquerade and Masquerade Extras projects are assuming the other will implement the feature. This seems has been closed in the Masquerade Extras project and marked as a duplicate of this issue.

wjaspers’s picture

@citricguy
That's not quite the case.
The Masquerade module needs to fire the basic hooks necessary for rules to work. Otherwise, the rest of this is not possible.
(For example: module_invoke("masquerade_start")). This thread already suggests the basics for what would be required. #1547058: Add hooks when user starts or stops masquerading

My original suggestion was wrong because rules integration would be coupled to masquerade with hooks specific to rules.
All masquerade_extras would supply is the hooks/events that would be useful to rules.

Whether or not Masquerade's maintainers want that integration in this suite or elsewhere is up to them.

deekayen’s picture

Issue summary: View changes

I would commit a working patch for this.

ressa’s picture

Status: Active » Closed (outdated)

Thanks for working on this. In an attempt to help the maintainers, I am going through some of the Drupal 7 issues, and closing them, since Drupal 7 is EOL.

Maintainers should grant credit for the great work to the relevant users, even if the patch did not get committed: https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquett....

Since Drupal 7 is EOL, we can probably close this issue, but feel free to re-open if this is still relevant, and we should consider adding this to the Drupal 11 version?

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.