Maybe is better that I send you 2 of the original rules in Drupal 7:
{ “rules_set_in_preparation” : {
“LABEL” : “Set In Preparation”,
“PLUGIN” : “reaction rule”,
“WEIGHT” : “5”,
“OWNER” : “rules”,
“TAGS” : [ “conditions”, “status” ],
“REQUIRES” : [ “rules” ],
“ON” : { “node_presave–cv_project_new_template” : { “bundle” : “cv_project_new_template” } },
“IF” : [
{ “OR” : [
{ “data_is” : { “data” : [ “node:field-cv-cl-start-” ], “value” : “2” } },
{ “data_is” : { “data” : [ “node:field-cv-cl-start-” ], “value” : “1” } }
]
},
{ “NOT AND” : [
{ “data_is” : { “data” : [ “node:field-en-ice-start-design-and-co” ], “value” : “2” } }
]
}
],
“DO” : [
{ “data_set” : { “data” : [ “node:field-conditional-status” ], “value” : “2” } },
{ “drupal_message” : { “message” : “The Status of the project [node:title] was set as IN PREPARATION” } }
]
}
}
{ “rules_set_development” : {
“LABEL” : “Set Development”,
“PLUGIN” : “reaction rule”,
“WEIGHT” : “4”,
“OWNER” : “rules”,
“TAGS” : [ “conditions”, “status” ],
“REQUIRES” : [ “rules” ],
“ON” : { “node_presave–cv_project_new_template” : { “bundle” : “cv_project_new_template” } },
“IF” : [
{ “data_is” : { “data” : [ “node:field-cv-cl-start-” ], “value” : “2” } },
{ “data_is” : { “data” : [ “node:field-en-ice-start-design-and-co” ], “value” : “2” } },
{ “NOT OR” : [
{ “data_is” : { “data” : [ “node:field-i-o-tests-in-situ-by-cv-cl” ], “value” : “2” } },
{ “data_is” : { “data” : [ “node:field-i-o-tests-in-situ-by-cv-cl” ], “value” : “1” } },
{ “data_is” : { “data” : [ “node:field-i-o-tests-in-situ-by-cv-cl” ], “value” : “3” } }
]
}
],
“DO” : [
{ “data_set” : { “data” : [ “node:field-conditional-status” ], “value” : “3” } },
{ “drupal_message” : { “message” : “The Status of the project [node:title] was set as DEVELOPMENT” } }
]
}
}
If you see the form, the field status (it is normally a hidden field), takes its value depending on other fields in the form (data gathering, specification, …)
This could be implemented probably using some js and DOM but I’d prefer to use a predefined module.
Thanks