1

Title might not be very clear. But to clarify my question, I'll take example of a Book Content Type.

I've 3 different types of users: Authors, Reviewers, Admin. Now this is what I want to achieve:

On the Book Page [a display which is shown to even unauthenticated user], Registered Reviewer submits a review for a book which should appear in Approve Reviews page of Admin, When the admin approves it should Appear in respective Author's Reviews for my books page and when finally the Author approves, it should be displayed on the Book Page.

And the reviewer must have a Submitted Reviews page which should list all the reviews he submitted each showing its present status like:

"Waiting for Admin's Approval", "Waiting for Author's Approval", "Approved"

I don't know how to achieve this.

1

What you are talking is called a workflow. For Review content-type you need to setup a workflow. You can use workflow module for that. It needs a bit of training. Search Google/Youtube for "Workflow module drupal"

1

There are many ways to accomplish this but here's one:

  1. create content type Book
  2. create content type Review
  3. add a custom status field to Review (select list) and add the three states (admin approval, author approval, approved)
  4. download and enable references module (also enable submodule node reference)
  5. download and enable rules module (also enable rules ui submodule)
  6. add a node reference field to Review (e.g. autocomplete widget)
  7. create roles admin_reviews, author, reviewer
  8. create view lists for reviews content and set permissions per role for admin_reviews, author and reviewer pages. Filter on field status of review for each role
  9. use field permissions module to show / hide fields per role
    1. create rules to set status of review (After saving new content -> set data value)
  • Wow! thanks a ton. I'll try this out and post the status but for learning purposes, if its not too much to ask, could you kindly point out other ways of accomplishing? – claws Jan 27 '14 at 19:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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