I am trying to create 3 forms, 2 of them should be made into blocks to show on specific content types. One for anon users and another for logged in users. The other is just a site wide contact form replacement for core Contact.
Anonymous Contact Form: Name, Email, Entity Reference to Content, Message
Logged In Contact Form: Entity Reference to Content, Message (Pull username and email from account)
Site Wide Contact: Name, Email, Message, Term Reference to Category
The Entity reference is important since I will be pulling data from it to populate the email message (like nid, author, etc...)
When a user submits the non-site wide contact forms, Rules should be able to pull the data from the form and send an email to the node author.
Views Contact Form/Core Contact: Can't add entity reference fields (or any fields) to it to link form submissions to content.
EntityForms: Creating forms is easy, but the notification part is convoluted at best with complex but somehow simple data selectors (raw output?) for Rules. Also, the token support is spotty at best (or so I have come across). The prepopulate part worked perfectly, but can't seem to figure out if it is possible to send email based on an Email field or get entity reference tokens like [entityform:field_reference:author:mail]. Doesn't seem to work in Eforms.
Webform: Can't get fields to prepopulate and hide/disable.
Custom: Thinking about just doing this. But I am unsure as to how I can add a entity reference field to a custom (non UI) created form and hide the form.
Can anyone recommend the best solution or at least which module is capable of what I need?