2

I need to create a form in which some fields auto-populate with the values submitted on other users' forms. Specifically, the manager has to submit a form documenting the progress of projects a, b, and c. However, the manager needs the option to ask another staffer to complete a form for one of the projects. So when the staffer submits the form, their value of textarea field "Project B Status" autopopulates into the field "Project B Status" on the manager's form. The manager can then edit staffer's text if necessary and submit the final report.

I have tried doing this using both WebForms and EntityForms and have tried using Rules to autopopulate. I cannot get it to work right, but before I continue I would like to know if these are the best modules to use or if I am doing something wrong (as I am fairly new to Drupal).

Many of the answers I have seen on this issue involve editing the actual php, which I would prefer not to do at this point (but will if someone can tell me specifically what to do).

1 Answer 1

0

If I were to approach the problem, each project would be a node.

  • First install the Field Collection (documentation) and Field Permission modules.

  • Create a new Content Type (admin/structure/types/add) and call it Project.

  • Assign the fields you want filled in (admin/structure/types/manage/project/fields).

  • Add an additional field called Project Status of type "Field Collection" and choose "Embedded" as the widget type. Click save, leave Hide blank items checked on the next page, then click save again.

  • Go to the Field Collections page (admin/structure/field-collections). You'll see your new Project Status field listed. Click "Manage fields" and add your subform fields here.

  • At this point, your manager should be able to create new Project nodes, and the Project Status field will hold the additional information. You'll need to set up the field permissions so that the staffer role can only edit the Project Status field.

    Back on your node fields page (admin/structure/types/manage/project/fields) edit each field. Near the bottom of each field's settings, look for the Field visibility and permissions section. Choose the Custom permissions radio button and look at the settings available. For your project, you want to allow your staffer role the ability to edit anyone's value for the Project Status field, but none of the other fields.

  • Remember to also set permissions to allow the manager role to create Project nodes, and the staffer role to edit Project nodes (admin/people/permissions#module-node).

As an added bonus, you can set the field settings for the Project Status field to allow an unlimited number of values. This would allow for updated status as the project progresses. YMMV of course.

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.