I want to build a conference site and i am using drupal 6. I am thinking of implementing the site as follows:
- Create an author role, for users who will submit their papers
- Create a paper content type that has fields like title, abstract, fullpaper (file upload) etc
- Create a session content type that has fields like date-time, place etc
- Create a reviewer role for users who will review papers and decide if the paper is ok or needs changes by the author.
- After the reviewer has finished with the review the author of the paper has to upload a final fullpaper (filefield) that satisfies the needs for changes
- Create a role for administrator who will assign papers to reviewers and will also assign a paper to a paper session
My first though was to add some new fields to the paper content type. The session field that will be a node reference to a session node, and can only be edited by administrator role, and the review field that can only be edited by the reviewer role.
So i am facing now two issues:
1) How to make a specific node (paper) assigned to a specific reviewer (and not the whole role) so that he can only edit the review field of that node?
2) Is there a way to have the final fullpaper field disabled for author until the reviewer finishes his review?
I would be thankful for any ideas :)
Comments
For 1) use User Reference
For
1) use User Reference (part of CCK) with content_permissions to specify the roles/rights for that field
2) ... I don't think there is an existing module for that, probably yu will have to write your own using http://api.drupal.org/api/function/hook_form_alter/6
Thanks for the reply. I think
Thanks for the reply. I think i did not quite got your first idea (no1)
I have a content type paper. A user with author role creates a paper. I have a field session that only administrators can edit (with content permissions) so that they can place the paper into a session. I also have a field review which i want only a specific user to be able to edit it.
If i understood you right you propose to make another field (for example reviewer) which will be a user reference to users with the reviewer role. How can i use content permissions to set that user who is referenced to be the only one able to edit the field review for that paper?
Do i make sense?
_
For #1 i would try the http://drupal.org/project/nodeaccess_userreference module. I haven't tried it yet, but it looks like exactly what you need. Another possibility for user-level access control is the http://drupal.org/project/content_access.
For #2 I would look at using the http://drupal.org/project/rules module. Set the default permission for that field to read only, then use rules to enable it again/add edit permissions.
Thanks! I think that the
Thanks! I think that the http://drupal.org/project/nodeaccess_userreference module and the http://drupal.org/project/rules are just what i was looking for! I'll try them and let you know