2

Based on couple of features I require to restrict/disable access to certain field based on other fields while editing the node.

The problem is that in Rules module, there's no "While editing an existing node" event.

What I want is to set an action for the user while editing the node.

7
  • why you don't try it programmatically?
    – Yuseferi
    Commented Aug 24, 2014 at 12:30
  • I'm not a programmer :(
    – Sohail
    Commented Aug 24, 2014 at 12:35
  • don't worry "dadash" ;) tell me exactly what you want to do?
    – Yuseferi
    Commented Aug 24, 2014 at 12:37
  • Well I'm working on a workflow system for managing an article submission contest, I need to disable the access to a file field and enable access to another file field after a certain state transition of workflow. So this is basically what I need: If the current state of node is "approved", then disable access to field "summary_article" for instance. thanks "dadash"
    – Sohail
    Commented Aug 24, 2014 at 12:44
  • and since you are going to do my job, take a look at here: api.drupalhelp.net/api/workflow/workflow.module/function/…
    – Sohail
    Commented Aug 24, 2014 at 12:47

1 Answer 1

2

You're right, there is no such event like "While editing an existing node". Probably because an event is something that takes like a fraction of a second, while editing may take minutes (hopefully not hours!).

However, you might get it to work by implementing an "edit-in-progress" (= EIP) feature using the Flag module, combined with using the Rules module. Similar to what I described in my answer to "Can the Flag module be used to lock content while editing to prevent concurrent edits?" (BTW, that question is a variation of yours, I don't think it's a duplicate though ...).

After you'd have such EIP-flag available, it should be straight forward to use it in appropriate Rules to "restrict/disable access to certain fields" (eg based on a data comparison to validate selected field values (using their before and after save values).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.