How to display a message on login until a user fills out a specific Webform? Relevant modules installed:


Rules.
Webform.
Webform rules.
Conditional rules.
Permissions per Webform.


What I have tried:


Rule 1: activates on user login that displays a system message.
Rule 2: activates on Webform submission with the condition that the Webform's name is the required name. The rule executes PHP code to disable Rule 1 if true.



/**
* Implements hook_update_N().
* Disables name_of_rule rule.
*/
function hook_update_N() {
  $rules_config = rules_config_load('name_of_rule');
  $rules_config-&gt;active = FALSE;
  $rules_config-&gt;save();
}



However, this set of rules is NOT working at the moment.

Concerns: 


If Rule 1 was working, how do I ensure that it permanently disables Rule 1 per user, and not globally? 
Is there a better way to do this?
For example, all I should need is one rule: On user login + if a Webform has not been filled out, display a message. However, I have not been able to find a module that adds the "If Webform has not been filled out" rule.
I think the module you are looking for is 'Rules Webform Submitted'.

This module is similar to Webform Rules in that it supports integration between Webform and Rules, but different in that Webform Rules supports the Event "Webform Submitted", while Rules Webform Submitted provides a Condition which is typically triggered by a Node Event.

So, you can use the event 'On user login' and the condition that 'Rules Webform Submitted' offers to create your rule.